Skip to content

Commit 5c3eb97

Browse files
MaineCspier
andauthored
shared-code-repo-different-from-build-repo.md - Moved to InnerSource as a term, changed formatting, shortened name (#409)
* Moved to InnerSource as a term, changed formatting, shortened name I believe this pattern does need a bit of love. I only made some first changes to the name "InnerSource", changed some formatting and shortened the name. However I believe the solutions given are incomplete in particular wrt. build chain solutions to the issue. It might make sense to mention explicit release naming and numbering schemes. It might make sense to mention the option of setting up build systems to trigger new builds on upstream code changes or upstream releases. * Spell out definition of SCM and add a link --------- Co-authored-by: Sebastian Spier <github@spier.hu>
1 parent 6f457ff commit 5c3eb97

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

patterns/1-initial/shared-code-repo-different-from-build-repo.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
11
## Title
22

3-
Repo for Shared Code Different from Repo the Product Org Uses in its Build
3+
Source Repo different from Deployment Chain
44

55
## Patlet
66

77
Deal with the overhead of having shared code in a separate repository that isn't the same as the project-specific one that is tied to production builds.
88

99
## Problem
1010

11-
Deal with the overhead of having shared code in a separate repository that isn't the same as the project-specific one that is tied to production builds.
11+
The InnerSource code repo is different from the repos used in production builds. This causes friction each time changes are made to the InnerSource repo.
1212

1313
## Context
1414

1515
Shared code is kept in an accessible repository that is different from SCMs used by the products that use the shared code. Integration, testing and builds might be automated with the product SCM but not the shared code repo.
1616

1717
## Forces
1818

19-
When the shared code is in a separate repository, any use of it could result in forking modifications, leading to complications later when the source is changed by the owning organization. When starting an inner sourcing program, it is possible there are many SCM systems in use; and, frequently, a new SCM is used for the inner sourcing program. Migrating from one SCM to another is not trivial. Since the using organization has a copy, they might not be aware of changes to the shared code. It is difficult and expensive for the using organization to change their automated build process to use a foreign repo.
19+
When the shared code is in a separate repository, any use of it could result in forking modifications, leading to complications later when the source is changed by the owning organization. When starting an InnerSource program, it is possible there are many source control management systems ([SCM](https://en.wikipedia.org/wiki/Version_control)) in use; and, frequently, a new SCM is used for the InnerSource program. Migrating from one SCM to another is not trivial. Since the using organization has a copy, they might not be aware of changes to the shared code. It is difficult and expensive for the using organization to change their automated build process to use a foreign repo.
2020

2121
## Solution
2222

23-
Continuous integration, not only to with testing but also in production (aligns with DevOps). Known marker that shows the code hasn't been modified. Improved communication between teams. Accountability when you screw up; hold people accountable. Publish good stats about the negative implications of errors and processes for making this everyone's problem.
23+
* Continuous integration, not only for testing but also in production (aligns with DevOps).
24+
* Known marker that shows the code hasn't been modified.
25+
* Improved communication between teams.
26+
* Accountability when you screw up; hold people accountable.
27+
* Publish good stats about the negative implications of errors and processes for making this everyone's problem.
2428

2529
## Resulting Context
2630

0 commit comments

Comments
 (0)