Home

Awesome

Check Links Pattern Syntax Validation Join our Slack!

InnerSource Patterns

<a href="https://patterns.innersourcecommons.org"> <img align="right" src="book/en/innersource-patterns-book-cover.jpg" title="The InnerSource Patterns book" alt="The InnerSource Patterns book" width="30%"></a>

This repository contains the InnerSource Patterns collected by the InnerSource Commons. These patterns are InnerSource best practices codified in a specific format to make it easy to understand, evaluate, and reuse them.

If you are here for the first time, you may start by reading our most mature patterns, published at patterns.innersourcecommons.org.

Below you find what a pattern is, a list of known patterns, and how to use these patterns in your organization.

Are you already using InnerSource in your company? If you would like to share your experiences with the world, we would love to welcome your contributions!

Mission Statement

Our mission

List of Patterns

All known patterns (grouped into three maturity levels) are as follows:

Maturity Level 3: Validated

Note: We don't have patterns in this stage yet, but are actively working on leveling up patterns into this maturity.

Maturity Level 2: Structured

Maturity Level 1: Initial

<!-- NOTE: The 'Initial' Patterns below don't have a Patlet yet, which is essential for readers to quickly browse our patterns. This is why we keep these patterns at the bottom of the list. -->

Donuts (needing a solution)

What are InnerSource Patterns?

Patterns are a way of describing a repeatable, proven solution to a problem within a context. Patterns follow a simple form that assists you during the implementation of a solution to understand the constraints of the problem, understand the forces you need to balance, and the resulting context - the situation created by applying the solution.

Patterns can provide a way for the InnerSource Commons participants to concisely share information, improving the practice of InnerSource. Patterns are divided into Title, Problem Statement, Context, Forces, and Solutions as their main sections.

How can you use InnerSource Patterns?

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. However, the information found in the pattern, and defining the context (immovable constraints) and forces (constraints that can be changed and balanced against each other), will help you adapt. In addition, you need to determine if there are further constraints (company context and company forces) that apply to your company/organization that must be added to the pattern. These additional constraints may require additional solution steps to be applied.

The pattern form is useful for describing proven patterns but it can also be used for brainstorming solutions where patterns have not yet been established, since the form provides a structured way of 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).

How to Contribute?

We welcome your contribution - be it small or huge! To learn more about how you can become a contributor, please see our CONTRIBUTING.md file.

Licensing

Creative Commons License

InnerSourcePatterns by InnerSourceCommons.org is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.