Skip to content

Commit

Permalink
Merge pull request #64 from binbashar/feature/BIZDEV-26-forks-mgmt
Browse files Browse the repository at this point in the history
BIZDEV-26 | Adding how it works code library forks workflow sub-section
  • Loading branch information
exequielrafaela authored Apr 23, 2021
2 parents 81f477c + f011353 commit 29ba641
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
45 changes: 45 additions & 0 deletions docs/how-it-works/code-library/code-library-forks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Leverage Open Source Modules management.


!!! info "We’ll fork every DevOps Automation Code Library dependency repo, why?"
**Grant full governance over the lib repositories**

- [x] **Availability:** Since our project resilience and continuity
(including the clients) depends on this repositories (via requirement files or imports)
and we want and need total control over the repository used as a dependency.
**NOTE:** There could be few exceptions when using official open source
modules such as the ones shared and maintained by Nginx, Weave, Hashiport, etc.
- [x] **Reliability (Avoid unforeseen events):** in the event that the original
project becomes discontinued while we are still working or depending on it
(the owners, generally individual maintainers of the original repository might
decide to move from github, ansible galaxy, etc or even close their repo for
personal reasons).
- [x] **Stability:** Our forks form modules (ansible roles / terraform / dockerfiles, etc)
are always going to be locked to fixed versions for every client so no unexpected behavior will occur.
- [x] **Projects that don't tag versions:** having the fork protects us against breaking
changes.
- [x] **Write access:** to every Leverage library component repository ensuring at all
times that we can support, update, maintain, test, customize and release a new version
of this component.
- [x] **Centralized Org source of truth:** for improved customer experience and keeping
dependencies consistently imported from binbash repos at [Leverage Github](https://github.com/binbashar)
- [x] **Scope:** Binbash grants and responds for all this dependencies.
- [x] **Metrics:** Dashboards w/ internal measurements.
- [x] **Automation:** We’ll maintain all this workflow cross-tech as standardized and
automated as possible adding any extra validation like testing, security check, etc if
needed -> [Leverage dev-tools](https://github.com/binbashar/le-dev-tools )
- [x] **Licence & Ownership:** Since we fork open-source and commercially reusable
components w/ [MIT and Apache 2.0 license](https://choosealicense.com/licenses/).
We keep full rights to all commercial, modification, distribution, and private use of
the code (No Lock-In w/ owners) through forks inside our own Leverage Project repos.
As a result, when time comes, we can make our libs private at any moment if necessary
for the time being Open Source looks like the best option).

!!! important "Collaborators considerations"
- We look forward to have every Binbash Leverage repo open sourced favoring the
collaboration of the open source community.
- Repos that are still **private** must not be forked by our internal collaborators
till we've done a detailed and rigorous review in order to open source them.
- As a result any person looking forward to use, extend or update Leverage **public repos**
could also fork them in its personal or company Github account and create an upstream
PR to contribute.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ nav:
- Considerations: "how-it-works/considerations.md"
- Leverage Code Library:
- Overview: "how-it-works/code-library/code-library.md"
- Forks workflow: "how-it-works/code-library/code-library-forks.md"
- Specifications: "how-it-works/code-library/code-library-specs.md"
- Modules per Tech: "how-it-works/code-library/modules-library-per-tech.md"
- AWS Organization:
Expand Down

0 comments on commit 29ba641

Please sign in to comment.