InnerSource Patterns - ShaneCurcuru/InnerSourceCommons GitHub Wiki
What are Inner Source Patterns?
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.
How can you use Inner Source 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; 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).
Reviewed Patterns
Proven Patterns (not yet reviewed)
Pattern ideas (not yet proven)
Pattern donuts (needing a solution)
-
Donut 1: open source components are preferred over proprietary one
-
Donut 2: different repo for shared code than the product org uses in its build