Inner Source evolved from the concept of Open Source, known as “open source software,” and has since been tailored for the business environment. Gartner forecasts that by 2026, 40% of software engineering companies will adopt Inner Source. But, what is Inner Source?
This methodology is increasingly important within the tech sector and among developers. It offers distinct benefits, established good practices, and challenges, all of which we’ll explore in this article. Follow along!
What is Inner Source?
The concept of Inner Source is rooted in the same principles as Open Source but designed for corporate environments.
Each team and repository follows its own rules, best practices, and contribution guidelines, which remain unchanged. However, teams across the organization can contribute to one another’s projects, fostering collaboration and communication between teams.
Collaborating on other teams’ code enables faster delivery, the addition of new features, and bugs fixes, all of which significantly benefit the development cycle.
The participatory approach offers developers the space and opportunity to be more actively involved in the company’s technical decisions, representing a paradigm shift for tech companies.
How does Inner Source work?
For example, in a company that applies Inner Source practices, Team A makes reusable components available to other teams, such as Team B. This allows Team B to avoid creating similar functionality and instead support and contribute directly to team A’s component.
Furthermore, rather than reporting errors to team A, as would happen in a traditional setup, Team B can correct the mistakes themselves.
This approach helps teams save time and effort by utilizing more versatile and reusable components. The outcome is reduced cognitive load, optimized efforts, increased productivity, and prevention of developer work overload.
What is not an Inner Source?
In addition to noting what is Inner Source, it’s worth highlighting what the concept does not include:
- The tools to manage repositories make the process possible, but do not inherently ensure collaboration.
- Development is not open to external contributions; Inner Source is shared solely within the company.
Above all, Inner Source fosters internal software development by empowering employees, promoting transparency, and fostering a sense of community. As a result, there is no single way to implement the practice; each company will have its own unique context.
And what is Open Source?
Open Source is a technological movement that fosters decentralization and collaboration in the production and distribution of publicly available software.
Open Source projects allow anyone to view, modify, contribute to, and distribute the source code; enabling the community to engage in problem-solving and drive software innovation.
Collaboration is central to the Internet’s essence: an estimated 90% of the Internet runs on the Linux operating system, with 65% to 95% of the code coming from third parties. It’s no different with languages: the world’s most famous is Open-Source.
This has a profound impact on software engineering and development, since the main languages, tools, and databases are Open Source.
Consume innovation, begin transformation
Subscribe to our newsletter to stay updated on the latest best practices for leveraging technology to drive business impact
Why establish Inner Source practices?
The State of Inner Source survey —answered by devs, software engineering professionals, Inner Source specialists, and executives— provides an exciting overview of how the practice is being adopted around the world:
- From the perspective of companies encouraging Inner Source practices, 76% believe their organization seeks peer-to-peer knowledge sharing; 74% feel the company strives to eliminate bottlenecks and silos that hinder daily development; while 69% cite reuse as motivation for putting Inner Source into practice.
- From the team’s perspective, 54% note that the practices have helped them connect with more colleagues; 49% felt more satisfied at work; and 39% discovered new features they hadn’t noticed before. An equal percentage also noticed improvements in software quality.
We can, therefore, conclude that Inner Source practices encourage a collaborative software development environment with the following characteristics:
- enhances knowledge sharing and the development of technical expertise;
- fosters a culture of contributions, constructive criticism, and diverse opinions;
- increases overall satisfaction among employees.
These aspects are behind higher-quality code and better software, ultimately leading to better company results and greater customer satisfaction.
Why implement Inner Source?
After learning more about the concepts, what are the key benefits of implementing Inner Source in a company? See below:
Better communication
Inner Source practices remove barriers between teams within a company, bringing development professionals closer, facilitating communication, and encouraging collaboration.
Additionally, it is possible to dismantle silos and reduce bottlenecks, promoting a healthy culture of cooperation and transparency that leads to clearer and more objective communication.
Encouraging reuse
Through reuse practices, technology teams optimize time and effort to focus on more strategic activities. Inner Source practices also speed up and reduce the cost of onboarding new team members.
One of Inner Source’s main advantages is the increase in code reuse. After all, lack of transparency and collaboration often prevents code and components from being reused within the company.
Beyond the lack of awareness of code from other teams, the environment often makes sharing difficult. Establishing sharing practices enhances transparency, ensuring teams are aware of what others are producing.
Encouraging innovation
A company that promotes knowledge-sharing practices and encourages autonomy fosters creativity in designing new functionalities and solves problems in innovative ways. Diverse perspectives lead to more innovation for the software.
Higher code quality
In companies that practice Inner Source, the code is reviewed by several developers, making it easier to identify and fix issues quickly.
Another key factor is visibility. Devs showcase their creative and innovative solutions to the whole company seeking recognition, but knowing their mistakes will be publicly highlighted motivates them to be extra cautious.
The result is better and more secure code, as the broader community can also detect vulnerabilities earlier and report them to the security team.
Robust documentation
The large volume of code access requires comprehensive and up-to-date technical documentation to assist all software users. Robust documentation simplifies the understanding of business rules, technical decisions, and application standards.
Challenges of implementing Inner Source
One of the challenges of both Inner Source and Open Source is dealing with various components, strategies, and tools:
Demand for results, not deliverables
Inner Source requires a cultural shift within the company, especially among managers. While the previous focus was on delivering results, now the aim is to provide value.
Beyond moving away from the volume of code delivered, it’s necessary to reconsider how responsibilities are distributed. After all, the core of this practice is precisely decentralization and collaborative work aimed at quality rather than quantity.
Relationships between collaborators
Working with a familiar team can make project coordination easier. However, bringing in individuals from different teams can cause friction, since people who don’t know each other well will be working together.
Therefore, alignment and focus on the ultimate goal —building better code— must be even clearer.
Difficulty with the legacy system
Updating and maintaining legacy systems is inherently more complex. Consequently, adopting Inner Source practices in this context can be challenging, as only some developers have sufficient knowledge to contribute.
For example, the legacy system may have workflows that hinder contributions and lack the necessary tools to ensure transparency.
However, implementing Inner Source on the new platform can be highly beneficial when the company modernizes legacy systems.
Cultural maturity
Finding an environment mature enough for developers to contribute independently or to value a sense of community within the company is not that common.
The company’s culture must support Inner Source practices. Encouraging collaboration between teams and creating technical guilds for discussions can be reasonable first steps towards a culture that aligns more closely with the methodology.
Prioritizing other tasks
For developers, the primary challenge is finding time to dedicate to the collaboration that Inner Source requires. With daily responsibilities taking precedence, developers have little time left to contribute, and the initiative is deprioritized.
Beyond encouragement, Inner Source should be ingrained in the company’s DNA, enabling developers to collaborate and deliver higher-quality products.
Best practices for implementing Inner Source
Inner Source has imported, tried and tested Open Source practices and methodologies. Here are some of them:
- Code Review: reviewers evaluate the code and aim to find and correct errors, improving readability and uniformity.
- Visibility: the code is available to everyone in the company, so it’s necessary to have tools that enable this visibility, such as development platforms.
- Testing: testing is done more broadly and by a larger group of people, making the code more thorough and refined.
- Software documentation: to be accessed by so many people, comprehensive and up-to-date documentation is essential, along with regular updates to the software.
- CI/CD: adopting agile approaches to automate software development, such as testing, building, and delivering software.
- Issue Tracker: keeping a record of errors and user complaints makes it easier to correct flaws in the code.
Inner Source in Brazil
In Brazil, Itaú Unibanco and Zup Innovation are implementing the Inner Source concept to assist development teams in overcoming daily challenges and enhancing the customer experience.
By enabling collaborative code development and improvement, Inner Source results in more agile and practical solutions for development challenges.
Numerous successful Inner Source initiatives exist worldwide. In the InnerSource Commons community, there are cases of implementation in large companies such as Microsoft, Adobe, and American Airlines, among others, along with good practices for adopting Inner Source.
How Development Platforms Foster Inner Source
StackSpot is an AI-first development platform focused on modernizing legacy systems. It streamlines technical standards’ creation, distribution, and reuse, creating reliable software with an executable architecture.
In alignment with the Inner Source concept, StackSpot offers features that encourage reuse and collaboration, such as the Workspace, which allows teams to work collaboratively during the development cycle.
Learn more about the development platform in the video.
Conclusion
Inner Source leverages the Open Source methodology to encourage reuse and raise the technical quality of a company’s teams, allowing developers to optimize their time for more impactful and innovative activities.
By making the code available to everyone in the company, Inner Source transcends being merely a set of practices; it fosters a cultural shift towards a sense of community and collaboration between teams.
Despite cultural resistance, legacy systems, and the volume of deliverables required of development teams, Inner Source improves software quality through clear communication, up-to-date documentation, incentives for reuse, and emphasis on innovation.
Want to know more about how a development platform like StackSpot promotes Inner Source? Reach out to our team of experts.
References
- 2024 Platform engineering predictions
- Como implementar o InnerSource na sua empresa: benefícios, desafios e melhores práticas.
- Entenda de uma vez o que é open source e como funciona
- Inner Source: eficiência e qualidade do open source no mundo corporativo – Zup Innovation
- O que é Inner Source e por que você deveria implementá-lo dentro de sua empresa?
- Open source e Inner source