Published: Last updated:

InnerSource

InnerSource is the application of proven open-source methods (such as Pull Requests, asynchronous Code Reviews, and open documentation) to internal software development. It enables teams to improve the code of other teams without having to wait for slow feature requests.

In many companies, codebases are the "property" of individual teams. If Team A needs a change in a library of Team B, a bottleneck arises. InnerSource unties this knot.

Anti-Patterns: The Cost of Code Silos

  • Wait Times: Teams stand still because they are waiting for the implementation of a small change in another component.
  • Code Duplication: Since access to or understanding of existing code is lacking, teams simply rebuild functionality themselves.
  • Knowledge Islands: If a developer leaves the team, knowledge about that part of the code is often irretrievably lost.

The Pillars of InnerSource

  1. Open Visibility: Everyone in the company can read and understand (almost) every piece of code.
  2. Collaboration via PRs: If Team A needs a change, it writes the code itself and submits a Pull Request (PR) to Team B.
  3. Trusted Committers: Experienced engineers in Team B act as Gatekeeper and mentors. They conduct Code Reviews and ensure quality.
  4. Asynchronous Documentation: Knowledge is captured not in heads but in code and accompanying readmes.
  5. Passive Participation: Reading discussions and learning from existing code is also a value in itself.

Cultural Prerequisites

InnerSource requires time for Code Reviews and a culture where helping other teams is recognized as valuable work (instead of just counting "own" tickets).

FAQ

Don't developers lose time when they review code for other teams?

Short-term yes, long-term they save time: fewer support requests, better overall code quality.

Do I have to show my unfinished code to everyone now?

Yes. Transparency is a feature. "Perfect is the enemy of the good." Early visibility enables early feedback.

Reference Guide

  • InnerSource Commons: The world's largest community for InnerSource practices. InnerSource Commons
  • Getting Started with InnerSource: A guide from O'Reilly. O'Reilly eBook
  • The Cathedral and the Bazaar: Eric S. Raymond's classic on open-source methods. Wikipedia

Related Topics

Open Items