|
| 1 | +## Title |
| 2 | + |
| 3 | +Explicit InnerSource Principles |
| 4 | + |
| 5 | +## Patlet |
| 6 | + |
| 7 | +The usual InnerSource explanation of "applying open source best practices |
| 8 | +inside an organisation" does not work well with people lacking an |
| 9 | +open source background. As a remedy the most important principles of |
| 10 | +InnerSource get published widely. |
| 11 | + |
| 12 | +## Problem |
| 13 | + |
| 14 | +The organisation is trying to roll out InnerSource at a larger scale. The |
| 15 | +initiative started among open source enthusiasts. The goal is now to get buy-in |
| 16 | +from people that are lacking open source experience. For that audience the typical |
| 17 | +slogan of "applying open source best practices" is no longer sufficient to |
| 18 | +transport the message of what InnerSource is, which problems it solves and which |
| 19 | +tools it uses for solving these issues. As a result InnerSource adoption in the |
| 20 | +organisation slows down. Teams develop diverging ideas of what the goals of InnerSource |
| 21 | +is about and how to best implement it leading to confusion when contributors |
| 22 | +are starting to cross team boundaries. |
| 23 | + |
| 24 | +## Story |
| 25 | + |
| 26 | +Early experiments in an organisation have shown that open source collaboration |
| 27 | +best practices can be beneficial. The next step now is to move the initiative to |
| 28 | +teams and individuals lacking a deep background in open source. |
| 29 | + |
| 30 | +The goal now is to clearly communicate the goals of the InnerSource initiative |
| 31 | +as well as a clear path towards achieving these goals. |
| 32 | + |
| 33 | +## Context |
| 34 | + |
| 35 | +* InnerSource as a term is circulating among employees. |
| 36 | +* The initiative started among open source enthusiasts. |
| 37 | + |
| 38 | +## Forces |
| 39 | + |
| 40 | +* Teams have trouble communicating exactly what the important aspects of |
| 41 | +InnerSource are. |
| 42 | + |
| 43 | +* People lacking open source experience fail to understand what it means to bring |
| 44 | +open source best practices into the organisation. |
| 45 | + |
| 46 | +* On a daily basis teams trying to follow InnerSource best practices have a hard |
| 47 | +time deciding if what they are doing is inline with general InnerSource values. |
| 48 | + |
| 49 | +## Solution |
| 50 | + |
| 51 | +Those driving the InnerSource initiative in the organisation need to help the teams and individuals that are lacking a deep background in open source, and therefore have a less intuitive understanding of InnerSource. |
| 52 | + |
| 53 | +Clarity should be provided around these two areas: |
| 54 | + |
| 55 | +### Why does the organisation want to adopt InnerSource? |
| 56 | + |
| 57 | +In the past InnerSource has proven to be successful to solve several issues |
| 58 | +commonly found in organisations. |
| 59 | + |
| 60 | +However which organizational challenges does your organization hope to improve |
| 61 | +upon using InnerSource? |
| 62 | + |
| 63 | +Instead of going for generalizations, try to exactly identify the solutions |
| 64 | +that match the challenges of your organisation - preferably with those affected |
| 65 | +by the change you want to see. |
| 66 | + |
| 67 | +Some challenges that others have addressed by following InnerSource |
| 68 | +best practices: |
| 69 | + |
| 70 | +* Reduce development silos caused by excessive ownership culture. |
| 71 | +* Increase innovation speed by reducing time spent solving similar issues by |
| 72 | + fostering healthy code reuse. |
| 73 | +* Increase development speed by better cross-team collaboration. |
| 74 | +* Solve project/ team dependencies beyond "wait it out" and "build workarounds", |
| 75 | + thereby reducing engineering bottlenecks. |
| 76 | +* Increase quality. |
| 77 | +* Increase employee happiness. |
| 78 | +* To increase success of new hires. |
| 79 | +* To build actionable documentation. |
| 80 | + |
| 81 | +### Which InnerSource principles will help to address these challenges? |
| 82 | + |
| 83 | +Once teams understand which problems InnerSource will help them address, the |
| 84 | +next step is to explain which principles help address these challenges. |
| 85 | + |
| 86 | +Based on basic open source development principles the following guidelines |
| 87 | +have been proven successful: |
| 88 | + |
| 89 | +(1) Code must be transparently hosted within the organisation |
| 90 | + |
| 91 | +Source code, documentation, data relevant for project development must be |
| 92 | +available and easy to find for anyone in the organisation. |
| 93 | + |
| 94 | +(2) Contributions over feature requests |
| 95 | + |
| 96 | +All stakeholders of a project act as potential contributors and are being |
| 97 | +treated and supported as such. Contributions remain suggestions instead of |
| 98 | +requirements. Coordination before a contribution helps avoid wasted effort. |
| 99 | +Projects provide contribution guidelines to avoid friction. |
| 100 | + |
| 101 | +(3) Mistakes are opportunities for learning |
| 102 | + |
| 103 | +With work visible across the entire organisation any mistake is visible to |
| 104 | +everyone. As a result a culture must be established in which mistakes are |
| 105 | +opportunities for learning instead of failure that should be avoided at all |
| 106 | +cost. |
| 107 | + |
| 108 | +(4) Written over verbal communication |
| 109 | + |
| 110 | +For projects that span multiple teams, potentially on diverging meeting |
| 111 | +schedules, it needs to be possible to collaborate asynchronously. The goal for |
| 112 | +InnerSource projects is to recruit new contributors. For that, potential future |
| 113 | +contributors need to be able to follow the project progress on a self serve |
| 114 | +basis with a very low barrier to entry. If project relevant communication |
| 115 | +happens through synchronous communication, arguments discussed need to be made |
| 116 | +transparent in the written channel - decisions should be finalized only there. |
| 117 | +As a side effect this leads to passive base documentation that is very valuable |
| 118 | +for any newcomer to the project. |
| 119 | + |
| 120 | +(5) Allow written advise to accumulate in a persistent, searchable archive |
| 121 | + |
| 122 | +All project communication, in particular decisions taken and discussions leading |
| 123 | +up to those decisions need to be archived. It must be possible to reference |
| 124 | +communication via stable URLs. Previous communication needs to be stored in a |
| 125 | +way that can easily be searched. |
| 126 | + |
| 127 | +Two caveats though: |
| 128 | + |
| 129 | +1. This does not replace structured documentation. It can serve as a starting point |
| 130 | +to collect structured documentation though. |
| 131 | + |
| 132 | +2. There are exceptions to the rule of everything being written and accessible to |
| 133 | +the entire organisation: People related discussions as well as security related |
| 134 | +discussions are sensitive and should not be held in public. |
| 135 | + |
| 136 | +(6) Reward Trusted Committership |
| 137 | + |
| 138 | +All contributions (e.g. source code, documentation, bug reports, input to |
| 139 | +discussions, user support, marketing) are welcome and are being rewarded. |
| 140 | +Those showing support for the project are being invited as |
| 141 | +[Trusted Committers](../2-structured/trusted-committer.md). All Trusted Committers of a project are published. |
| 142 | + |
| 143 | +## Resulting Context |
| 144 | + |
| 145 | +* Organisation members understand which challenges they can address by |
| 146 | +applying InnerSource best practices. |
| 147 | + |
| 148 | +* Organisation members lacking prior open source experience understand the basic |
| 149 | +values and principles of InnerSource projects. |
| 150 | + |
| 151 | +* Organisation members lacking prior open source experience are able to check |
| 152 | +their daily doing against a set of common established values. |
| 153 | + |
| 154 | +* The organisation's development practices become more similar to open source projects thus |
| 155 | +making it easier for organisation members to participate in open source |
| 156 | +projects. |
| 157 | + |
| 158 | +## Known Instances |
| 159 | + |
| 160 | +* Europace AG - see also [Europace InnerSource Prinzipien](https://tech.europace.de/post/europace-inner-source-prinzipien/) (German) |
| 161 | + |
| 162 | +## Status |
| 163 | + |
| 164 | +Initial |
0 commit comments