An Open Source community
behind your firewall -
improving developer
productivity with InnerSource
Christopher Harrison
Enterprise Advocate, GitHub
@GeekTrainer
August 2022
©2022 F5
2
What is InnerSource?
©2022 F5
3
•InnerSource is applying the learnings and methodologies from
Open Source to internal development
•InnerSource encourages developer contributions, promotes
sharing of resources, and enhances productivity
What is InnerSource? Why InnerSource?
©2022 F5
4
Let’s explore three key
components of InnerSource
Default to open repositories
Instant messaging does not mean instant replies
PR the change you want to see
©2022 F5
5
Default to open repositories
©2022 F5
6
Default to open repositories
Repositories scoped to a single
team are only accessible to a
single team, limiting contributions
and reuse
After all, it’s hard for the public to
contribute to a private repository
By making repositories open by
default you allow your developers
to discover useful packages and
solutions, reuse code, and
contribute to related projects
The Open Source approach
Naturally open and
public
A common problem
Private repositories are
inherently limiting
The InnerSource solution
Default to open
repositories
©2022 F5
7
Instant messaging does not mean instant replies
©2022 F5
8
Instant messaging does not mean instant replies
It takes a developer 23 minutes to
get back into the groove.
(2008 conference on Human Factors in Computing Systems)
With a diverse set of contributors
(geographically and otherwise),
working asynchronously reduces
blockers.
Default to asynchronous
communications. Automate tasks
to help developers stay in the
groove.
The Open Source approach
Development is
asynchronous
A common problem
Once the flow is gone,
it’s gone
The InnerSource solution
Reduce blockers and
work asynchronously
©2022 F5
9
PR the change you want to see
©2022 F5
10
PR the change you want to see
Different teams have different sets
of requirements and needs.
Allowing others to submit PRs
increases feature sets and
enhances reuse.
Public contributions are the
lifeblood of Open Source projects.
Many OSS projects have issue
flags to encourage new
contributors. Not all PRs are
merged.
Advance from filing an issue to
submitting a PR. Foster a culture
where PRs are commonplace. It’s
OK to not accept a PR.
The Open Source approach
Encourage
contributions
A common problem
Teams get tunnel
vision
The InnerSource solution
Everyone owns the
code
©2022 F5
11 ©2022 F5
11
We see innersource as a way to improve efficiency through
code reuse. But even beyond that, it's an amazing conduit
for learning and exchanging ideas and facilitating innovation
within IBM.
— Jeff Jagoda, Senior Software Engineer, IBM
InnerSource encourages
developers to be developers,
and to be better developers
©2022 F5
12
Learn more about InnerSource
https://resources.github.com/innersource/fundamentals/
An Open Source Community Behind Your Firewall – Improving Developer Productivity with InnerSource

An Open Source Community Behind Your Firewall – Improving Developer Productivity with InnerSource

  • 1.
    An Open Sourcecommunity behind your firewall - improving developer productivity with InnerSource Christopher Harrison Enterprise Advocate, GitHub @GeekTrainer August 2022
  • 2.
    ©2022 F5 2 What isInnerSource?
  • 3.
    ©2022 F5 3 •InnerSource isapplying the learnings and methodologies from Open Source to internal development •InnerSource encourages developer contributions, promotes sharing of resources, and enhances productivity What is InnerSource? Why InnerSource?
  • 4.
    ©2022 F5 4 Let’s explorethree key components of InnerSource Default to open repositories Instant messaging does not mean instant replies PR the change you want to see
  • 5.
    ©2022 F5 5 Default toopen repositories
  • 6.
    ©2022 F5 6 Default toopen repositories Repositories scoped to a single team are only accessible to a single team, limiting contributions and reuse After all, it’s hard for the public to contribute to a private repository By making repositories open by default you allow your developers to discover useful packages and solutions, reuse code, and contribute to related projects The Open Source approach Naturally open and public A common problem Private repositories are inherently limiting The InnerSource solution Default to open repositories
  • 7.
    ©2022 F5 7 Instant messagingdoes not mean instant replies
  • 8.
    ©2022 F5 8 Instant messagingdoes not mean instant replies It takes a developer 23 minutes to get back into the groove. (2008 conference on Human Factors in Computing Systems) With a diverse set of contributors (geographically and otherwise), working asynchronously reduces blockers. Default to asynchronous communications. Automate tasks to help developers stay in the groove. The Open Source approach Development is asynchronous A common problem Once the flow is gone, it’s gone The InnerSource solution Reduce blockers and work asynchronously
  • 9.
    ©2022 F5 9 PR thechange you want to see
  • 10.
    ©2022 F5 10 PR thechange you want to see Different teams have different sets of requirements and needs. Allowing others to submit PRs increases feature sets and enhances reuse. Public contributions are the lifeblood of Open Source projects. Many OSS projects have issue flags to encourage new contributors. Not all PRs are merged. Advance from filing an issue to submitting a PR. Foster a culture where PRs are commonplace. It’s OK to not accept a PR. The Open Source approach Encourage contributions A common problem Teams get tunnel vision The InnerSource solution Everyone owns the code
  • 11.
    ©2022 F5 11 ©2022F5 11 We see innersource as a way to improve efficiency through code reuse. But even beyond that, it's an amazing conduit for learning and exchanging ideas and facilitating innovation within IBM. — Jeff Jagoda, Senior Software Engineer, IBM InnerSource encourages developers to be developers, and to be better developers
  • 12.
    ©2022 F5 12 Learn moreabout InnerSource https://resources.github.com/innersource/fundamentals/

Editor's Notes

  • #3 There’s a time to work synchronously, and a time to work asynchronously. The more developers are able to work asynchronously, the more they’re able to focus, the better
  • #8 There’s a time to work synchronously, and a time to work asynchronously. The more developers are able to work asynchronously, the more they’re able to focus, the better