Slide 1

Slide 1 text

Yuki Hattori (@yuhattor) Customer Success Architect at GitHub Board Member at the InnerSource Commons Foundation Sept 10, 2023 InnerSource Co-creation of software engineers

Slide 2

Slide 2 text

Agenda 1. DevOps and InnerSource 2. The value of InnerSource 3. InnerSource and Developer Experience

Slide 3

Slide 3 text

What’s DevOps? "DevOps is about collaboration between development and operations teams" "DevOps is about dealing withIaC." "DevOps is about automation" “DevOps is Kanban for Ops…?” “DevOps is about repeating small deployments”

Slide 4

Slide 4 text

What’s DevOps, really? https://www.linkedin.com/posts/patrickdebois_my-current-definition-of-devops-everything-activity-6755909565658746880-odKR/

Slide 5

Slide 5 text

Five areas that DevOps addresses • Reduce organizational silos • Accept failure as normal • Implement gradual change • Leverage tooling and automation • Measure everything

Slide 6

Slide 6 text

But what you actually see all the time is ...... • Product oriented lifecycle • Cloud Architecture for the specific product / project • Organizational design closed to Dev and Ops contexts

Slide 7

Slide 7 text

And what you always hear is ...... Let’s reduce the organizational silos!

Slide 8

Slide 8 text

Now, the question is "How to break down organizational silos at the enterprise level?"

Slide 9

Slide 9 text

What happens: Trying to innovate in Dejima 出島 Dejima (出島) was an artificial island created exclusively to receive and host European traders in 17th-Century Edo Period Japan in accordance with the shogunate's strict foreign policies.

Slide 10

Slide 10 text

What happens: Dejima (出島) Dejima (出島) was an artificial island created exclusively to receive and host European traders in 17th-Century Edo Period Japan in accordance with the shogunate's strict foreign policies. You can trade here You cannot

Slide 11

Slide 11 text

What happens: Dejima (出島) You can do DevOps Agile / Scrum You cannot Because of infinite reasons.

Slide 12

Slide 12 text

What happens: Trying to innovate in Dejima 出島 You can do DevOps Agile / Scrum You cannot Because of infinite reasons. You can You cannot

Slide 13

Slide 13 text

The results You can You cannot We are doing DevOps Still Bad Developer Experience

Slide 14

Slide 14 text

DevOps is great, but to achieve enterprise-level co- creation, we need something that can be enjoyed across the enterprise

Slide 15

Slide 15 text

What is InnerSource? InnerSource is the application of open source principles to company-internal software development

Slide 16

Slide 16 text

InnerSource connects teams and code on an enterprise-wide scale DevOps DevOps DevOps Waterfall DevOps Kanban

Slide 17

Slide 17 text

InnerSource is the core of the modern collaboration XP Collective Ownership DevOps Reduce organizational silos Team Topologies Collaboration across teams/ departments. InnerSource Platform Engineering Don't reinvent the wheel

Slide 18

Slide 18 text

It’s NOT just about doing open source practices InnerSource is a journey to culturally transform towards an internal sharing economy similar to open source, while respecting corporate culture and internal organizational constraints, and breaking down organizational silos.

Slide 19

Slide 19 text

The InnerSource Commons Foundation InnerSource Commons is the world's largest community of InnerSource practitioners. It is dedicated to creating and sharing knowledge about InnerSource, the use of open source best practices for software development within the confines of an organization. Founded in 2015, the InnerSource Commons is now supporting and connecting over 2500 individuals from over 750 companies, academic institutions, and government agencies.

Slide 20

Slide 20 text

InnerSource in Action

Slide 21

Slide 21 text

Share and embed sources of competitiveness The “openness” of the project extends across many teams within the organization. This allows the organization to embed differentiating trade secrets into the code without fear that they will be revealed to outsiders, while benefitting from the creativity and diverse perspectives contributed by people throughout the organization. From “Getting Started with InnerSource” by Andy Oram, an editor for O'Reilly Media

Slide 22

Slide 22 text

InnerSource Principles Openness - Open projects must be sufficiently documented and discoverable by placing a README.md file and a CONTRIBUTING.md file at the top of the repository. Transparency - The direction of the project/repository, unresolved feature requirements, progress on feature requirements, and decisions of the host team are made transparent. Prioritized Mentorship - With prioritized mentorship from the host team to the guest team by Trusted Committers, contributors from the guest team are leveled up to fully understand and make changes to the host team's project/repository. Voluntary Code Contribution - Participation in InnerSource from both the guest team and host team is done based on their free will.

Slide 23

Slide 23 text

InnerSource Practices InnerSource with GitHub Appendix

Slide 24

Slide 24 text

Best Practices - InnerSource Patterns Create a participatory system throughout the software lifecycle and publish design documents to facilitate early discussions. 30 Day Warranty Contracted Contributor InnerSource License Base Documentation InnerSource Portal Design Document Guiding Principles Trusted Committer Improve trust between the two teams by allowing contributors to fix bugs and suggest features with 30 days of support. Encourage contributions to InnerSource through formal contracts and agreements within the organization, rather than as volunteers. Provide a legal framework for sharing source code within an organization and offer new collaboration options. Index InnerSource project information to make it easier for contributors to discover projects of interest. Define ways to recognize ongoing contributor work. Provide standard project documentation and a self-service process for new contributors. Document and make widely available the key principles of InnerSource. Patterns Short Description

Slide 25

Slide 25 text

InnerSource Patterns https://patterns.innersourcecommons.org/

Slide 26

Slide 26 text

InnerSource Patterns https://patterns.innersourcecommons.org/

Slide 27

Slide 27 text

InnerSource Patterns https://patterns.innersourcecommons.org/

Slide 28

Slide 28 text

InnerSource Program Office - ISPO The InnerSource Program Office (ISPO) provides the means and environment to realize InnerSource within the organization. While the program office promotes development, it is not a development department or a gatekeeper. Main responsibility: • Sharing of InnerSource policies • Measuring InnerSource Metrics (eg. # of PR across teams) • Conducting mentoring/training • Developing incentive models • Ensuring appropriate tooling PR Cross Team PR % Q1 FY19 852k 37k 5.6% Q2 FY19 810k 35k 4.2% Q3 FY19 912K 39k 4.8% Q4 FY19 1.0M 46k 4.1% Q1 FY20 1.2M 43k 3.6% * The above is an example from Microsoft.

Slide 29

Slide 29 text

Customer Stories InnerSource with GitHub Appendix

Slide 30

Slide 30 text

The InnerSource initiative thus became the key point. We made efforts to change the way of thinking and ideas by code sharing using GitHub Appendix / Customer Stories Tomohisa Handa / Manager, Agile Development

Slide 31

Slide 31 text

They can make suggestions and adopt a style of working that’s more open and fits their needs Appendix / Customer Stories Tom Erickson / Supervisor of Global Software Tools and Processes

Slide 32

Slide 32 text

3M uses GitHub to drive innersource initiatives, eliminate duplicative efforts, tap the organization’s collective knowledge, and collaborate across teams to improve software. Appendix / Customer Stories Paul Pottorff / Cloud and Security Architect

Slide 33

Slide 33 text

Having everyone together on the GitHub platform is a great advantage for InnerSource. Wolfgang Gehring / FOSS Ambassador Appendix / Customer Stories

Slide 34

Slide 34 text

What do companies want? Talent attraction and retention Companies now need to place more emphasis on the Developer Experience. Productivity and cost savings Consistency and quality Security and compliance. Speed. * “Why your IT organization should prioritize developer experience” by McKinsey https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/tech-forward/why-your-it-organization-should-prioritize-developer-experience

Slide 35

Slide 35 text

Sometimes, only the collaboration model aspect is extracted https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/tech-forward/why- your-it-organization-should-prioritize-developer-experience

Slide 36

Slide 36 text

Share and embed sources of competitiveness The “openness” of the project extends across many teams within the organization. This allows the organization to embed differentiating trade secrets into the code without fear that they will be revealed to outsiders, while benefitting from the creativity and diverse perspectives contributed by people throughout the organization. From “Getting Started with InnerSource” by Andy Oram, an editor for O'Reilly Media

Slide 37

Slide 37 text

People-oriented vs. Product-oriented Mixing two different purposes “InnerSource” in context leads to misunderstandings and creates friction. Basically, both can be achieved, but know that there are different balances for different purposes. InnerSource for Developer Experience to maximize the value of the people & teams InnerSource as a Competitive Strategy to maximize the value of the product and IP vs

Slide 38

Slide 38 text

Which is your priority? InnerSource for DevEx: • Transparent and collaborative culture • Improve skill levels through sharing • Employee satisfaction • Production Cost Reduction by preventing reinvention of the wheel InnerSource as a Competitive Strategy: • New value or innovation through co-creation • Quality improvement through sharing • Synergy between products through team collaboration • Production cost reduction by preventing reinvention of the wheel

Slide 39

Slide 39 text

Potential blockers InnerSource for DevEx: Measurements: Developer Efficiency and Happiness • Fewer legal, tax, and accounting issues • The product itself is not considered of much value • Hard to measure the impact Project examples: Documentation, Templates, Shared libraries, Internal tools, SDK, API, Hackathon projects InnerSource as a Competitive Strategy: Measurements: Value Added • Legal, tax, and accounting issues are very complex • Clearly trying to share "product and technology value,” which of course brings its own set of problems • Middle management unwilling to allow employees to contribute (=provide the value) beyond the team Project examples: Patented Technology, Technologies related to Intellectual Property, Competitive advantage product itself)

Slide 40

Slide 40 text

R&D Entries One-way sharing The team simply shares the completed components. Collaboration between specific teams The team receives contributions Autonomous collaboration with various teams The team receives contributions widely within the organization Considerations for Each Type and the Respective Evolutionary Paths Apply IT Asset Management best practices to share "software" items in the accounting entries. Establish labor management and sharing rules for each team for Components of the R&D phase (that are not "software" in the accounting entries) Software Entries Established sharing rules for consolidated accounting Establishes rules for transfer pricing taxation Coordinate by discussing in advance how the cost center will be managed Create a template as an InnerSource License so that collaboration can easily occur Organize the organizational view of the InnerSource rules on transfer pricing taxation Since the scope of sharing in a particular project is limited, it may be sufficient to work with the accounting department. Innersource Program Offifce will assist in turning examples into an innersource license and develop an official corporate license Model collaboration as an InnerSource License, so that cost centers and shared rules do not have to be conversed with each team every time. Take into account IP usage rules and usage restrictions, as well as black- boxing of reusable portions. Set rules for IP sharing Develop rules and best practices for sharing limited portions of IP (that hide valuable and patent-related portions of IP, such as sharing only interfaces such as usage SDKs and libraries) Organize the company's view of the InnerSource rules on transfer pricing taxation and prepare internal documents. At this time, there is a possibility that the software could be shippable as a category of software or could be considered as "just labor being provided" to the core hosting company [WIP] More sorting out is needed here Further steps of collaboration are necessary when seeking autonomous and flexible sharing of items beyond internal black boxing, such as sharing only the SDK, or redefining the scope of shared items by splitting the architecture. For example, it is necessary to define a mechanism for selling the developed items to the company or other companies, such as a joint venture. Note: This documentation does not represent a formal GitHub / InnerSource Commons Foundation position based on accounting, tax, or legal considerations. It is a list of items for each of the considerations as a starting point for discussion of the technical InnerSource adoption in the company. 42 Single Legal Entity Collaboration Within the Group International collaboration Collaboration With External Companies

Slide 41

Slide 41 text

R&D Entries One-way sharing The team simply shares the completed components. Collaboration between specific teams The team receives contributions Autonomous collaboration with various teams The team receives contributions widely within the organization Considerations for Each Type and the Respective Evolutionary Paths Apply IT Asset Management best practices to share "software" items in the accounting entries. Establish labor management and sharing rules for each team for Components of the R&D phase (that are not "software" in the accounting entries) Software Entries Established sharing rules for consolidated accounting Establishes rules for transfer pricing taxation Coordinate by discussing in advance how the cost center will be managed Create a template as an InnerSource License so that collaboration can easily occur Organize the organizational view of the InnerSource rules on transfer pricing taxation Since the scope of sharing in a particular project is limited, it may be sufficient to work with the accounting department. Innersource Program Offifce will assist in turning examples into an innersource license and develop an official corporate license Model collaboration as an InnerSource License, so that cost centers and shared rules do not have to be conversed with each team every time. Take into account IP usage rules and usage restrictions, as well as black- boxing of reusable portions. Set rules for IP sharing Develop rules and best practices for sharing limited portions of IP (that hide valuable and patent-related portions of IP, such as sharing only interfaces such as usage SDKs and libraries) Organize the company's view of the InnerSource rules on transfer pricing taxation and prepare internal documents. At this time, there is a possibility that the software could be shippable as a category of software or could be considered as "just labor being provided" to the core hosting company [WIP] More sorting out is needed here Further steps of collaboration are necessary when seeking autonomous and flexible sharing of items beyond internal black boxing, such as sharing only the SDK, or redefining the scope of shared items by splitting the architecture. For example, it is necessary to define a mechanism for selling the developed items to the company or other companies, such as a joint venture. 43 Single Legal Entity Collaboration Within the Group International collaboration Collaboration With External Companies

Slide 42

Slide 42 text

Don't be fundamentalist: Which is InnerSource and which is not? Premise: Basically, you are allowed to collaborate if you wantso • In a 100-person company, everyone is collaborating at the Enterprise level in an internal-type repository at GitHub. • In a 2000-person company, 300 people are collaborating within the one single GitHub organization. But not all users of GitHub Enterprise have access to the codebase. • In a 5000-person company, 5 units, 1400 people are collaborating in a single closed repository in InnerSource way

Slide 43

Slide 43 text

Key Takeaways • The InnerSource can be perceived in many different ways by different people • Don’t only be a Product-oriented or People-oriented thinker, Draw the holistic roadmap and prioritize what you want as an organization • Don't be a fundamentalist, be Flexible and get start with Innersource These will reduce friction, and achieve competitive advantage and the great Developer Experience at the same time.

Slide 44

Slide 44 text

Resources GitHub Enterprise Platform Appendix

Slide 45

Slide 45 text

Resources gh.io/innersource

Slide 46

Slide 46 text

Resources gh.io/innersource/blog

Slide 47

Slide 47 text

Resources innersourcecommons.org

Slide 48

Slide 48 text

Resources Recommended free book. innersourcecommons.org/learn/books/

Slide 49

Slide 49 text

No content