Skip to content

Level up to 2: Explicit InnerSource Principles #374

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Jan 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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