You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Review patterns from Europace. Changes mostly focused on correct formatting in our gitbook. (#260)
In detail:
- remove line-breaks in lists, as otherwise the list items don't use the full width of the book pages. extra line-breaks in lists may also lead to broken links
- link to other patterns where possible
- format file names with filename syntax
- introducing sub-sections for both README.md and CONTRIBUTING.md
- further minor typos and formatting inconsistencies
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,6 +40,9 @@ The below lists all known patterns. They are grouped into three [maturity levels
40
40
*[Service vs. Library](patterns/2-structured/service-vs-library.md) - *Teams in a DevOps environment may be reluctant to work across team boundaries on common code bases due to ambiguity over who will be responsible for responding to service downtime. The solution is to realize that often it's
41
41
possible to either deploy the same service in independent environments with separate escalation chains in the event of service downtime or factor a lot of shared code out into one library and collaborate on that.*
42
42
*[Trusted Committer](patterns/2-structured/trusted-committer.md) - *Many inner-source projects will find themselves in a situation where they consistently receive feedback, features, and bug-fixes from contributors. In these situations project maintainers seek ways to recognize and reward the work of the contributor above and beyond single contributions.*
43
+
*[Standard Base Documentation](patterns/2-structured/project-setup/base-documentation.md) - *New contributors to an InnerSource project have a hard time figuring out who maintains the project, what to work on, and how to contribute. Providing documentation in standard files like README.md/CONTRIBUTING.md enables a self service process for new contributors, so that they can find the answers to the most common questions on their own.*
44
+
*[Issue Tracker Use Cases](patterns/2-structured/project-setup/issue-tracker.md) - *The InnerSource host team fails to make not only plans and progress but also context for changes transparent. This is solved by increasing the use cases for the project issue tracker to also serve brainstorming, implementation discussion, and feature design.*
45
+
*[Communication Tooling](patterns/2-structured/project-setup/communication-tooling.md) - *An InnerSource project is being used outside the original development team but users are having trouble getting help and getting in touch with the project team. The idea is to setup and document standard communication tooling that allows for discussions to become visible, archived and searchable.*
43
46
44
47
#### Pattern Drafts (proven, not yet fully reviewed)
45
48
@@ -50,9 +53,6 @@ possible to either deploy the same service in independent environments with sepa
50
53
*[Open Source Trumps InnerSource](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/46) - *People find the InnerSource project but, after all things are considered, even if the InnerSource component meets their needs, they still go with the open source component.*
51
54
*[Start as Experiment](patterns/2-structured/start-as-experiment.md) - *An inner source initiative is considered but not started, because management is unsure about its outcome and therefore unwilling to commit to the investment.*
52
55
*[Include Product Owners](https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/71) - *Key Performance Indicators (KPIs) for Product Owners are primarily product focused, and don't consider areas such as collaborative development. This results in a lower level of engagement with inner source projects.*
53
-
*[Standard Base Documentation](patterns/2-structured/project-setup/base-documentation.md) - *New contributors to an InnerSource project have a hard time figuring out who maintains the project, what to work on, and how to contribute. Providing documentation in standard files like README.md/CONTRIBUTING.md enables a self service process for new contributors, so that they can find the answers to the most common questions on their own.*
54
-
*[Issue Tracker Use Cases](patterns/2-structured/project-setup/issue-tracker.md) - *The InnerSource host team fails to make not only plans and progress but also context for changes transparent. This is solved by increasing the use cases for the project issue tracker to also serve brainstorming, implementation discussion, and feature design.*
55
-
*[Communication Tooling](patterns/2-structured/project-setup/communication-tooling.md) - *An InnerSource project is being used outside the original development team but users are having trouble getting help and getting in touch with the project team. The idea is to setup and document standard communication tooling that allows for discussions to become visible, archived and searchable.*
Copy file name to clipboardExpand all lines: patterns/2-structured/project-setup/base-documentation.md
+28-69Lines changed: 28 additions & 69 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Standard Base Documentation
6
6
7
7
New contributors to an InnerSource project have a hard time figuring out who
8
8
maintains the project, what to work on, and how to contribute. Providing
9
-
documentation in standard files like README.md/CONTRIBUTING.md enables a
9
+
documentation in standard files like `README.md`/`CONTRIBUTING.md` enables a
10
10
self service process for new contributors, so that they can find the answers to
11
11
the most common questions on their own.
12
12
@@ -30,40 +30,15 @@ speed quickly.
30
30
31
31
## Forces
32
32
33
-
- The project was converted into an InnerSource project only recently. Before,
34
-
users were either only internal or on-boarded in personal face-to-face
35
-
sessions. Equally, people working on the project went through personal
36
-
on-boarding sessions which do not scale with growing numbers of contributors or
37
-
remote contributors. As a result, self service documentation is lacking.
38
-
- The project was newly created as an InnerSource project. However the host team
39
-
lacks experience with InnerSource. As a result they need guidance on which
40
-
information to include in their documentation, where to put that documentation
41
-
so others can find it and which types of readers to address in their
42
-
documentation.
43
-
- The project was converted into an InnerSource project only recently, the host
44
-
team has limited experience with InnerSource. As a result, existing
45
-
documentation addresses a lot of technical aspects. It does not cover
46
-
communication, coordination, information needed to facilitate transparent
47
-
planning.
48
-
- The project was converted into an InnerSource project only recently. As a
49
-
result, a lot of implicit knowledge that exists within the team is neither
50
-
written down nor obvious to contributors.
51
-
- A lack of documentation leads to potential contributors taking a long time to
52
-
get setup and get started. Producing documentation (and keeping it up to date)
53
-
requires a time investment. Even if the host team relies on contributors to
54
-
help with lacking documentation, those contributions still need time to review.
55
-
- Project members are spending a lot of time answering getting started
56
-
questions. Maintaining a comprehensive database of what could be considered
57
-
support questions requires a lot of time and effort though.
58
-
- Different teams within the organization have diverging standards for how to
59
-
format source code and which software patterns to use. As a result
60
-
contributions often end up getting re-written to a large part or even
61
-
entirely. Standardizing all of that and enforcing the standard often
62
-
would require a lot of time and work.
63
-
- The added work for repeated explanations and re-writes diminishes the
64
-
usefulness of the InnerSource approach.
65
-
- Frequent escalations due to extra work and delays due to re-writes lead to a
66
-
big cheese situation.
33
+
- The project was converted into an InnerSource project only recently. Before, users were either only internal or on-boarded in personal face-to-face sessions. Equally, people working on the project went through personal on-boarding sessions which do not scale with growing numbers of contributors or remote contributors. As a result, self service documentation is lacking.
34
+
- The project was newly created as an InnerSource project. However the host team lacks experience with InnerSource. As a result they need guidance on which information to include in their documentation, where to put that documentation so others can find it and which types of readers to address in their documentation.
35
+
- The project was converted into an InnerSource project only recently, the host team has limited experience with InnerSource. As a result, existing documentation addresses a lot of technical aspects. It does not cover communication, coordination, information needed to facilitate transparent planning.
36
+
- The project was converted into an InnerSource project only recently. As a result, a lot of implicit knowledge that exists within the team is neither written down nor obvious to contributors.
37
+
- A lack of documentation leads to potential contributors taking a long time to get setup and get started. Producing documentation (and keeping it up to date) requires a time investment. Even if the host team relies on contributors to help with lacking documentation, those contributions still need time to review.
38
+
- Project members are spending a lot of time answering getting started questions. Maintaining a comprehensive database of what could be considered support questions requires a lot of time and effort though.
39
+
- Different teams within the organization have diverging standards for how to format source code and which software patterns to use. As a result contributions often end up getting re-written to a large part or even entirely. Standardizing all of that and enforcing the standard often would require a lot of time and work.
40
+
- The added work for repeated explanations and re-writes diminishes the usefulness of the InnerSource approach.
41
+
- Frequent escalations due to extra work and delays due to re-writes lead to a big cheese situation.
67
42
68
43
## Solution
69
44
@@ -72,52 +47,40 @@ creating this documentation should be to make getting started as much a self
72
47
service process as possible with frequently asked questions answered in standard
73
48
documentation format.
74
49
75
-
If it does not yet exist, create a **README.md** for your project. It should
50
+
### README.md
51
+
52
+
If it does not yet exist, create a `README.md` for your project. It should
76
53
contain:
77
54
78
-
* The [mission of the
79
-
project](https://producingoss.com/en/producingoss.html#mission-statement) in
80
-
as a concise format as possible. It should answer what the project's purpose
81
-
is and enable contributors to make a good first guess whether a suggested
82
-
feature will likely be in scope for the project, or not.
83
-
* A "Getting Started" section for downstream users of the project. It should
84
-
explain how to setup/ integrate the project artifacts as well as an
85
-
explanation of some of the first typical steps for first time users.
55
+
* The [mission of the project](https://producingoss.com/en/producingoss.html#mission-statement) in as a concise format as possible. It should answer what the project's purpose is and enable contributors to make a good first guess whether a suggested feature will likely be in scope for the project, or not.
56
+
* A "Getting Started" section for downstream users of the project. It should explain how to setup/ integrate the project artifacts as well as an explanation of some of the first typical steps for first time users.
86
57
* Deeper documentation for project users - or a link to that.
87
-
* Documentation needed for making modifications to the project - or a link to
88
-
that.
58
+
* Documentation needed for making modifications to the project - or a link to that.
89
59
* Documentation on how to contribute to the project - or a link to that.
90
-
* A "Getting involved" section that explains which public, archived, linkable
91
-
communication channels the project uses. This should include a link to the
92
-
project issue tracker, but also to any further discussion media used.
93
-
* A "Who we are" section explaining who the Trusted Committers behind the
94
-
project are - with an explanation that instead of contacting these people
95
-
privately the public communication channels above should be used for
96
-
communication.
97
-
* An explanation of what the criteria are for the project to turn contributors
98
-
into Trusted Committers - if that path exists.
60
+
* A "Getting involved" section that explains which public, archived, linkable communication channels the project uses. This should include a link to the project issue tracker, but also to any further discussion media used.
61
+
* A "Who we are" section explaining who the [Trusted Committers](../trusted-committer.md) behind the project are - with an explanation that instead of contacting these people privately the public communication channels above should be used for communication.
62
+
* An explanation of what the criteria are for the project to turn contributors into Trusted Committers - if that path exists.
63
+
64
+
### CONTRIBUTING.md
99
65
100
66
If the explanation of the steps to make a contribution are too involved, create
101
-
a separate **CONTRIBUTING.md** document. This document should answer frequently
67
+
a separate `CONTRIBUTING.md` document. This document should answer frequently
102
68
asked questions that contributors have asked in the past. There is no need to
103
69
provide a comprehensive book up front. Rather, share information that has proven
104
70
needed by contributors. Likely it will touch upon one or more of the following
105
71
topics:
106
72
107
73
* How to checkout the project source code from version control.
108
-
* How to make modifications to the project (potentially including information on
109
-
coding guidelines.)
74
+
* How to make modifications to the project (potentially including information on coding guidelines).
110
75
* How to build the project.
111
-
* How to run tests to make sure the above modifications aren't introducing new
112
-
bugs.
76
+
* How to run tests to make sure the above modifications aren't introducing new bugs.
113
77
* How to submit your modifications back to the project.
114
78
* Some information on which turnaround time to expect for modifications made.
115
79
116
80

117
81
118
-
119
-
There are many of good examples for how to write a README.md and what kind
120
-
of information to include in a CONTRIBUTING.md file in various open source projects.
82
+
There are many of good examples for how to write a `README.md` and what kind
83
+
of information to include in a `CONTRIBUTING.md` file in various open source projects.
121
84
Pages like [how to write a readme that rocks](https://m.dotdev.co/how-to-write-a-readme-that-rocks-bc29f279611a),
122
85
[Open Source Guide from GitHub](https://opensource.guide/) as well as
123
86
the book [Producing Open Source](https://producingoss.com/en/producingoss.html)
@@ -137,10 +100,8 @@ started right away: [README-template.md](templates/README-template.md) and
137
100
## Resulting Context
138
101
139
102
* The time for contributors to get up to speed is significantly reduced.
140
-
* Time spent on answering initial questions for Trusted Committers is
141
-
significantly reduced leaving them more time to work on other tasks.
142
-
* Escalations due to misunderstandings and misalignment are significantly
143
-
reduced.
103
+
* Time spent on answering initial questions for [Trusted Committers](../trusted-committer.md) is significantly reduced, leaving them more time to work on other tasks.
104
+
* Escalations due to misunderstandings and misalignment are significantly reduced.
144
105
145
106
## Known Instances
146
107
@@ -151,8 +112,6 @@ started right away: [README-template.md](templates/README-template.md) and
151
112
152
113
* Isabel Drost-Fromm
153
114
154
-
## Acknowledgements
155
-
156
115
## Alias
157
116
158
117
Provide standard base documentation through a README
Copy file name to clipboardExpand all lines: patterns/2-structured/project-setup/communication-tooling.md
+7-20Lines changed: 7 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,12 +25,9 @@ answer.
25
25
26
26
## Forces
27
27
28
-
- The host team is interested in receiving contributions and willing to mentor
29
-
contributors.
30
-
- Teams have a strong verbal communication culture and are inexperienced with
31
-
setting up project specific asynchronous communication channels.
32
-
- Communication channels may be aligned with specific groups that should be
33
-
reached but not by communication purpose.
28
+
- The host team is interested in receiving contributions and willing to mentor contributors.
29
+
- Teams have a strong verbal communication culture and are inexperienced with setting up project specific asynchronous communication channels.
30
+
- Communication channels may be aligned with specific groups that should be reached but not by communication purpose.
34
31
35
32
## Solution
36
33
@@ -42,24 +39,14 @@ The goal when streamlining communication channels for InnerSource projects
42
39
should be to align communication around topics, not around certain sets of
43
40
people:
44
41
45
-
- The project should have it's own issue tracker where structured communication,
46
-
decision making and progress tracking can happen transparently for all host
47
-
team members but also for downstream users and contributors to follow.
48
-
- The project should have one or more discussion channels that come with less
49
-
rigid a structure. Typically this will be mailing lists, online forums or even
50
-
archived chat channels. Usually it is enough to start with just one channel
51
-
for the project, if traffic increases too much it's helpful to split
52
-
discussions around project usage from discussions around project development.
53
-
- In addition the project should have one private channel where sensitive
54
-
communication can happen between Trusted Committers - e.g. adding further
55
-
Trusted Committers to the host team. This channel should be used with great
56
-
care such that communication defaults to open and is kept private only under
57
-
very rare circumstances.
42
+
- The project should have it's own issue tracker where structured communication, decision making and progress tracking can happen transparently for all host team members but also for downstream users and contributors to follow.
43
+
- The project should have one or more discussion channels that come with less rigid a structure. Typically this will be mailing lists, online forums or even archived chat channels. Usually it is enough to start with just one channel for the project, if traffic increases too much it's helpful to split discussions around project usage from discussions around project development.
44
+
- In addition the project should have one private channel where sensitive communication can happen between [Trusted Committers](../trusted-committer.md) - e.g. adding further Trusted Committers to the host team. This channel should be used with great care such that communication defaults to open and is kept private only under very rare circumstances.
58
45
59
46
While communication can happen outside of written channels, as much information
60
47
as possible should be brought back to the asynchronous channels.
61
48
62
-
All communication channels should be documented in the project README.md The
49
+
All communication channels should be documented in the project `README.md`. The
63
50
host team members need to make an effort to direct questions that they receive
64
51
personally back to official communication channels.
0 commit comments