Skip to content

Commit

Permalink
Level up to 2: Explicit InnerSource Principles (#374)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
spier authored Jan 6, 2022
1 parent f9df397 commit 3f34253
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 101 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ The below lists all known patterns. They are grouped into three [maturity levels
* [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.*
* [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.*
* [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.*
* [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.*

### Maturity Level 1: Initial

Expand All @@ -70,7 +71,6 @@ The below lists all known patterns. They are grouped into three [maturity levels
* [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.*
* [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.*
* [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.*
* [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.*
* [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.

<!--
Expand Down
2 changes: 1 addition & 1 deletion pattern-categorization/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ In the mind map you will see patterns categorized from left to right in increasi
The logic for these levels is (from left to right):

- level 0: the InnerSource program itself (as the root)
- level 1: phase of an InnerSource Program
- level 1: phase of an InnerSource Program (begin/adopt/grow/scale)
- level 2: problem category
- level 3: specific problem occurring in an InnerSource context
- level 4: pattern (solution to the problem)
Expand Down
2 changes: 1 addition & 1 deletion pattern-categorization/innersource-program-mind-map.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@
Markmap
} = getMarkmap();
window.mm = Markmap.create('svg#mindmap', getOptions == null ? void 0 : getOptions(), data);
})(() => 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>
})(() => 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>
</body>
</html>
10 changes: 9 additions & 1 deletion pattern-categorization/innersource-program-mind-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@

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

#### InnerSource principles are not intuitive for everybody

##### [Document your Guiding Principles](https://patterns.innersourcecommons.org/p/document-your-guiding-principles)

### Project Setup

#### Hard to assess a project quickly
Expand All @@ -26,7 +30,7 @@

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

## Adoption
## Adopt

### Valuation Challenges

Expand Down Expand Up @@ -113,3 +117,7 @@
#### Not aware of InnerSource best practices

##### [Maturity Model](https://patterns.innersourcecommons.org/p/maturity-model)

#### Lack of open source knowledge

##### [Document your Guiding Principles](https://patterns.innersourcecommons.org/p/document-your-guiding-principles)
Binary file modified pattern-categorization/innersource-program-mind-map.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3f34253

Please sign in to comment.