Open source

Sefism.

A to Z

Glossary

Every concept in this sheet, plus the smaller terms it uses. Select a concept to open its card.

C
CLA and DCO
Agreements some projects require before merging.
Code of conduct
A document setting expected behaviour in a project's spaces and how to report problems.
Contributing guide
A file, usually CONTRIBUTING.md, explaining how to set up the project, which issues to pick, coding style, tests to run, commit rules and how pull requests are reviewed.
Conventional Commits
A commit message convention with a type prefix such as feat:, fix: or docs:, an optional scope, and BREAKING CHANGE for incompatible changes.
Copyleft licence
A licence requiring that modified versions you distribute are shared under the same licence.
E
Everyday Git commands
The commands used constantly while contributing: status, diff, add -p, stash, log --oneline and restore.
F
Feature branch
A short-lived branch created from the latest upstream main for one change, named after what it does.
Fork
Your own copy of someone else's repository on GitHub, where you can push branches without write access to the original.
G
Good commit message
A short imperative subject line of about 50 characters, a blank line, then a body explaining what changed and why.
K
Keeping a fork in sync
Bringing new commits from upstream into your fork and branches, by fetching upstream and rebasing or merging.
M
Maintainers
The people who review and merge changes, triage issues, cut releases and set a project's direction.
Merge conflict
When Git cannot combine changes automatically because two commits edited the same lines, and it marks the file for you to resolve by hand.
O
Open source licence
The legal terms that let anyone use, change and share a project's code.
Origin and upstream
Conventional remote names: origin points to your fork, upstream points to the original project you forked from.
P
Permissive licence
A licence that allows almost any use, including in closed source products, as long as you keep the copyright notice.
Project governance
How a project makes decisions: a single lead (sometimes called a BDFL), a core team or steering committee, or a foundation such as the Apache Software Foundation, CNCF or Linux Foundation.
R
Rebase
Replaying your branch's commits on top of a newer base, such as the latest upstream main, which rewrites their history.
S
Squashing and force-pushing
Combining several commits into one, for example with interactive rebase, then updating your remote branch with a force push because history changed.
W
Why people contribute
Common reasons include fixing a bug that affects you, learning from experienced reviewers, building a public track record, and companies maintaining software they depend on.
07 · Glossary, A to Z7 / 7