By Clare Dillon, Isabel Drost-Fromm, and Daniel Izquierdo
InnerSource appeared on the 2022 Gartner Hype Cycle for Software Engineering for the first time as an emerging software engineering method or innovation trigger. In recent months, InnerSource has also appeared for the first time on Stack Overflow’s 2022 Developer Survey under “Developer Experience: Processes, tools, and programs within an organization” with over 16% of respondents reporting that their organization had an InnerSource program. Since it was founded in 2015, InnerSource Commons, a global community of InnerSource practitioners, has grown to represent over 500 organizations across the public and private sector. A small sample of those organizations who have spoken publicly about their use of InnerSource is included below (see Figure 1).
But what is InnerSource, and why is this software development method gaining momentum now, twenty-plus years after the phrase was first coined by Tim O’Reilly (the story of which you can find in the introduction to the book Adopting InnerSource available for free on the InnerSource Commons website).
Figure 1. A sample of organisations that have spoken publicly about their use of InnerSource. Source: www.innersourcecommons.org
What is InnerSource?
InnerSource is the use of open source best practices for proprietary software development. Fundamentally the practice of InnerSource enables open collaborative development across team and organizational boundaries. The method can be used as a step on the path to open sourcing software, but is just as often used as a way to break down organizational silos and promote code reuse.
If you’re not familiar with open source methods and practices, here are some of the principles that are core to the practice of InnerSource:
Openness
The fundamental principle of InnerSource is that source code, documentation, data relevant for project development must be available within your organization for individuals to see, modify and use. Great InnerSource practices focus on making it easy to find and contribute to projects usually through excellent documentation and tools that enable project discoverability.
Transparency
In order to effectively enable contributions from outside a project team, that team needs to be transparent about the project, its direction and decision-making practices. Communications around the project are also transparent. Written communication is often prioritized over verbal communication, described as “if it’s not written down, it didn’t happen.” This focus on documentation makes explicit the tacit knowledge within a team that is often not ordinarily captured, but that is essential for the long-term sustainability of projects.
Prioritized Mentorship
Mentorship, in the form of a Trusted Committer role, is provided by the host team or project owners to contributors from outside their team and is a key aspect of InnerSource. Think of Trusted Committers as the people in a community that you trust with important technical decisions and with mentoring contributors to ultimately get contributions over the finish line. Great InnerSource projects prioritize mentorship to guest contributors at the time that the contributor needs it, as opposed to when it is convenient. At times, it may be a significant culture change for engineers to spend time helping others to code rather than just coding themselves. But building a mentorship muscle within an organization is proven to be one of the most valuable outcomes of an InnerSource practice, creating a learning adaptive organization.
Voluntary Contributions
Contributions of source code or other contributions like documentation from outside core project teams should be made and accepted voluntarily. This opt-in nature means that each team needs to be certain that their involvement adds value to the others’ objectives. Never should a core team be required to accept a contribution that isn’t in ultimate alignment with their overall mission. It is noted that agreements can also be made between the host team or project owners and guest contributors to encompass how contributed code is supported and maintained over time.
Why InnerSource is gaining momentum
The latest State of InnerSource report from InnerSource Commons lists some of the benefits associated with the practice of InnerSource:
- Reduced silos and increased collaboration within software development organizations.
- Increased innovation speed by reducing time spent solving similar issues by fostering healthy code reuse.
- Solving project/ team dependencies beyond “wait it out” and “build workarounds”, thereby reducing engineering bottlenecks.
- Increased code and documentation quality.
- Readiness for developers to participate in open source communities.
- Increased employee happiness and staff retention.
The impact of these benefits can be better appreciated in the context of the overall software development landscape. Here are a number of trends happening in the software development world that are converging to lead to InnerSource gaining momentum in recent years:
Remote or hybrid development teams
The COVID-19 pandemic laid waste to the idea that software development has to happen with co-located teams. Now, in order to access or retain the best talent, organizations are being forced to enable remote or hybrid working scenarios for the long term. Drawing on proven methods in the open source community, InnerSource enables remote, asynchronous, collaboration in proprietary software development teams.
Increase in open source engagement and developer productivity
A McKinsey report from 2020 measuring developer velocity identified that the biggest differentiator for top-quartile companies in an industry vertical was “open source adoption” where they shifted from being users to being open source contributors. The report’s data shows that top-quartile company adoption of open source has three times the impact on innovation than other companies in other quartiles. InnerSource has been proven to be a vital step on the path to readiness for open source contributions.
The report also found that building an open source culture is about more than using open source software within the code; it extends to encouraging contribution and participation in the open source community as well as adopting a similar approach to how code is shared internally—that is, strong InnerSource adoption.
Need for rapid innovation while managing tech debt
Software development is an ever more complex endeavor. Large organizations are plagued by having to maintain multiple systems that provide largely the same functionality in different divisions. They are struggling to enable the integrations now needed across disciplines and divisions for modern software systems and services. There are efforts underway in almost every organization to re-architect monolithic applications to deliver a more modular, service-oriented architecture. InnerSource can help by providing clear guidelines and processes for different teams to innovate across multiple projects, products or platforms without burdening central project or product owners with unending feature requests.
The benefits can even go beyond collaborating on source code. In a recent case study, Microsoft Consulting Services described how InnerSource enabled a global community to co-create assets and resources for their DevOps Dojo, allowing them to incorporate customer feedback quickly and effectively propagate improvements to the entire global organization.
War on Talent
The clear trend identified in most “future of work” studies is that there is a requirement now for increased agency and autonomy for people to feel satisfied at work. InnerSource enables software engineers and related roles to work freely across organizational boundaries and deliver business priorities that span divisions and artificially created organizational silos. This is the way of working many of the latest generation of engineers have grown up expecting. InnerSource has been reported to make developers happier by allowing them to “scratch their own itch”, learn from others and create stronger network ties across organizations; all of which help in recruitment, retention, and talent development.
Indeed, InnerSource also provides a homogeneous way of working that also helps reduce the time it takes to onboard new hires to a team.
The InnerSource opportunity
In conclusion, InnerSource is a software development trend that has found its time. If you are interested in building the best possible modern software development teams, that can effectively tackle the emerging challenges in the software development landscape, it’s a trend you can’t ignore.
Before we finish, we wanted to include one final consideration. Hearing about self-motivated teams self-organizing to innovate around customer problems, it’s always tempting to think that enabling InnerSource is just a matter of flipping a switch. You may think we are suggesting that making source code visible in your source control management tool, and declaring that InnerSource is a priority, will unleash a flurry of autonomous creativity. Of course, it is true that enabling inter-team source code contributions can enable unexpected creativity and innovation from highly motivated individuals. However, it is worth emphasizing that achieving effective InnerSource at scale requires investment. Investment is needed in both time and resources at a team level and at an organizational level to deal with any systemic issues that may exist within your organization.
As a result, we are seeing the emergence of InnerSource Program Offices (or ISPOs) within organizations that are responsible for internal education, communication, creating consistent policies, build relevant tooling (e.g. InnerSource portals). We are lucky that many of the organizations who are involved in such efforts are also active in the InnerSource Commons community and are actively sharing their learnings and resources as they go.
Finally, it is good to remember, as one of our community members recently put it, “InnerSource is an opportunity, not a silver bullet.” InnerSource often involves changing behaviors and cultural norms that have been embedded for decades. Effective, sustainable InnerSource programs require constant attention, support, and tending if they are to result in lasting cultural change within your organization. InnerSource delivers more adaptive, collaborative, creative and happier software development organizations – the effort is worth it!
Acknowledgments
Most of the content from this article comes from the great work of the InnerSource Commons community. InnerSource Commons is the world’s largest community of InnerSource practitioners who have come together to co-create and share knowledge about the practice of InnerSource. Our thanks go to all the participants in the InnerSource Learning Path and Patterns Working Groups, whose contributions help so many on their InnerSource journey.
If you are interested in learning more about InnerSource and enabling a more collaborative open culture in your organization, there is no better way to get started than to drop in to have a chat and virtual coffee with one of the community members. Join us at www.innersourcecommons.org to find out more.
Thanks also go to those who authored and contributed to this article, including:
Clare Dillon has over 25 years experience working with developers and developer communities. In 2021, she was appointed the Executive Director of InnerSource Commons.
Isabel Drost-Fromm is the President of InnerSource Commons, and an Open Source Strategist at Europace AG Germany. She`s a member of the Apache Software Foundation, co-founder of Apache Mahout and mentored several incubating projects.
Daniel Izquierdo is the Vice President of InnerSource Commons, and CEO of Bitergia, a company that provides software analytics for open source ecosystems and services for those running InnerSource or Open Source Program Offices.