Ready for InnerSource? The InnerSource Laundry List will tell you
Implementing InnerSource, the practice of applying the open-source working model and collaboration culture within a company, can significantly benefit organizations. It fosters collaboration, code reuse, and innovation as well as increases code quality and overall development efficiency. An introduction regarding the purpose of InnerSource and Bosch’s journey was delivered by the article “The Rise of InnerSource” and also published in Chapter 4 of the free online book “Adopting InnerSource”.
But where to start? What areas should be covered? Who should be involved? These were the questions when Bosch started its InnerSource journey 16 years ago. Since then, Bosch has gained significant experience and shared its key learnings with the InnerSource Commons community – and so did other companies who started their InnerSource journey. Enter the “InnerSource Laundry List”, a comprehensive overview, outlining key areas to be addressed when starting and running an InnerSource initiative, based on own learnings and that of others. Bosch would have greatly benefited from such a comprehensive list at the outset of its journey.
Paving the way for a successful InnerSource initiative involves way more than providing the right platforms and building a community. The laundry list reflects that, and categorizes common elements of successful InnerSource initiatives into four areas:
- Technical: Providing foundational infrastructure
- Social: Building a InnerSource community and involving stakeholders
- Organizational: Elements needed for smoothly running the InnerSource initiative in the organization
- Legal: Clear rules for collaborating across different parts of the enterprise reflecting external regulation
The following table outlines the elements in each of the four categories.
| Technical | Social | Organizational | Legal |
|---|---|---|---|
|
Technical
Collaboration Platform:
Provide a central hub for developers to share, discover, and collaborate on code, and to organize projects. In addition to Git hosting platforms, a developer portal can come in handy. |
Social
Developer Outreach:
Engage your developer community to share news and to learn about barriers for InnerSource adoption firsthand. Consider building advocacy groups within your organization, who can help you amplify the InnerSource message and drive cultural change. |
Organizational
ISPO/OSPO: Establish a central group which removes technical, organizational, or legal barriers for the InnerSource practice, enables contributors, and drives adoption.
|
Legal
Export Control: Comply with export control regulations when sharing code and collaborating with developers in multiple jurisdictions.
|
|
Technical
(Free) Infrastructure: Provide necessary resources like CI/CD runners, container registries, or static code analysis tools. Providing these for free is a worthwhile incentive and drives adoption.
|
Social
Management Outreach: Secure buy-in from middle management and product owners by demonstrating the business value and aligning InnerSource with organizational goals.
|
Organizational
Stakeholder Management: Identify and engage key stakeholders, understanding their needs, and aligning their interests with InnerSource goals. Do this from the very beginning.
|
Legal
Taxation: Comply with taxation regulations, such as e. g. transfer pricing regulations, when sharing code across legal entity boundaries in your organization.
|
|
Technical
Discoverability: Provide a solution to increase discoverability of your InnerSource assets, such as an InnerSource portal, or an integration with enterprise search. This is key, especially if there are thousands of repositories.
|
Social
Executive Sponsorship: Obtain support from senior leadership to champion the initiative, to drive cultural change (if necessary), and to provide necessary backing and resources.
|
Organizational
Strategy: Anchor InnerSource in your organization’s software development strategy to send a clear signal to the organization and drive adoption.
|
Legal
Licensing: Establish clarity about usage rights for your InnerSource projects.
|
|
Technical
Automations/Workflows: Make the developers and the OSPO’s/ISPO’s life easier by offering automations and tools for manual tasks such as creating, setting up, or linting repos, or approval workflows.
|
Social
Community Management: Cultivate a vibrant community through activities like open hours, events, and regular communication. Ultimately, it is the community that carries an InnerSource program forward.
|
Organizational
Time for Contributions:
Developer time is a precious resource. Make sure developers have enough time to contribute, so that individual projects and the InnerSource program can be sustained. |
Legal
|
|
Technical
Data Collection: Gather metrics to track progress, to identify barriers for InnerSource adoption as well as successes, and to demonstrate the value of InnerSource to your stakeholders. Do this from the very beginning to start with a baseline.
|
Social
Documentation: Create clear guidelines, how-tos, FAQs for contributors and maintainers, and relevant information for your management stakeholders.
|
Organizational
Career Path:
Make sure that time spent contributing to and maintaining InnerSource projects is relevant and ideally incentivized from a career perspective. |
Legal
|
|
Technical
|
Social
|
Organizational
Training: Provide trainings to equip developers and your stakeholders with the knowledge and skills required for a successful and compliant InnerSource program.
|
Legal
|
|
Technical
|
Social
|
Organizational
Policy: Establish clear policies and guidelines for the compliant application of InnerSource.
|
Legal
|
|
Technical
|
Social
|
Organizational
Governance: Implement governance structures to manage risks and ensure the long-term sustainability of the InnerSource program.
|
Legal
|
Beginning with InnerSource doesn't necessitate addressing every item on the list immediately. Prioritization is key. The priority and the order in which an organization tackles the elements in the table are contingent upon its maturity regarding the open-source working model and its predominant development culture. Generally speaking, starting with securing executive sponsorship, establishing a central InnerSource team, addressing potential legal aspects, establishing a collaboration platform, and engaging early adopters is a good idea. The other elements can then be addressed as the initiative progresses.
For organizations with little or no experience with open-source-based collaboration or those that are heavily siloed, the switch to InnerSource may require a substantial cultural shift towards transparency and cross-divisional collaboration. Experience shows that this takes both time and tenacity and requires sustained support by senior management. The recommended strategy is to start by empowering and supporting the organization's early adopters and InnerSource enthusiasts to build momentum and reach critical mass.
InnerSource success neither comes for free, nor does it materialize overnight. That said, the time and effort invested into setting up a successful InnerSource program will pay off. Companies overcoming the initial hurdles cultivate a more open culture, which will lead to increased sharing, reuse, and collaboration as well as increased efficiency and innovation. Developers will grow their personal network and accelerate their personal growth by benefiting from collaboration and expanded learning opportunities. Problems are solved faster with a diverse set of contributors. Projects will be more robust, better documented, and will often be able to increase their software quality.
May the InnerSource be with you!
Georg Grütter, InnerSource Evangelist and Developer at Bosch
Georg Grütter is an InnerSource Evangelist and Developer Advocate. He co-founded and led the first InnerSource community at Bosch in 2009 and drives InnerSource adoption as a member of the Center of Excellence Open and InnerSource at Bosch. Georg also co-founded the InnerSource Commons Foundation in 2020 and actively shares his passion for InnerSource with other developers and companies.