# Open Source Software projects comparison
In this document, several big Open Source Software projects are investigated to figure out how they manage their communities, project planning and documentation.
# NodeJS
- Code: Github (opens new window)
- Governance: see Github (opens new window)
- Technical steering committee (opens new window) (TSC)
- Meetings are live streamed on youtube (opens new window).
- Technical steering committee (opens new window) (TSC)
- Backlog/tickets/development:
- Everything is done through issues/pr's. Even (meta (opens new window))discussion points for TSC (opens new window)
- Also uses Github Projects for some things
- Documentation:
- custom scripts (opens new window) to convert markdown files to API docs website
- Own style guide (opens new window) based on Microsoft Style Guide (opens new window)
- Guides (opens new window) and Tutorials (opens new window) (websites bit chaotic)
- Auxiliary repositories are documented through readme's
- API Contracts:
- Documentation defines API, as described in the doc tool readme (opens new window)
# Kubernetes
- Code: Github (opens new window)
- Governance: see Github (opens new window) - Committees, Special interest groups (SIG), Working groups, User groups - Steering Committee is the special committee that governs the project - communication through slack, public/private mailinglists, github team, open community issues/prs- googlegroup
- Backlog/tickets/development:
- backlog/tickets seems to be done through issues/pr's, SIGs and working groups are using github projects, but things may also be hiding in slackā¦
- Documentation:
- Main project: Separate repo (opens new window) for website made with Hugo (opens new window)
- Auxiliary projects:
- readme/docs in repo (dashboard (opens new window))
- separate Hugo websites (Minikube (opens new window))
- mkdocs on github.io (NGINX ingress (opens new window))
- API Contracts:
# Angular
- Code: Github (opens new window)
- Governance:
- Project is governed by a private team at Google (assumption based on lack of governance information)
- Backlog/tickets/development:
- Public facing things are done through issues/pr's
- Use github projects for some things
- Documentation:
- Contributor docs in main repo (/docs (opens new window))
- Regular docs in main repo (/aio (opens new window)), custom system build on angular (very meta)
- Auxiliary projects: mixed bag
- API Contracts:
- Documented in code (documentation is generated from source code)
# Docker
Note: Docker has extracted some of its core components into different projects: containerd and Moby
# Docker
- Code: Github (opens new window)
- Governance:
- Docker company
- Backlog/tickets/development:
- tickets/roadmap (opens new window) in github project management tools, but not always
- issues/feature reqeuests
- community slack
- Documentation:
- Jekyll in separate repo (opens new window). Refers/includes docs folders for specific repos
- API Contracts:
- Unclear
# containerd
- Code: Github (opens new window)
- Governance: see Github (opens new window)
- core maintainers are called "reviewers"
- decision making through pull requests
- cannot find indications of formalised organisation structures
- Backlog/tickets/development:
- (abandoned?) folder in repository (opens new window) with design documents
- uses github projects to manage code review tasks
- Documentation:
- Markdown in containerd repo (opens new window)
- Unfinished pages in containerd website repo (opens new window)
- API Contracts:
# Moby
- Code: Github (opens new window)
- Governance: see Github (opens new window)
- Technical steering committee (opens new window): elected position, 2 year seat.
- Backlog/tickets/development:
- roadmap document (abandoned?) (opens new window) / issues
- uses github projects for planning releases
- Documentation:
- Swagger documentation ends up as Docker Engine API docs on docs.docker.com (opens new window)
- API Contracts:
# Vue
- Code: Github (opens new window)
- Governance: see Github Wiki (opens new window)
- Project lead (benevolent dictator)
- (core)team (opens new window)
- Backlog/tickets/development:
- Decision making: RFC (opens new window) process through PR's + Github discussions
- Backlog: issues + github projects (looks abandoned on "core" repo)
- There maybe things going on that can't be seen on Github. It's not clear to me how they plan what to include in releases.
- Documentation:
- Main: Separate repo (opens new window) based on Vitepress (opens new window)
- Axiliary projects: Vuepress (opens new window) or Vitepress from markdown in repo
- API Contracts:
- They're doing things with api-extractor (opens new window)
# Gitlab
- Code: Gitlab (opens new window)
- Governance
- Gitlab team (hidden community)
- Backlog/tickets/development:
- Issues/pull requests
- Gitlab Epics (opens new window)
- Documentation:
- Build from markdown files in main repo (opens new window)
- API contracts:
- ??
# Tensorflow
- Code: Github (opens new window)
- Governance:
- Some special interest groups (opens new window)
- Main governance seems to be done by a private team at Google (hidden comunity)
- See also (opens new window)
- Backlog/tickets/development:
- RFC process (opens new window)
- issues/PR's
- Github Projects is used to track progress on releases
- Documentation:
- Separate repository (opens new window) with markdown, yaml and jupyter notebooks that's rendered to the documentation website (opens new window).
- API contracts:
- ??
# Go
- Code: Google Source (opens new window) mirror at Github (opens new window) N.B. I'll link to Github, because I find it easier to navigate.
- Governance:
- Core team "at Google", but very community driven. Blogpost describing another blogpost + subsequent hackernews discussion on whether Go is a community language or Google's language
- Backlog/tickets/development:
- Proposals/RFC's (opens new window)
- Issues/Pullrequests
- Uses Github Projects to track releases (opens new window) and proposal status (opens new window)
- Documentation:
- Separate repository (opens new window) for Go website (opens new window) with documentation
- API contracts:
# Rust
- Code: Github (opens new window)
- Governance:
- Core team + various other teams + working groups (see website (opens new window))
- Backlog/tickets/development:
- Issues/Pullrequests
- RFC's (opens new window)
- Documentation:
- "The Book" (opens new window), markdown files in a separate repository (opens new window) coverted into a webstie (or an actual book) using their own tooling (opens new window)
- Reference (opens new window): markdown files in a separate repository (opens new window)
- API contracts: