Skip to content

Commit 3f34253

Browse files
authored
Level up to 2: Explicit InnerSource Principles (#374)
With the latest updates in #373, pattern 'Explicit InnerSource Principles' fulfills all criteria for level 2 (Structured). These were the remaining steps to move it to level 2. (documenting these here to make it easier in the future) * Moving pattern to the correct place in the README. * Set status Structured. * Fix formatting of list that otherwise would break in the book. * Changing markdown formatting to 'one sentence per line' where possible (easier reviews in the future) * Renaming the pattern based on discussions in PR and Slack * Adding new pattern to the mindmap
1 parent f9df397 commit 3f34253

6 files changed

+70
-101
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ The below lists all known patterns. They are grouped into three [maturity levels
5050
* [Transparent Cross-Team Decision Making using RFCs](patterns/2-structured/transparent-cross-team-decision-making-using-rfcs.md) - *InnerSource projects that want to achieve high participation rates and make the best possible decisions for everybody involved need to find ways to create participatory systems throughout the full software lifecycle. Publishing internal Requests for Comments (RFCs) documents allows for discussions early on in the design process, and increases the chances to build solutions with a high degree of commitment from all involved parties.*
5151
* [Start as an Experiment](patterns/2-structured/start-as-experiment.md) - *Start your InnerSource initiative as a time limited experiment to make it easier for managers unfamiliar with InnerSource to endorse and support the initiative.*
5252
* [Core Team](patterns/2-structured/core-team.md) - *Even when an InnerSource project is widely needed, contributions and usage may be hindered because the project is difficult to work with. Establish a core team that is dedicated to take care of the project's fundamental items. Their work enables contributors to add and use the features that provide value to their scenarios.*
53+
* [Document your Guiding Principles](patterns/2-structured/document-your-guiding-principles.md) - *The usual InnerSource explanation of "applying open source best practices inside an organisation" does not work well with people lacking an open source background. As a remedy the most important principles of InnerSource get documented and published widely.*
5354

5455
### Maturity Level 1: Initial
5556

@@ -70,7 +71,6 @@ The below lists all known patterns. They are grouped into three [maturity levels
7071
* [Unified Source Code Inventory](patterns/1-initial/source-code-inventory.md) - *In a large organization with different legal entities is often hard to get full visibility into all software assets, in particular all source code. This situation reduces the opportunities to increase business value and keep liability costs, such as software maintenance, under control across the organization as a whole. An organization-level source code inventory addresses these issues while exploiting opportunities to identify and support valuable InnerSource assets.*
7172
* [Explicit Shared Ownership](patterns/1-initial/explicit-shared-ownership.md) - *A software component that several teams depend on has grown to the point where owners are no longer capable of taking full ownership. There is confusion who to involve for changes. Sharing ownership explicitly and making expected behaviour visible removes ambiguity. Writing a contributions document creates a natural way to evolve ownership.*
7273
* [Standarized Release Process](patterns/1-initial/release-process.md) - *Teams may be reluctant to use InnerSource projects that they are unfamiliar with when there is no clear release process apparent in the repository. Providing clear release notes and a published artifact (binary, docker image, jar, etc) gives people confidence you are publishing a quality product.*
73-
* [Explicit InnerSource Principles](patterns/1-initial/explicit-innersource-principles.md) - *The usual InnerSource explanation of "applying open source best practices inside an organisation" does not work well with people lacking an open source background. As a remedy the most important principles of InnerSource get published widely.*
7474
* [Overcoming the Not-Invented-Here Mindset](/patterns/1-initial/not-invented-here.md) - Perfectly good solutions are being rejected because of "Not Invented Here" (NIH). Engineers and their managers will choose to implement functionality themselves first, even if an alternative exists. A shift towards a culture of "Proudly Found Elsewhere" can help reduce the negative impact of NIH.
7575

7676
<!--

pattern-categorization/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ In the mind map you will see patterns categorized from left to right in increasi
1313
The logic for these levels is (from left to right):
1414

1515
- level 0: the InnerSource program itself (as the root)
16-
- level 1: phase of an InnerSource Program
16+
- level 1: phase of an InnerSource Program (begin/adopt/grow/scale)
1717
- level 2: problem category
1818
- level 3: specific problem occurring in an InnerSource context
1919
- level 4: pattern (solution to the problem)

pattern-categorization/innersource-program-mind-map.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@
2525
Markmap
2626
} = getMarkmap();
2727
window.mm = Markmap.create('svg#mindmap', getOptions == null ? void 0 : getOptions(), data);
28-
})(() => window.markmap,null,{"t":"heading","d":1,"p":{"lines":[0,1]},"v":"<a href=\"https://patterns.innersourcecommons.org/toc\">InnerSource Program</a>","c":[{"t":"heading","d":2,"p":{"lines":[2,3]},"v":"Begin","c":[{"t":"heading","d":3,"p":{"lines":[4,5]},"v":"Program Setup","c":[{"t":"heading","d":4,"p":{"lines":[6,7]},"v":"Management hesitates to invest in InnerSource","c":[{"t":"heading","d":5,"p":{"lines":[8,9]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/start-as-experiment\">Start as an Experiment</a>"}]},{"t":"heading","d":4,"p":{"lines":[10,11]},"v":"Slow community growth hinders InnerSource","c":[{"t":"heading","d":5,"p":{"lines":[12,13]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/dedicated-community-leader\">Dedicated Community Leader</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[14,15]},"v":"Project Setup","c":[{"t":"heading","d":4,"p":{"lines":[16,17]},"v":"Hard to assess a project quickly","c":[{"t":"heading","d":5,"p":{"lines":[18,19]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/base-documentation\">Standard Base Documentation</a>"}]},{"t":"heading","d":4,"p":{"lines":[20,21]},"v":"Ad-hoc communication hinders project growth","c":[{"t":"heading","d":5,"p":{"lines":[22,23]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/communication-tooling\">Communication Tooling</a>"}]},{"t":"heading","d":4,"p":{"lines":[24,25]},"v":"Intransparent roadmap and direction of the project","c":[{"t":"heading","d":5,"p":{"lines":[26,27]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/issue-tracker\">Issue Tracker Use Cases</a>"}]}]}]},{"t":"heading","d":2,"p":{"lines":[28,29]},"v":"Adoption","c":[{"t":"heading","d":3,"p":{"lines":[30,31]},"v":"Valuation Challenges","c":[{"t":"heading","d":4,"p":{"lines":[32,33]},"v":"How to measure a project's business value","c":[{"t":"heading","d":5,"p":{"lines":[34,35]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/crossteam-project-valuation\">Cross-Team Project Valuation</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[36,37]},"v":"Cultural Challenges","c":[{"t":"heading","d":4,"p":{"lines":[38,39]},"v":"Unrecognized effort","c":[{"t":"heading","d":5,"p":{"lines":[40,41]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/praise-participants\">Praise Participants</a>"},{"t":"heading","d":5,"p":{"lines":[42,43]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/trusted-committer\">Trusted Committer</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[44,45]},"v":"Technical Challenges","c":[{"t":"heading","d":4,"p":{"lines":[46,47]},"v":"Not meeting everyone's needs","c":[{"t":"heading","d":5,"p":{"lines":[48,49]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/common-requirements\">Common Requirements</a>"}]},{"t":"heading","d":4,"p":{"lines":[50,51]},"v":"Fear of shared support responsibility","c":[{"t":"heading","d":5,"p":{"lines":[52,53]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/service-vs-library\">Service vs. Library</a>"}]},{"t":"heading","d":4,"p":{"lines":[54,55]},"v":"Project is difficult to contribute to and use","c":[{"t":"heading","d":5,"p":{"lines":[56,57]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/core-team\">Core Team</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[58,59]},"v":"Organizational Challenges","c":[{"t":"heading","d":4,"p":{"lines":[60,61]},"v":"Discouragement of contributing resource","c":[{"t":"heading","d":5,"p":{"lines":[62,63]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/contracted-contributor\">Contracted Contributor</a>"}]},{"t":"heading","d":4,"p":{"lines":[64,65]},"v":"Rejection of accepting contribution","c":[{"t":"heading","d":5,"p":{"lines":[66,67]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/30-day-warranty\">30 Day Warranty</a>"}]},{"t":"heading","d":4,"p":{"lines":[68,69]},"v":"Radical change of management","c":[{"t":"heading","d":5,"p":{"lines":[70,71]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/review-committee\">Review Committee</a>"}]},{"t":"heading","d":4,"p":{"lines":[72,73]},"v":"Fear of shared support responsibility","c":[{"t":"heading","d":5,"p":{"lines":[74,75]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/service-vs-library\">Service vs. Library</a>"}]},{"t":"heading","d":4,"p":{"lines":[76,77]},"v":"Not enough maintainers to scale","c":[{"t":"heading","d":5,"p":{"lines":[78,79]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/trusted-committer\">Trusted Committer</a>"}]},{"t":"heading","d":4,"p":{"lines":[80,81]},"v":"Difficult cross-team coordination","c":[{"t":"heading","d":5,"p":{"lines":[82,83]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/transparent-cross-team-decision-making-using-rfcs\">Transparent Cross-Team Decision Making using RFCs</a>"}]},{"t":"heading","d":4,"p":{"lines":[84,85]},"v":"Project without an owner/maintainer","c":[{"t":"heading","d":5,"p":{"lines":[86,87]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/core-team\">Core Team</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[88,89]},"v":"Cross Legal Entities Challenges","c":[{"t":"heading","d":4,"p":{"lines":[90,91]},"v":"Concern on legal liabilities or cross-company accounting","c":[{"t":"heading","d":5,"p":{"lines":[92,93]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/innersource-license\">InnerSource License</a>"}]}]}]},{"t":"heading","d":2,"p":{"lines":[94,95]},"v":"Grow","c":[{"t":"heading","d":3,"p":{"lines":[96,97]},"v":"Discovery Challenges","c":[{"t":"heading","d":4,"p":{"lines":[98,99]},"v":"Can't find matching projects","c":[{"t":"heading","d":5,"p":{"lines":[100,101]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/gig-marketplace\">Gig Marketplace</a>"},{"t":"heading","d":5,"p":{"lines":[102,103]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/innersource-portal\">InnerSource Portal</a>"}]},{"t":"heading","d":4,"p":{"lines":[104,105]},"v":"Difficult to find active projects","c":[{"t":"heading","d":5,"p":{"lines":[106,107]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/repository-activity-score\">Repository Activity Score</a>"}]}]}]},{"t":"heading","d":2,"p":{"lines":[108,109]},"v":"Scale","c":[{"t":"heading","d":3,"p":{"lines":[110,111]},"v":"Self Education/Improvement Challenges","c":[{"t":"heading","d":4,"p":{"lines":[112,113]},"v":"Not aware of InnerSource best practices","c":[{"t":"heading","d":5,"p":{"lines":[114,115]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/maturity-model\">Maturity Model</a>"}]}]}]}]})</script>
28+
})(() => window.markmap,null,{"t":"heading","d":1,"p":{"lines":[0,1]},"v":"<a href=\"https://patterns.innersourcecommons.org/toc\">InnerSource Program</a>","c":[{"t":"heading","d":2,"p":{"lines":[2,3]},"v":"Begin","c":[{"t":"heading","d":3,"p":{"lines":[4,5]},"v":"Program Setup","c":[{"t":"heading","d":4,"p":{"lines":[6,7]},"v":"Management hesitates to invest in InnerSource","c":[{"t":"heading","d":5,"p":{"lines":[8,9]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/start-as-experiment\">Start as an Experiment</a>"}]},{"t":"heading","d":4,"p":{"lines":[10,11]},"v":"Slow community growth hinders InnerSource","c":[{"t":"heading","d":5,"p":{"lines":[12,13]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/dedicated-community-leader\">Dedicated Community Leader</a>"}]},{"t":"heading","d":4,"p":{"lines":[14,15]},"v":"InnerSource principles are not intuitive for everybody","c":[{"t":"heading","d":5,"p":{"lines":[16,17]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/document-your-guiding-principles\">Document your Guiding Principles</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[18,19]},"v":"Project Setup","c":[{"t":"heading","d":4,"p":{"lines":[20,21]},"v":"Hard to assess a project quickly","c":[{"t":"heading","d":5,"p":{"lines":[22,23]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/base-documentation\">Standard Base Documentation</a>"}]},{"t":"heading","d":4,"p":{"lines":[24,25]},"v":"Ad-hoc communication hinders project growth","c":[{"t":"heading","d":5,"p":{"lines":[26,27]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/communication-tooling\">Communication Tooling</a>"}]},{"t":"heading","d":4,"p":{"lines":[28,29]},"v":"Intransparent roadmap and direction of the project","c":[{"t":"heading","d":5,"p":{"lines":[30,31]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/issue-tracker\">Issue Tracker Use Cases</a>"}]}]}]},{"t":"heading","d":2,"p":{"lines":[32,33]},"v":"Adopt","c":[{"t":"heading","d":3,"p":{"lines":[34,35]},"v":"Valuation Challenges","c":[{"t":"heading","d":4,"p":{"lines":[36,37]},"v":"How to measure a project's business value","c":[{"t":"heading","d":5,"p":{"lines":[38,39]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/crossteam-project-valuation\">Cross-Team Project Valuation</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[40,41]},"v":"Cultural Challenges","c":[{"t":"heading","d":4,"p":{"lines":[42,43]},"v":"Unrecognized effort","c":[{"t":"heading","d":5,"p":{"lines":[44,45]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/praise-participants\">Praise Participants</a>"},{"t":"heading","d":5,"p":{"lines":[46,47]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/trusted-committer\">Trusted Committer</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[48,49]},"v":"Technical Challenges","c":[{"t":"heading","d":4,"p":{"lines":[50,51]},"v":"Not meeting everyone's needs","c":[{"t":"heading","d":5,"p":{"lines":[52,53]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/common-requirements\">Common Requirements</a>"}]},{"t":"heading","d":4,"p":{"lines":[54,55]},"v":"Fear of shared support responsibility","c":[{"t":"heading","d":5,"p":{"lines":[56,57]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/service-vs-library\">Service vs. Library</a>"}]},{"t":"heading","d":4,"p":{"lines":[58,59]},"v":"Project is difficult to contribute to and use","c":[{"t":"heading","d":5,"p":{"lines":[60,61]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/core-team\">Core Team</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[62,63]},"v":"Organizational Challenges","c":[{"t":"heading","d":4,"p":{"lines":[64,65]},"v":"Discouragement of contributing resource","c":[{"t":"heading","d":5,"p":{"lines":[66,67]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/contracted-contributor\">Contracted Contributor</a>"}]},{"t":"heading","d":4,"p":{"lines":[68,69]},"v":"Rejection of accepting contribution","c":[{"t":"heading","d":5,"p":{"lines":[70,71]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/30-day-warranty\">30 Day Warranty</a>"}]},{"t":"heading","d":4,"p":{"lines":[72,73]},"v":"Radical change of management","c":[{"t":"heading","d":5,"p":{"lines":[74,75]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/review-committee\">Review Committee</a>"}]},{"t":"heading","d":4,"p":{"lines":[76,77]},"v":"Fear of shared support responsibility","c":[{"t":"heading","d":5,"p":{"lines":[78,79]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/service-vs-library\">Service vs. Library</a>"}]},{"t":"heading","d":4,"p":{"lines":[80,81]},"v":"Not enough maintainers to scale","c":[{"t":"heading","d":5,"p":{"lines":[82,83]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/trusted-committer\">Trusted Committer</a>"}]},{"t":"heading","d":4,"p":{"lines":[84,85]},"v":"Difficult cross-team coordination","c":[{"t":"heading","d":5,"p":{"lines":[86,87]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/transparent-cross-team-decision-making-using-rfcs\">Transparent Cross-Team Decision Making using RFCs</a>"}]},{"t":"heading","d":4,"p":{"lines":[88,89]},"v":"Project without an owner/maintainer","c":[{"t":"heading","d":5,"p":{"lines":[90,91]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/core-team\">Core Team</a>"}]}]},{"t":"heading","d":3,"p":{"lines":[92,93]},"v":"Cross Legal Entities Challenges","c":[{"t":"heading","d":4,"p":{"lines":[94,95]},"v":"Concern on legal liabilities or cross-company accounting","c":[{"t":"heading","d":5,"p":{"lines":[96,97]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/innersource-license\">InnerSource License</a>"}]}]}]},{"t":"heading","d":2,"p":{"lines":[98,99]},"v":"Grow","c":[{"t":"heading","d":3,"p":{"lines":[100,101]},"v":"Discovery Challenges","c":[{"t":"heading","d":4,"p":{"lines":[102,103]},"v":"Can't find matching projects","c":[{"t":"heading","d":5,"p":{"lines":[104,105]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/gig-marketplace\">Gig Marketplace</a>"},{"t":"heading","d":5,"p":{"lines":[106,107]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/innersource-portal\">InnerSource Portal</a>"}]},{"t":"heading","d":4,"p":{"lines":[108,109]},"v":"Difficult to find active projects","c":[{"t":"heading","d":5,"p":{"lines":[110,111]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/repository-activity-score\">Repository Activity Score</a>"}]}]}]},{"t":"heading","d":2,"p":{"lines":[112,113]},"v":"Scale","c":[{"t":"heading","d":3,"p":{"lines":[114,115]},"v":"Self Education/Improvement Challenges","c":[{"t":"heading","d":4,"p":{"lines":[116,117]},"v":"Not aware of InnerSource best practices","c":[{"t":"heading","d":5,"p":{"lines":[118,119]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/maturity-model\">Maturity Model</a>"}]},{"t":"heading","d":4,"p":{"lines":[120,121]},"v":"Lack of open source knowledge","c":[{"t":"heading","d":5,"p":{"lines":[122,123]},"v":"<a href=\"https://patterns.innersourcecommons.org/p/document-your-guiding-principles\">Document your Guiding Principles</a>"}]}]}]}]})</script>
2929
</body>
3030
</html>

pattern-categorization/innersource-program-mind-map.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212

1313
##### [Dedicated Community Leader](https://patterns.innersourcecommons.org/p/dedicated-community-leader)
1414

15+
#### InnerSource principles are not intuitive for everybody
16+
17+
##### [Document your Guiding Principles](https://patterns.innersourcecommons.org/p/document-your-guiding-principles)
18+
1519
### Project Setup
1620

1721
#### Hard to assess a project quickly
@@ -26,7 +30,7 @@
2630

2731
##### [Issue Tracker Use Cases](https://patterns.innersourcecommons.org/p/issue-tracker)
2832

29-
## Adoption
33+
## Adopt
3034

3135
### Valuation Challenges
3236

@@ -113,3 +117,7 @@
113117
#### Not aware of InnerSource best practices
114118

115119
##### [Maturity Model](https://patterns.innersourcecommons.org/p/maturity-model)
120+
121+
#### Lack of open source knowledge
122+
123+
##### [Document your Guiding Principles](https://patterns.innersourcecommons.org/p/document-your-guiding-principles)
Loading

0 commit comments

Comments
 (0)