This repository serves as the collection-point, ideation hub, and process behind the InnerSource Commons' set of proven and reviewed InnerSource approaches (patterns). These patterns illustrate beneficial activities and behaviors found in organizations who apply InnerSource methodologies.
Patterns are a way of describing a repeatable, proven solution to a problem with a context. They follow a simple form that helps people wanting to implement the solution to understand the constraints on the problem, the forces that must be balanced and the resulting context (the situation you are left with after the solution is applied). In inner sourcing, patterns can provide a way for the InnerSource Commons participants to concisely share information with each other, improving the practice of inner sourcing. Each of the patterns are divided into Title, Problem Statement, Context, Forces, and Solutions as their main sections.
- InnerSource Patterns template
- See the presentation from Tim Yao and Padma Sudarsan from the ISC Fall Summit in 2016 (PDF)
Patterns must be used in a thoughtful manner. They cannot be blindly applied. In most cases, you will need to adapt the given solution to your own situation; but the information given in the pattern, defining the context (immovable constraints) and forces (constraints that can be changed and balanced against each other), should help you do this.
The pattern form is useful for describing proven patterns but it could also be used for brainstorming solutions where patterns are not yet established, since the form gives a structured way for thinking about a problem. You could also create a donut pattern (filling in the problem, context, forces and resulting context fields but leaving the solution blank) as a way of asking the InnerSource Commons community for help (to find a proven solution or to brainstorm things to try).
See our CONTRIBUTING.md for details on getting involved
We encourage beginners seeking answers to jump in by creating ''donuts'' (problems without solutions). We encourage experts to pad their experience - these could easily become part of a book one day. Anyone can offer reviews and comments for in-progress patterns.
We work together via github, phone-meetings, Slack, etc. Do not hesitate to join the #innersourcecommons or #innersource-patterns slack channels and ask to be included in the patterns meetings (email list).
- Pattern States - Definitions of the various status and review steps a pattern can be in
- Pattern Template - Start a new pattern with a copy of this
- Common Requirements
- Reluctance to receive contributions
- Contained inner source enables collaborative product development
- Review Committee aka Cheese Interface
- What Before How or Services Documentation
- Overcome Acquisition based Silos - Developers
- Overcome Acquisition based Silos - Managers
- Open Source trumps InnerSource
- Overcoming Project Management Time Pressures
- Badly named piles
- Don't bother looking
- Junkyard Styled Inner Sourcing
- Different repo for shared code than the product org uses in its build
- Incentive Alignment
- Change the developers mindset
- Share Your Code to Get More Done - Likely Contributors Variant
- Donut 3: how to defeat the hierarchical constraints
- Donut 4: modular code (for reuse) requires extra resources
- Donut 5: project management time pressures
- Donut 6: organizational mindset change
- Donut 8: Not invented here
- Donut: Bad weather for liftoff
- Get contributions despite silo thinking
InnerSourcePatterns by InnerSourceCommons.org is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.