Skip to content

Commit 6993b0f

Browse files
MaineCspier
andauthored
Add InnerSource principles to list of draft patterns (#325)
Add InnerSource principles as an Initial pattern Co-authored-by: Sebastian Spier <[email protected]>
1 parent 47aadca commit 6993b0f

File tree

1 file changed

+164
-0
lines changed

1 file changed

+164
-0
lines changed

patterns/1-initial/principles.md

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
## Title
2+
3+
Explicit InnerSource Principles
4+
5+
## Patlet
6+
7+
The usual InnerSource explanation of "applying open source best practices
8+
inside an organisation" does not work well with people lacking an
9+
open source background. As a remedy the most important principles of
10+
InnerSource get published widely.
11+
12+
## Problem
13+
14+
The organisation is trying to roll out InnerSource at a larger scale. The
15+
initiative started among open source enthusiasts. The goal is now to get buy-in
16+
from people that are lacking open source experience. For that audience the typical
17+
slogan of "applying open source best practices" is no longer sufficient to
18+
transport the message of what InnerSource is, which problems it solves and which
19+
tools it uses for solving these issues. As a result InnerSource adoption in the
20+
organisation slows down. Teams develop diverging ideas of what the goals of InnerSource
21+
is about and how to best implement it leading to confusion when contributors
22+
are starting to cross team boundaries.
23+
24+
## Story
25+
26+
Early experiments in an organisation have shown that open source collaboration
27+
best practices can be beneficial. The next step now is to move the initiative to
28+
teams and individuals lacking a deep background in open source.
29+
30+
The goal now is to clearly communicate the goals of the InnerSource initiative
31+
as well as a clear path towards achieving these goals.
32+
33+
## Context
34+
35+
* InnerSource as a term is circulating among employees.
36+
* The initiative started among open source enthusiasts.
37+
38+
## Forces
39+
40+
* Teams have trouble communicating exactly what the important aspects of
41+
InnerSource are.
42+
43+
* People lacking open source experience fail to understand what it means to bring
44+
open source best practices into the organisation.
45+
46+
* On a daily basis teams trying to follow InnerSource best practices have a hard
47+
time deciding if what they are doing is inline with general InnerSource values.
48+
49+
## Solution
50+
51+
Those driving the InnerSource initiative in the organisation need to help the teams and individuals that are lacking a deep background in open source, and therefore have a less intuitive understanding of InnerSource.
52+
53+
Clarity should be provided around these two areas:
54+
55+
### Why does the organisation want to adopt InnerSource?
56+
57+
In the past InnerSource has proven to be successful to solve several issues
58+
commonly found in organisations.
59+
60+
However which organizational challenges does your organization hope to improve
61+
upon using InnerSource?
62+
63+
Instead of going for generalizations, try to exactly identify the solutions
64+
that match the challenges of your organisation - preferably with those affected
65+
by the change you want to see.
66+
67+
Some challenges that others have addressed by following InnerSource
68+
best practices:
69+
70+
* Reduce development silos caused by excessive ownership culture.
71+
* Increase innovation speed by reducing time spent solving similar issues by
72+
fostering healthy code reuse.
73+
* Increase development speed by better cross-team collaboration.
74+
* Solve project/ team dependencies beyond "wait it out" and "build workarounds",
75+
thereby reducing engineering bottlenecks.
76+
* Increase quality.
77+
* Increase employee happiness.
78+
* To increase success of new hires.
79+
* To build actionable documentation.
80+
81+
### Which InnerSource principles will help to address these challenges?
82+
83+
Once teams understand which problems InnerSource will help them address, the
84+
next step is to explain which principles help address these challenges.
85+
86+
Based on basic open source development principles the following guidelines
87+
have been proven successful:
88+
89+
(1) Code must be transparently hosted within the organisation
90+
91+
Source code, documentation, data relevant for project development must be
92+
available and easy to find for anyone in the organisation.
93+
94+
(2) Contributions over feature requests
95+
96+
All stakeholders of a project act as potential contributors and are being
97+
treated and supported as such. Contributions remain suggestions instead of
98+
requirements. Coordination before a contribution helps avoid wasted effort.
99+
Projects provide contribution guidelines to avoid friction.
100+
101+
(3) Mistakes are opportunities for learning
102+
103+
With work visible across the entire organisation any mistake is visible to
104+
everyone. As a result a culture must be established in which mistakes are
105+
opportunities for learning instead of failure that should be avoided at all
106+
cost.
107+
108+
(4) Written over verbal communication
109+
110+
For projects that span multiple teams, potentially on diverging meeting
111+
schedules, it needs to be possible to collaborate asynchronously. The goal for
112+
InnerSource projects is to recruit new contributors. For that, potential future
113+
contributors need to be able to follow the project progress on a self serve
114+
basis with a very low barrier to entry. If project relevant communication
115+
happens through synchronous communication, arguments discussed need to be made
116+
transparent in the written channel - decisions should be finalized only there.
117+
As a side effect this leads to passive base documentation that is very valuable
118+
for any newcomer to the project.
119+
120+
(5) Allow written advise to accumulate in a persistent, searchable archive
121+
122+
All project communication, in particular decisions taken and discussions leading
123+
up to those decisions need to be archived. It must be possible to reference
124+
communication via stable URLs. Previous communication needs to be stored in a
125+
way that can easily be searched.
126+
127+
Two caveats though:
128+
129+
1. This does not replace structured documentation. It can serve as a starting point
130+
to collect structured documentation though.
131+
132+
2. There are exceptions to the rule of everything being written and accessible to
133+
the entire organisation: People related discussions as well as security related
134+
discussions are sensitive and should not be held in public.
135+
136+
(6) Reward Trusted Committership
137+
138+
All contributions (e.g. source code, documentation, bug reports, input to
139+
discussions, user support, marketing) are welcome and are being rewarded.
140+
Those showing support for the project are being invited as
141+
[Trusted Committers](../2-structured/trusted-committer.md). All Trusted Committers of a project are published.
142+
143+
## Resulting Context
144+
145+
* Organisation members understand which challenges they can address by
146+
applying InnerSource best practices.
147+
148+
* Organisation members lacking prior open source experience understand the basic
149+
values and principles of InnerSource projects.
150+
151+
* Organisation members lacking prior open source experience are able to check
152+
their daily doing against a set of common established values.
153+
154+
* The organisation's development practices become more similar to open source projects thus
155+
making it easier for organisation members to participate in open source
156+
projects.
157+
158+
## Known Instances
159+
160+
* Europace AG - see also [Europace InnerSource Prinzipien](https://tech.europace.de/post/europace-inner-source-prinzipien/) (German)
161+
162+
## Status
163+
164+
Initial

0 commit comments

Comments
 (0)