-
Notifications
You must be signed in to change notification settings - Fork 202
pattern/open-source-trumps-innersource #46
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
Changes from 3 commits
cdb394c
635ad95
7095777
8ce1bc0
ad970f0
1cbb243
f5c6311
06fcbdf
44c46ce
8707512
b1f8caa
0b748fc
b52e93d
3a483d2
e05c8fa
6e5d2a0
0328d15
e3ff5d1
2896822
3747876
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
## Title | ||
Open Source trumps InnerSource | ||
|
||
## Statement of Problem | ||
* 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. | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
||
## Context | ||
* People look for software through external search engines. | ||
* Different Business Lines (BLs) are selecting different SW components to do the same function, resulting in inconsistencies in the user experience. | ||
|
||
|
||
## Forces | ||
gruetter marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
* There is a perception that the open source components are higher quality and more reusable. The channels to get any needed changes are more obvious with open source than with internal components. Can easily grab the open source whereas internally developed component has less visibility and ease of availability. (This could be separate Pattern). All things equal, they gravitate towards open source. | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
* Open source should be voluntary; mandating people to use internally developed software goes against open source principles. | ||
|
||
* Internally developed components should have advantages over competing open source. If you can clearly demonstrate this, it can be persuasive. | ||
|
||
* Part of the reason this is a problem: if different teams are picking different open source components, the situation makes interoperability and integration more difficult; and this could potentially impact the user experience (inconsistency in behaviors). | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
* Depending on the regulations within a company, it might be easier to use a corporate licensed, InnerSource component than an open source component which is licensed in a way that requires the company to disclose IP. | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
* There may be many silos in the company; it would then be difficult to reach the developer base across those silos. | ||
|
||
* It can be hard to find stuff in github (especially if names are cryptic and keywords aren't used). See [Poor Naming Conventions](https://github.com/paypal/InnerSourcePatterns/pull/59). | ||
|
||
## Sketch | ||
See figure 1 in https://drive.google.com/open?id=0B7_9iQb93uBQNlJ0YU5wWmpWYUU | ||
|
||
|
||
## Resolution | ||
|
||
* Corporate requirement that internally developed components should be evaluated before we go outside to search for open source component. | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
If the open source component is now more mature, replace the internally developed with the open source. Create some extrinsic rewards to encourage them (initially). | ||
|
||
Make it easier to find the internal component (discoverability and visibility). | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
Make the process simple and aligned with well known open source methods. | ||
* Provide an internal instance of GitHub Enterprise or an well publicized external GitHub organization repo to allow employees to easily find internally developed solutions. | ||
Assign maintainers to make sure proper open source processes are being followed within the leading repos. | ||
Provide “value add” services linked to the formal repo solution such as automated CI/CD services, IaaS/PaaS, NPM organization/server linkages, ChatOps, etc. | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
* Create a tool with a central view of internally available software, but be aware that people are more inclined to google externally than look internally. | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
||
## Resulting Context | ||
Developers do select the best component regardless of whether it is open source or internally developed. Internally developed software components are then more widely reused. | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
||
## Author | ||
As told to Padma Sudarsan, 2016-09-30 | ||
spier marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
||
## Status | ||
Draft, incomplete (in progress) |
Uh oh!
There was an error while loading. Please reload this page.