You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: patterns/2-structured/governance-levels.md
+45-23Lines changed: 45 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,21 +9,29 @@ Establishing a more accurate common language that is understood across all teams
9
9
10
10
## Problem
11
11
12
-
Several teams are using InnerSource practices. However the degree to which they welcome contributions and give equal collaboration rights to contributors differ. Despite these differences, all teams refer to their way of working as "InnerSource" without any additional qualifiers.
12
+
Several teams are using InnerSource practices.
13
+
However the degree to which they welcome contributions and give equal collaboration rights to contributors differ.
14
+
Despite these differences, all teams refer to their way of working as "InnerSource" without any additional qualifiers.
13
15
14
-
The result is confusion and frustration when teams collaborate as the expectation of what InnerSource means in practice is different in each team. This confusion also affects strategy planning and decisions on future InnerSource intent as the term is too vague which leads to long discussions and time lost on clarifications.
16
+
The result is confusion and frustration when teams collaborate as the expectation of what InnerSource means in practice is different in each team.
17
+
This confusion also affects strategy planning and decisions on future InnerSource intent as the term is too vague which leads to long discussions and time lost on clarifications.
15
18
16
19
## Story
17
20
18
21
### Example of Confusion
19
22
20
-
For two projects InnerSource best practices have been adopted. Project A has a shared ownership model with [Trusted Committers](../2-structured/trusted-committer.md) from multiple teams. Project B is fully owned by one team with contributions from other teams.
23
+
For two projects, different InnerSource practices have been adopted.
24
+
Project A has a shared ownership model with [Trusted Committers](../2-structured/trusted-committer.md) from multiple teams.
25
+
Project B is fully owned by one team with contributions from other teams.
21
26
22
-
New users of either project are regularly confused about the level of influence they can gain in the respective project. This leads to long discussions, escalations and time lost on clarifications.
27
+
New users of either project are regularly confused about the level of influence they can gain in the respective project.
28
+
This leads to long discussions, escalations and time lost on clarifications.
23
29
24
30
### Example of Delayed Decision
25
31
26
-
Project C is currently closed source and used only by team 1. Team 2 want to use project C and the leadership of the two teams negotiates options which include InnerSource practices. Agreement takes longer than expected because the "InnerSource" term did not describe a target state that could be agreed without ambiguity, and the teams had to document bespoke options for their leadership to consider before a decision could be made.
32
+
Project C is currently closed source and used only by team 1.
33
+
Team 2 want to use project C and the leadership of the two teams negotiates options which include InnerSource practices.
34
+
Agreement takes longer than expected because the "InnerSource" term did not describe a target state that could be agreed without ambiguity, and the teams had to document bespoke options for their leadership to consider before a decision could be made.
27
35
28
36
### Examples from Open Source
29
37
@@ -43,37 +51,53 @@ The same levels make sense inside of organizations.
43
51
44
52
- InnerSource concepts are established within an organization with multiple projects and teams adopting InnerSource.
45
53
- Internal InnerSource practices are not prescribed in detail.
46
-
- Teams/projects have the autonomy to optimise for their local circumstances.
54
+
- Teams/projects have the autonomy to optimize for their local circumstances.
47
55
48
56
## Forces
49
57
50
-
- Projects adopt different InnerSource patterns and practices to optimise for their context.
58
+
- Projects adopt different InnerSource patterns and practices to optimize for their context.
51
59
- Users want clarity on the level of influence they can gain in an InnerSource project when deciding whether or how to use it.
52
60
- Leaders want clarity on InnerSource project intentions to understand the expected cost and benefits.
53
61
- Writing a detailed description of a set of InnerSource practices requires significant effort.
54
62
55
63
## Solution
56
64
57
-
The solution is to create a universally understood language to describe the InnerSource operating models that are used in your organization.
65
+
Create a universally understood language to describe the project governance levels that are used in your organization.
66
+
Note: These governance levels may also be referred to as "operating models", or "ownership models". We stick to the term "governance levels" throughout this pattern but feel free to use whatever terms fits your organization best.
58
67
59
-
We define **InnerSource operating model** as a description of how much influence the core development team of a project is willing to share with contributing teams. Or in other terms, the level of influence a contributing team can gain in the respective project.
68
+
We define **governance levels** as a description of how much influence the core development team of a project is willing to share with contributing teams.
69
+
Or in other terms, the level of influence a contributing team can gain in the respective project.
60
70
61
-
The shared language for these InnerSource operating models can be established with these steps:
71
+
Examples of governance levels (more details below):
62
72
63
-
1. Document the commonly used InnerSource operating models that exist in your teams and projects. Make sure to give each of a distinctive and descriptive name.
64
-
2. Promote the use of these names to describe projects until the meaning of the respective InnerSource operating model is understood across the whole organization.
73
+
- Bug Reports and Issues Welcome
74
+
- Contributions Welcome
75
+
- Shared Ownership
65
76
66
-
### Commonly used Governance Levels
77
+
To evangelize these governance levels in your organization, follow these steps:
67
78
68
-
Examples of common InnerSource operating models are:
79
+
1. Define your governance levels
80
+
- Document the governance levels that are commonly used in your organization.
81
+
- Document additional governance levels that you don't have yet, but that would benefit the cross-team collaboration in your organization.
82
+
- Give each of them a distinctive and descriptive name.
83
+
- Use specific projects as examples where helpful.
84
+
-**Goal**: Have a clear written description of the governance levels, that you can refer to as a reference.
85
+
2. Promote your governance levels
86
+
- Present your governance levels in existing knowledge sharing forums in your organization.
87
+
- Stick to the names of these governance levels that you chose above.
88
+
-**Goal**: The governance levels are known and understood throughout your organization.
89
+
90
+
### Example: Commonly used Governance Levels
91
+
92
+
Examples of common project governance levels are:
69
93
70
94
-**Bug Reports and Issues Welcome**:
71
95
- People outside the core development team may use the code.
72
96
- They can submit feature requests and bug reports for things they would like to see changed.
73
97
- aka **Readable Source**, **Shared Source**
74
98
-**Contributions Welcome**:
75
99
- People outside the core development team may use the code.
76
-
- They can also make modifications and submit them to core team for inclusion.
100
+
- They can also make modifications and submit them to the core team for inclusion.
77
101
- aka **Guest Contributions**
78
102
-**Shared Ownership**:
79
103
- Members of different teams collaborate on the project as equal peers.
@@ -82,14 +106,12 @@ Examples of common InnerSource operating models are:
82
106
- Everyone has an equal say in who else to add to this group.
83
107
- aka **Distributed Ownership**, **Maintainers in Multiple Team**
84
108
85
-
### Promoting the Governance Levels
86
-
87
-
Examples of promoting the model names are:
109
+
### Example: Different Ways of Promoting the Governance Levels
88
110
89
-
-Using the names within project documentation and contributing guides (see also [Standard Base Documentation](../2-structured/base-documentation.md)).
90
-
-Labeling projects with the names in an [InnerSource Portal](../2-structured/innersource-portal.md).
91
-
-Presenting the names as a menu of adoption options for new InnerSource projects.
92
-
-Including the names and models in any internal InnerSource training or promotion.
111
+
-Use the chosen names of your governance levels within project documentation and contributing guides (see also [Standard Base Documentation](../2-structured/base-documentation.md)).
112
+
-Label projects with the governance levels in an [InnerSource Portal](../2-structured/innersource-portal.md), so that contributors can see at a glance what type of InnerSource collaboration the core team currently supports.
113
+
-Create training material contain examples of projects in your organization, that make it easier for people in your organization what these governance levels mean and how they work.
114
+
-Presenting the governance levels as a menu of adoption options when launching new InnerSource projects.
93
115
94
116
## Resulting Context
95
117
@@ -106,7 +128,7 @@ Examples of promoting the model names are:
106
128
107
129
### Flutter Entertainment
108
130
109
-
Flutter Entertainment define an [InnerSource Pyramid](https://innersource.flutter.com/how/pyramid/) to describe 3 different InnerSource operating models: Readable Source, Guest Contributions and Maintainers in Multiple Teams. Each name is centrally documented. The use of these names is encouraged via repeated usage, direct training and categorization of each InnerSource project.
131
+
Flutter Entertainment define an [InnerSource Pyramid](https://innersource.flutter.com/how/pyramid/) to describe three different operating models: Readable Source, Guest Contributions and Maintainers in Multiple Teams. Each name is centrally documented. The use of these names is encouraged via repeated usage, direct training and categorization of each InnerSource project.
110
132
111
133

0 commit comments