Skip to content
Open
Changes from 16 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
163c8ce
feat: promote discover-your-innersource
jeffabailey Feb 28, 2025
55182ef
chore: move file to initial dir
jeffabailey Feb 28, 2025
4be02b6
feat: add patlet
jeffabailey Mar 4, 2025
c77a420
Rename 'Also Known As' section to 'Alias' and move it to the end of t…
spier Mar 4, 2025
3360250
Reorder section, based on order in the template.
spier Mar 4, 2025
52333fc
Fix spelling of InnerSource
spier Mar 4, 2025
bae152f
Formatting fixes
spier Mar 4, 2025
dd3513c
Formatting of Solution section
spier Apr 2, 2025
70a01e3
Add link to Gig Marketplace pattern
spier Apr 2, 2025
99ebe10
Update patterns/2-structured/discover-your-innersource.md
jeffabailey Apr 11, 2025
35f2092
chore: refactor potentially relevant discussions
jeffabailey Apr 12, 2025
27a45ed
Merge branch 'promote-discover-your-innersource' of github.com:jeffab…
jeffabailey Apr 12, 2025
b3fe9d1
Move images to subfolder. Lowercase file extension.
spier Apr 13, 2025
211971e
Use lower case spelling for 'organization' and 'legal entity'
spier Apr 13, 2025
ba32a05
Reverting my last changes. Was on the wrong branch
spier Apr 13, 2025
17d6762
Update patterns/2-structured/discover-your-innersource.md
jeffabailey May 23, 2025
45ba35d
Remove acroyum 'SW'
spier May 23, 2025
fad79b6
Agora was renamed to SeazMe - adding a link
spier May 24, 2025
da655c2
Adding SeazMe link to another pattern as well
spier May 24, 2025
667ceca
Comment out link to Level-1 pattern
spier Sep 18, 2025
9b70a2d
Formatting change
spier Sep 18, 2025
c4b6292
Wording fix
spier Sep 18, 2025
42e8394
Fix spelling
spier Sep 18, 2025
f00bff2
Separate the two different aspects of the solution into their own sec…
spier Sep 18, 2025
4d8a55f
chore: simplify language, mention docs
jeffabailey Sep 19, 2025
94ab652
Merge branch 'promote-discover-your-innersource' of github.com:jeffab…
jeffabailey Sep 19, 2025
990bdb3
fix: vale error
jeffabailey Sep 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,18 @@

## Patlet

TBD
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.

## Also Known As
## Problem

* Not looking for stuff internally
* Don't bother looking
* Find it Inside
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.

## Discussion on

* Comments may appear in the timeline but not with the file once it is edited (github)?
* https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/60
* 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.
* We have similar challenges getting data sources pulled into the search engine. PayPal is building a project called Agora to do this and they are planning to open source it.
* Github Enterprise and npmjs have built-in searches on meta-data. Enterprise that opts into these tooling will get some of that functi
* Software component(s) are available internally but users can't easily find these.
* This problem is more likely to occur where there are silos in the company (e.g., larger companies; smaller companies may have fewer opportunities for reuse of internally developed software).
* The company traditionally has been bad at sharing across silos (people don't have the culture of sharing).

## Problem

People don't bother looking for internally developed solutions - they might not find the repo at all or be aware of its existence.

## Forces

* No good internal search engine (or not connected to git repositories; and difficult to make this change happen)
Expand All @@ -43,23 +26,26 @@
- might not be maintained
- might have poor reusability
- if someone put out a SW 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.

* 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

Check failure on line 37 in patterns/2-structured/discover-your-innersource.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [ISC.Spelling] Did you really mean 'npmjs'? Raw Output: {"message": "[ISC.Spelling] Did you really mean 'npmjs'?", "location": {"path": "patterns/2-structured/discover-your-innersource.md", "range": {"start": {"line": 37, "column": 27}}}, "severity": "ERROR"}
* PayPal's Agora project (planned to be open sourced) addresses similar challenges with data source integration

Check failure on line 38 in patterns/2-structured/discover-your-innersource.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [ISC.Spelling] Did you really mean 'Agora'? Raw Output: {"message": "[ISC.Spelling] Did you really mean 'Agora'?", "location": {"path": "patterns/2-structured/discover-your-innersource.md", "range": {"start": {"line": 38, "column": 14}}}, "severity": "ERROR"}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could not find a mention of the PayPal Agora project anywhere.
So either they renamed it, or they never open sourced it.

We could potentially ask the ex-PayPal people for help here.

Or we remove this entire sentence, if it is not adding helpful info to this pattern.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was open sourced as SeazMe, but no activity around it for a long time.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the link Russ.

They even mention the ISC in the Readme. But yeah, archived in 2020.

This could be one of those software assets that we port to our GitHub org. However probably not worthwhile if there are no users of the software.

Aside: maybe I should search GitHub for so mentioned of the InnerSource Commons.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rrrutledge I added the SeazMe link to this pattern itself, as a replacement for Agora.

I read parts of the documentation, but am still somewhat unsure as to what SeazMe actually is (or rather was).

It looks like a federated search engine across multiple data sources.

So it is not an implementation of an InnerSource Portal, or is it?

Any idea why PayPal discontinued the development?
i.e. are they using something else now instead of SeazMe, or do they use nothing at all?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is mostly the search engine.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Silona left, who was championing the effort.

* Implement process change to first check for internal solutions for this problem.
* Tool with a central view (but people are more inclined to google externally than look internally)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this mean?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think what was meant here was to create a tool that combines search results from external (google) and internal systems.

At least that would fit to this bullet in the Resulting context:

Search results are combined (internal and external)

* 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 inner source components and make positive statements about the inner source program.
* Establish a common, asynchronous communication channel (e.g., like slack or metamorph or yammer) across team boundaries. This might not scale beyond a certain organization size. It is possible people will start splitting this one channel into multiple channels by topic once traffic gets too high. 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.
* Need some very visible lighthouse projects that start using InnerSource components and make positive statements about the InnerSource program.
* 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.
* 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.
* Consider creating a marketplace for marketing InnerSource programs (management can use this mechanism to know which InnerSource projects to fund, but seeing how the marketplace reacts).

## Known Instances

TBD
* Consider creating a marketplace for marketing InnerSource programs (management can use this mechanism to know which InnerSource projects to fund, but seeing how the marketplace reacts). - see [Gig Marketplace](../2-structured/gig-marketplace.md)

## Resulting Context

Expand All @@ -68,11 +54,16 @@
* 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.
* See [Improved Findability](improve-findability.md) (aka Poor Naming Conventions or Badly Named Piles) as a related pattern.
* See [Improved Findability](../1-initial/improve-findability.md) (aka Poor Naming Conventions or Badly Named Piles) as a related pattern.

Check failure on line 57 in patterns/2-structured/discover-your-innersource.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [ISC.Spelling] Did you really mean 'Findability'? Raw Output: {"message": "[ISC.Spelling] Did you really mean 'Findability'?", "location": {"path": "patterns/2-structured/discover-your-innersource.md", "range": {"start": {"line": 57, "column": 17}}}, "severity": "ERROR"}

## Known Instances

* Nike Inc.
* WellSky

## Status

* Initial (brainstormed solution)
* Structured

## Authors

Expand All @@ -83,4 +74,12 @@

## Acknowledgements

* Contributions from Russ Rutledge, Ofer Hermoni and Robert Hanmer
* Russ Rutledge
* Ofer Hermoni
* Robert Hanmer

## Alias

* Not looking for stuff internally
* Don't bother looking
* Find it Inside
Loading