Repository navigation
feat: promote discover-your-innersource #780
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
spier
merged 31 commits into
InnerSourceCommons:main
from
jeffabailey:promote-discover-your-innersource
Mar 14, 2026
Merged
Changes from 24 commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
163c8ce
feat: promote discover-your-innersource
jeffabailey 55182ef
chore: move file to initial dir
jeffabailey 4be02b6
feat: add patlet
jeffabailey c77a420
Rename 'Also Known As' section to 'Alias' and move it to the end of t…
spier 3360250
Reorder section, based on order in the template.
spier 52333fc
Fix spelling of InnerSource
spier bae152f
Formatting fixes
spier dd3513c
Formatting of Solution section
spier 70a01e3
Add link to Gig Marketplace pattern
spier 99ebe10
Update patterns/2-structured/discover-your-innersource.md
jeffabailey 35f2092
chore: refactor potentially relevant discussions
jeffabailey 27a45ed
Merge branch 'promote-discover-your-innersource' of github.com:jeffab…
jeffabailey b3fe9d1
Move images to subfolder. Lowercase file extension.
spier 211971e
Use lower case spelling for 'organization' and 'legal entity'
spier ba32a05
Reverting my last changes. Was on the wrong branch
spier 17d6762
Update patterns/2-structured/discover-your-innersource.md
jeffabailey 45ba35d
Remove acroyum 'SW'
spier fad79b6
Agora was renamed to SeazMe - adding a link
spier da655c2
Adding SeazMe link to another pattern as well
spier 667ceca
Comment out link to Level-1 pattern
spier 9b70a2d
Formatting change
spier c4b6292
Wording fix
spier 42e8394
Fix spelling
spier f00bff2
Separate the two different aspects of the solution into their own sec…
spier 4d8a55f
chore: simplify language, mention docs
jeffabailey 94ab652
Merge branch 'promote-discover-your-innersource' of github.com:jeffab…
jeffabailey 990bdb3
fix: vale error
jeffabailey 55bdc91
Merge branch 'InnerSourceCommons:main' into promote-discover-your-inn…
jeffabailey 906259b
chore: move to initial and try again in a new pr
jeffabailey 7f03333
chore: add file
jeffabailey e4e2b97
Changing to Initial
spier File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| ## Title | ||
|
|
||
| Discover Your InnerSource | ||
|
|
||
| ## Patlet | ||
|
|
||
| When developers don't look for or can't find internally developed solutions, they may waste time and resources creating redundant software. To solve this, implement a robust internal search engine and processes that encourage the discovery and reuse of internal code. | ||
|
|
||
| ## Problem | ||
|
|
||
| People don't bother looking for internally developed solutions - they might not find the repo at all or be aware of its existence. | ||
|
|
||
| ## Context | ||
|
|
||
| * Software component(s) are available internally but users can't easily find these. | ||
| * This problem is more likely to occur in large, federated companies where different organizational units operate as silos. | ||
| * Historically, the company does not have a culture of sharing code across silos. | ||
|
|
||
| ## Forces | ||
|
|
||
| * No good internal search engine (or not connected to git repositories; and difficult to make this change happen) | ||
| * Users may not know there are common places to find internally developed solutions. | ||
| * People don't expect to find solutions internally. | ||
| * Many silos in the company; difficult to reach the developer base across those silos (a communications problem). | ||
| * People might not want to use internal software because they don't believe it will be helpful | ||
| - might not be maintained | ||
| - might have poor reusability | ||
| - if someone put out a software internally, the expectation is that they wouldn't have time to support it (vs. open source options) | ||
| * Difficulty in adding content to the search index makes it hard for people to find anything | ||
|
|
||
| ## Solution | ||
|
|
||
| Make it easy to find the reusable code. | ||
|
|
||
| ### Behavior and Process Changes | ||
|
|
||
| * Implement process change to motivate developers to first check for internal solutions for problems that they need to solve. | ||
| * Concierge service (guide) to help product people find stuff. Might not scale but could be helpful in the beginning. | ||
| * Need some very visible lighthouse projects that start using InnerSource components and make positive statements about the InnerSource program (to increase the trust of your developers in your InnerSource components. | ||
| * Encourage (and reward) owners of reusable code to use the same search engine to continually search for products that are candidates for use and adoption of the reusable code but not currently doing so. | ||
|
|
||
| ### Tooling Changes | ||
|
|
||
| * 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. | ||
| * Consider using existing tools: | ||
| * GitHub Enterprise and npmjs have built-in searches on meta-data | ||
| * PayPal's [SeazMe](https://github.com/paypal/seazme) project (previously called Agora) addresses similar challenges with data source integration | ||
| * Tool with a central view (but people are more inclined to google externally than look internally) | ||
| * Establish a common, asynchronous communication platform (e.g., chat based) across team boundaries. | ||
| * This might not scale beyond a certain organization size. | ||
| * When using common chat systems, start with one single chat channel for the InnerSource project, only split into multiple channels by topic once traffic gets too high. This way the channel feels alive. In addition the number of input channels to watch is kept at a minimum for the host team. | ||
| * Note: having one channel for many users of one tool might be considered an anti-pattern because they can't find it unless they already know about it. | ||
|
jeffabailey marked this conversation as resolved.
Resolved
|
||
| * Create a marketplace for marketing InnerSource programs (management can use this mechanism to know which InnerSource projects to fund, by seeing how the marketplace reacts). - see [Gig Marketplace](../2-structured/gig-marketplace.md) | ||
|
|
||
| ## Resulting Context | ||
|
|
||
| * Internal components are easily visible | ||
| * Developers looking for code can search for it and find it quickly. | ||
| * Developers are now looking internally for software components | ||
| * Search results are combined (internal and external) | ||
| * Process changes, establishing a common communications channel, and encouraging and rewarding owners of reusable code to use the same search engine can contribute to changing the corporate culture. Transformation begins from the grassroots but requires strategic involvement of thought leaders. | ||
|
|
||
| <!-- | ||
| // we don't want to link from Structured patterns to Initial patterns. hence removing this link. | ||
| // we can add this back in if the "Improved Findability" pattern is leveled up to maturity Structured | ||
| * See [Improved Findability](../1-initial/improve-findability.md) (aka Poor Naming Conventions or Badly Named Piles) as a related pattern. | ||
|
spier marked this conversation as resolved.
Resolved
jeffabailey marked this conversation as resolved.
Resolved
|
||
| --> | ||
|
|
||
| ## Known Instances | ||
|
|
||
| * Nike Inc. | ||
| * WellSky | ||
|
|
||
| ## Status | ||
|
|
||
| * Structured | ||
|
|
||
| ## Authors | ||
|
|
||
| * Georg Gruetter | ||
| * Erin Bank | ||
| * Padma Sudarsan | ||
| * Tim Yao | ||
|
|
||
| ## Acknowledgements | ||
|
|
||
| * Russ Rutledge | ||
| * Ofer Hermoni | ||
| * Robert Hanmer | ||
|
|
||
| ## Alias | ||
|
|
||
| * Not looking for stuff internally | ||
| * Don't bother looking | ||
| * Find it Inside | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.