Skip to content

Commit f8a64a4

Browse files
committed
Use the term 'governance levels' consistently throughout the pattern. Clearly call out the aliases to this term.
1 parent fbbff7f commit f8a64a4

File tree

1 file changed

+45
-23
lines changed

1 file changed

+45
-23
lines changed

patterns/2-structured/governance-levels.md

Lines changed: 45 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,29 @@ Establishing a more accurate common language that is understood across all teams
99

1010
## Problem
1111

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.
1315

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.
1518

1619
## Story
1720

1821
### Example of Confusion
1922

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.
2126

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.
2329

2430
### Example of Delayed Decision
2531

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.
2735

2836
### Examples from Open Source
2937

@@ -43,37 +51,53 @@ The same levels make sense inside of organizations.
4351

4452
- InnerSource concepts are established within an organization with multiple projects and teams adopting InnerSource.
4553
- 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.
4755

4856
## Forces
4957

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.
5159
- Users want clarity on the level of influence they can gain in an InnerSource project when deciding whether or how to use it.
5260
- Leaders want clarity on InnerSource project intentions to understand the expected cost and benefits.
5361
- Writing a detailed description of a set of InnerSource practices requires significant effort.
5462

5563
## Solution
5664

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.
5867

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.
6070

61-
The shared language for these InnerSource operating models can be established with these steps:
71+
Examples of governance levels (more details below):
6272

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
6576

66-
### Commonly used Governance Levels
77+
To evangelize these governance levels in your organization, follow these steps:
6778

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:
6993

7094
- **Bug Reports and Issues Welcome**:
7195
- People outside the core development team may use the code.
7296
- They can submit feature requests and bug reports for things they would like to see changed.
7397
- aka **Readable Source**, **Shared Source**
7498
- **Contributions Welcome**:
7599
- 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.
77101
- aka **Guest Contributions**
78102
- **Shared Ownership**:
79103
- Members of different teams collaborate on the project as equal peers.
@@ -82,14 +106,12 @@ Examples of common InnerSource operating models are:
82106
- Everyone has an equal say in who else to add to this group.
83107
- aka **Distributed Ownership**, **Maintainers in Multiple Team**
84108

85-
### Promoting the Governance Levels
86-
87-
Examples of promoting the model names are:
109+
### Example: Different Ways of Promoting the Governance Levels
88110

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.
93115

94116
## Resulting Context
95117

@@ -106,7 +128,7 @@ Examples of promoting the model names are:
106128

107129
### Flutter Entertainment
108130

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.
110132

111133
![InnerSource Pyramid as used by Flutter Entertainment](../../assets/img/flutter-pyramid.png)
112134

0 commit comments

Comments
 (0)