Skip to content

Commit 9cc6dc6

Browse files
committed
fix: MD022 space around heading
1 parent 3ce53ef commit 9cc6dc6

File tree

10 files changed

+107
-1
lines changed

10 files changed

+107
-1
lines changed

.markdownlint.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"MD007": false,
55
"MD013": false,
66
"MD014": false,
7-
"MD022": false,
87
"MD024": false,
98
"MD025": false,
109
"MD026": false,

meta/FAQ.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
This is a list of frequently asked questions about InnerSource Patterns
22

33
## What are the different parts of a pattern? What do they mean?
4+
45
* See the [pattern template](pattern-template.md) (in the *meta* subdirectory)
56

67
## Why use a patterns approach to InnerSource?
8+
79
* It abstracts information from known instances of proven solutions so that other people/companies can understand not only what was done by why it worked and how to adapt it to their own situations.
810

911
## How do you use the pattern?
12+
1013
* Each organization has its own history (*context*) and culture (a source of *forces*) and even goals, so using a pattern to solve their problems will generally require adaptation of that pattern. Try to identify things about your situation that are unique and apply those as makes sense to the *Context* and *Forces* identified in the pattern. See if these additional constraints might require changes to the *Solution* to ensure that the pattern will work.
1114
* Patterns can also be used as a short-hand when discussing InnerSource programs across organizational boundaries.
1215

1316
## I'd like to consult with the IS Patterns community; do I need to have participating members sign NDAs?
17+
1418
* You could do that, but be aware that the vast majority of IS Patterns meetings are held under the [Chatham House Rule](https://www.chathamhouse.org/chatham-house-rule) that should provide sufficient protection to enable a productive discussion.

meta/pattern-template.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,65 @@
11
## Title
2+
23
Short Title Here
34

45
## Patlet
6+
57
Concise 1-2 sentence description of the problem and solution. Readers may quickly review dozens of these patlets to discover and browse the larger library of patterns. From http://wiki.c2.com/?PatLet
68

79
## Problem
10+
811
What is the problem - crisp definition of the problem. Short description, usually not more than a couple sentences, that describes what the issues and challenges are. Be careful not to morph into information found in other sections below.
912

1013
## Story (optional)
14+
1115
Sometimes there is a story that helps people understand the pattern better.
1216

1317
## Context
18+
1419
Where does the problem exist? What are the pre-conditions? **Unchangeable** before the solution goes into place. The content here is often tied to the applicability of the pattern for other readers: "Do I have this same particular situation?"
1520

1621
## Forces
22+
1723
What makes the problem difficult? What are the trade-offs? These are constraints that **can be changed** at a cost. The solution might change one or more of these forces in order to solve the problem, while also in-turn changing the context.
1824

1925
## Sketch (optional)
26+
2027
visual illustration
2128

2229
## Solutions
30+
2331
Verified resolutions and possible resolutions to the problem.
2432

2533
## Resulting Context
34+
2635
What is the situation after the problem has been solved? The original context is changed indirectly by way of the solution. Often this section can include discussion of the next possible Patterns/problems introduced. This section can be short in content - the solution may not introduce new problems or change much context.
2736

2837
## Rationale (optional)
38+
2939
Explains why this is the right solution; using totally different words WHY this solution balances these forces and this context to solve this problem. Can expand on what-if's or theories.
3040

3141
## Known Instances (optional)
42+
3243
Where has this been seen before? Helps to reinforce that this is a REAL pattern and that you match the context.
3344

3445
May mention:
3546
* A particular business
3647
* Anonymized instances ex: "3 companies have proven that this is a good solution" or "A large financial services org...".
3748

3849
## Status (optional until merging)
50+
3951
General pattern status is stored in GitHub's Label tagging - see any pull request. Note that this GitHub label tagging becomes less visible once the pattern is finalized and merged, so having some information in this field is helpful.
4052

4153
You might store other related info here, such as review history: "Three of us reviewed this on 2/5/17 and it needs John's expertise before it can go further."
4254

4355
## Author(s) (optional)
56+
4457
Often, this is yourself; If you need to, find someone in the InnerSource Commons to be the nominal author (As Told To); Could also be no-one if you do not want to take on authorship (common with a donut looking for a solution)
4558

4659
## Acknowledgements (optional)
60+
4761
Include those who assisted in helping with this pattern - both for attribution and for possible future follow up. Though optional, most patterns should list who helped in their creation.
4862

4963
## Alias (optional)
64+
5065
If this pattern is also known under a different name than what is listed unter **Title**, please list those alternative titles here. e.g. if the pattern is named after the problem it solves, a helpful alias might be one that describes the solution that is applied.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,91 @@
11
# [InnerSource Program](https://innersourcecommons.gitbook.io/innersource-patterns/v/book/toc)
2+
23
## Begin
4+
35
### [Start as an Experiment](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/start-as-experiment.md)
6+
47
### [Dedicated Community Manager](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/dedicated-community-leader.md)
8+
59
### Project Setup
10+
611
#### [Standard Base Documentation](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/project-setup/base-documentation.md)
12+
713
#### [Communication Tooling](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/project-setup/communication-tooling.md)
14+
815
#### [Issue Tracker Use Cases](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/project-setup/issue-tracker.md)
916

1017
## Adoption
18+
1119
### Valuation Challenges
20+
1221
#### How to measure a project's business value
22+
1323
##### [Cross-Team Project Valuation](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/crossteam-project-valuation.md)
24+
1425
### Cultural Challenges
26+
1527
#### Unrecognized effort
28+
1629
##### [Praise Participants](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/praise-participants.md)
30+
1731
##### [Trusted Committer](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/trusted-committer.md)
32+
1833
### Technical Challenges
34+
1935
#### Not meeting everyone's needs
36+
2037
##### [Common Requirements](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/common-requirements.md)
38+
2139
#### Fear of shared support responsibility
40+
2241
##### [Service vs. Library](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/service-vs-library.md)
42+
2343
### Organizational Challenges
44+
2445
#### Discouragement of contributing resource
46+
2547
##### [Contracted Contributor](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/contracted-contributor.md)
48+
2649
#### Rejection of accepting contribution
50+
2751
##### [30 Day Warranty](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/30-day-warranty.md)
52+
2853
#### Radical change of management
54+
2955
##### [Review Committee](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/review-committee.md)
56+
3057
#### Fear of shared support responsibility
58+
3159
##### [Service vs. Library](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/service-vs-library.md)
60+
3261
#### Not enough maintainers to scale
62+
3363
##### [Trusted Committer](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/trusted-committer.md)
64+
3465
### Cross Legal Entities Challenges
66+
3567
#### Concern on legal liabilities or cross-company accounting
68+
3669
##### [InnerSource License](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/innersource-license.md)
70+
3771
## Grow
72+
3873
### Discovery Challenges
74+
3975
#### Can't find matching projects
76+
4077
##### [Gig Marketplace](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/gig-marketplace.md)
78+
4179
##### [InnerSource Portal](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/innersource-portal.md)
80+
4281
#### Difficult to find active projects
82+
4383
##### [Repository Activity Score](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/repository-activity-score.md)
84+
4485
## Scale
86+
4587
### Self Education/Improvement Challenges
88+
4689
#### Not aware of InnerSource best practices
90+
4791
##### [Maturity Model](https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/master/patterns/2-structured/maturity-model.md)

patterns/1-initial/code-consumers.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
Code Consumers
44

55
# Patlet
6+
67
TBD
78

89
# Problem
10+
911
There's several reasons why we might want to know who's using (consuming) our code. We can't do the following:
1012
* notify downstream users/projects of found (fixed?) vulnerabilities
1113
* audit flow of IP
@@ -14,15 +16,18 @@ There's several reasons why we might want to know who's using (consuming) our co
1416
* survey users for feedback
1517

1618
# Context
19+
1720
This is a general issue that affects potentially all InnerSource (and open source!) projects.
1821
The act of opening code allows people to use it without letting you know.
1922

2023
# Forces
24+
2125
* The harder it is to download/integrate the project, the less it will be adopted (forcing people to give information when they use it adds barriers)
2226
* Not all projects may want you to know what they're using (tightly closed source/top secret downstream project)
2327
* Putting in callback/call home routines into projects may introduce distrust in downstream projects and users
2428

2529
# Solutions
30+
2631
The following are potential solutions that have been proposed to this problem:
2732
* Scan all output artifacts for known signatures (manifests/npm/includes etc)
2833
* Voluntary disclosure/signup upon installation/using
@@ -31,15 +36,19 @@ The following are potential solutions that have been proposed to this problem:
3136
* Incentivise/Offer users a mailing list/update stream to which they can subscribe
3237

3338
# Resulting Context
39+
3440
_needs work..?_
3541

3642
# Known Instances
43+
3744
_needs work...?_
3845

3946
# Authors
47+
4048
* Georg Grütter (Robert Bosch GmbH)
4149
* Raimund Hook (EXFO Inc)
4250
* Katrina Novakovic (RedHat)
4351

4452
# Status
53+
4554
Drafted at the 2019 Spring InnerSource Commons Summit in Galway - 10 April 2019

patterns/1-initial/discover-your-innersource.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
## Title
2+
23
Discover Your InnerSource
34

45
## Also Known As
6+
57
* Not looking for stuff internally
68
* Don't bother looking
79
* Find it Inside
810

911
## Context
12+
1013
* Software component(s) are available internally but users can't easily find these.
1114
* This problem is more likely to occur in large, federated companies where different organizational units operate as silos.
1215
* Historically, the company does not have a culture of sharing code across silos.
1316

1417
## Discussion on
18+
1519
* Comments may appear in the timeline but not with the file once it is edited (github)?
1620
* https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/60
1721
* If only X knew what X knew; the internal search engine is bad. No one can find anything because it is difficult to add things to the search index.
@@ -22,9 +26,11 @@ Discover Your InnerSource
2226
* The company traditionally has been bad at sharing across silos (people don't have the culture of sharing).
2327

2428
## Problem
29+
2530
People don't bother looking for internally developed solutions - they might not find the repo at all or be aware of its existence.
2631

2732
## Forces
33+
2834
* No good internal search engine (or not connected to git repositories; and difficult to make this change happen)
2935
* Users may not know there are common places to find internally developed solutions.
3036
* People don't expect to find solutions internally.
@@ -35,6 +41,7 @@ People don't bother looking for internally developed solutions - they might not
3541
- if someone put out a SW internally, the expectation is that they wouldn't have time to support it (vs. open source options)
3642

3743
## Solution
44+
3845
Make it easy to find the reusable code.
3946

4047
* Pull in Repo names, descriptions and README.md files into the search engine assuming that a search engine exists. Note: a one-stop-shop kind of search engine for all relevant communication and documentation is difficult to attain. Even when using Github's enterprise offering, people often deploy additional systems like wikis to host content orthogonal to what is in the code repositories, slack channels (or IRC), mailing lists (or even nntp servers), some place to store stuff written down in office formats, search over personal e-mail etc. Several of these systems come with search built-in, but integrating this content in one search box or even just deploying a federated search engine across all sources often doesn't come off-the-shelf.
@@ -49,6 +56,7 @@ Make it easy to find the reusable code.
4956
## Known instances
5057

5158
## Resulting Context
59+
5260
* Internal components are easily visible
5361
* Developers looking for code can search for it and find it quickly.
5462
* Developers are now looking internally for software components
@@ -57,13 +65,16 @@ Make it easy to find the reusable code.
5765
* See [Improved Findability](improve-findability.md) (aka Poor Naming Conventions or Badly Named Piles) as a related pattern.
5866

5967
## Status
68+
6069
Brainstormed pattern idea in progress
6170

6271
## Authors
72+
6373
* Georg Grutter
6474
* Erin Bank
6575
* Padma Sudarsan
6676
* Tim Yao
6777

6878
## Acknowledgements
79+
6980
* Contributions from Russ Rutledge, Ofer Hermoni and Robert Hanmer

patterns/1-initial/junkyard-styled-innersourcing.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
## Title
2+
23
* Junkyard styled inner sourcing
34
* Finding but deciding not to use the internal component
45

56
## Context
7+
68
Two situations:
79

810
* SW component not designed for reuse because the schedule was too tight and did not allow for the extra effort needed
911
* Did not have the knowledge or training to create components that can b reused.
1012

1113
## Problem
14+
1215
* How do you encourage people to share whatever code they write?
1316

1417
## Forces
18+
1519
* People don't share something so others can use it; they only share it for the sake of sharing. They wouldn't mind if no one uses it (a bit of a graveyard: "InnerSource is where modules go to die")
1620
* A developer might be a person who likes to share their code; one that likes others to read it (and maybe comment on it. But mostly they like to write code. "Hey, I wrote this nifty gzorp and you might like it (but its no skin off my nose if you don't)"
1721
* the code is crap
@@ -21,13 +25,16 @@ Two situations:
2125
* How do we politely take their freely offered code and harden it or otherwise prepare it for production without having the original contributor feel like we are saying their code is crap?
2226

2327
## Solution
28+
2429
* Support all contributions to the shared repository.
2530
* Provide some sort of grading (Alexander marked his patterns with 0, 1 or 2 stars depending upon how convinced he was that it was a good pattern), so that the reader can be aware of what to expect. But how to do that without insulting the contributor? (solution: engage them in the process -- have 2 scores, what they think, and what users think or how many times its been used)
2631

2732
## Status
33+
2834
Brainstormed pattern idea in progress
2935

3036
## Authors
37+
3138
* Georg Grutter
3239
* Erin Bank
3340
* Padma Sudarsan

patterns/2-structured/common-requirements.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
## Title
2+
23
Common Requirements
34

45
## Patlet
6+
57
Common code in a shared repository isn't meeting the needs of all the project-teams that want to use it; this is solved through requirements alignment and refactoring.
68

79
## Problem
10+
811
The common code in the shared repository isn't meeting the needs of all the projects that want to use it.
912

1013
## Context
14+
1115
Many projects are trying to use common code. There is a shared repository that all the projects access. This pattern applies if there is a Strong Code Owner [pattern to be written] or if there is weak code ownership, or no Benevolent Sponsor [pattern to be written]. Someone (or some project) wrote the code in the first place and contributed it to the repository. The common code is a small percentage of the overall deliverable from any of the projects. Each project has its own delivery schedule, set of deliverables and customers.
1216

1317
## Forces
18+
1419
The project that made the code available has one set of needs. Its needs are similar to what some of the receiving organization wants, but not quite the same.
1520
Requirements on code should be derivable from real customer needs.
1621

@@ -20,6 +25,7 @@ Many customers want the supplier to help them know what they need. The company h
2025
Reusing code is an important goal to save the company time and money.
2126

2227
## Solution
28+
2329
There are two aspects to solving this problem which should be done in parallel:
2430
- Align the requirements of the projects so that the code that meets the requirements for one project also meets the needs for the other projects.
2531
- Refactor the code into smaller pieces for which the many using projects can agree upon requirements.
@@ -31,6 +37,7 @@ In the example presented above, the supplier helps both customers realize that t
3137
<img alt="Common Requirements" src="/assets/img/CommonReqtsv2.jpg">
3238

3339
## Resulting Context
40+
3441
This might require negotiating requirements changes with the customer. The changes might also require involvement by the sales teams and product managers to get alignment on the requirements. The customer might need incentives, such as discounts, to agree to the changes.
3542

3643
A related pattern (to be written) is a circular story-writing exercise reported at one company employing Inner Sourcing.
@@ -39,8 +46,10 @@ The developers write a story to solve a problem in one way.
3946
The program managers rewrite the story to better express their needs---keeping the essence the same. By the time it returns to developers though they don't recognize it as what they wanted to do in the first place and so balk at implementing it. The solution to this pattern is to have more seats around the planning table so that story modifications are understood across the project not just in the developer or program manager camps.
4047

4148
## Status
49+
4250
* Structured
4351
* Old status: Proven
4452

4553
## Author
54+
4655
Robert Hanmer, 22 Aug 2016, 20 Sept 2016

patterns/2-structured/contracted-contributor.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
Contracted Contributor
44

55
## Patlet
6+
67
Associates wanting to contribute to InnerSource are discouraged from doing so by their line management. Relief is provided by formal contracts and agreements.
78

89
## Problem

0 commit comments

Comments
 (0)