Skip to content

Commit 6407bbb

Browse files
committed
[Pattern Draft] Require InnerSource before Open Source
1 parent e5156fe commit 6407bbb

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Title
2+
3+
Require InnerSource before Open Source
4+
5+
## Patlet
6+
7+
Organizations often struggle with maintaining and managing open source projects due to a lack of internal collaboration practices and infrastructure. By requiring projects to be InnerSource before becoming open source, teams can establish the necessary internal support, governance, and collaboration skills needed for successful community engagement.
8+
9+
## Problem
10+
11+
When a project is released as open source without first building a strong internal contributor base, it may face challenges such as insufficient documentation, unclear governance, and difficulty managing external contributions. Without prior experience in collaborative development, maintainers may struggle to handle the influx of external contributors, resulting in an unsuccessful or unsustainable open source project.
12+
13+
## Story
14+
15+
A large tech company once open-sourced a widely used internal tool, expecting external developers to contribute immediately. However, due to a lack of contributor guidelines, onboarding processes, and structured governance, external adoption was low, and internal maintainers were overwhelmed with unstructured contributions and support requests.
16+
17+
After seeing this, the company implemented an InnerSource-first policy, ensuring internal teams could practice open collaboration before releasing future projects as open source.
18+
19+
## Context
20+
21+
This pattern applies in organizations that:
22+
23+
- Want to release internal software as open source.
24+
- Lack structured internal collaboration processes.
25+
- Have teams unfamiliar with maintaining open source projects.
26+
- Need to establish internal governance and contribution models before engaging the broader open source community.
27+
28+
## Forces
29+
30+
- **Collaboration Readiness**: Teams may not be used to handling external contributions or asynchronous collaboration.
31+
- **Documentation Gaps**: A lack of contributor guidelines, API documentation, and onboarding materials can hinder adoption.
32+
- **Governance & Ownership**: Without clear ownership and decision-making processes, project direction can become unclear.
33+
- **Support Burden**: Open source projects require active maintainers to review pull requests, address issues, and engage the community.
34+
- **Security & Compliance**: Code may require review to meet licensing and security requirements before being released publicly.
35+
36+
## Solution
37+
38+
Before making a project open source, require it to go through an InnerSource phase where:
39+
40+
1. The project is made available internally for contributions from other teams.
41+
2. Clear documentation, contribution guidelines, and governance structures are established.
42+
3. Maintainers gain experience managing contributions, reviewing pull requests, and addressing issues.
43+
4. Internal adoption and success metrics are measured to determine if the project is ready for external release.
44+
5. Feedback loops are created to refine processes before engaging a broader open source audience.
45+
46+
## Resulting Context
47+
48+
- Teams develop the skills necessary to manage open source projects effectively.
49+
- Contributor documentation and governance structures are established and tested.
50+
- Internal adoption increases, providing validation of the project's value before external release.
51+
- The transition to open source is smoother, with better preparedness for external collaboration.
52+
53+
## Rationale
54+
55+
By requiring InnerSource before Open Source, organizations ensure that projects are equipped with the right practices and infrastructure to thrive in an open community. This approach mitigates risks, improves sustainability, and maximizes the chances of long-term success.
56+
57+
## Known Instances
58+
59+
- Several large enterprises, including major tech companies, require internal projects to undergo an InnerSource phase before being open-sourced.
60+
- Open source foundations often encourage organizations to refine their collaboration processes internally before publicly launching a project.
61+
62+
## Status
63+
64+
- Initial
65+
66+
## Author(s)
67+
68+
- Sebastian Spier
69+
70+
## Alias
71+
72+
- InnerSource as a Stepping Stone to Open Source
73+
- InnerSource before Open Source

0 commit comments

Comments
 (0)