Practice essential open-source vocabulary: licenses, governance terms, community roles, and collaboration language used in open-source projects.
0 / 8 completed
1 / 8
What is the difference between a 'permissive license' (e.g., MIT) and a 'copyleft license' (e.g., GPL)?
MIT/Apache (permissive) let you use, modify, and redistribute — including in closed-source products. GPL (copyleft/viral) requires that any derivative work must also be released under GPL. This is critical for commercial adoption decisions.
2 / 8
What is a 'fork' in open-source terminology?
Forking copies a repository to your account. You can develop independently (e.g., add features the original project will not accept) or submit changes back as pull requests. Forks keep git history from the original.
3 / 8
What does 'upstream' mean in open-source contribution workflows?
Upstream refers to the source project you forked from. 'Syncing with upstream' means pulling the original project's latest commits into your fork to keep it current. Changes you submit back go 'upstream'.
4 / 8
What does 'FOSS' stand for?
FOSS (Free and Open Source Software) refers to software that is both free (as in freedom — free to use, modify, distribute) and open source (source code is publicly available). Related terms: FLOSS (Free, Libre, Open Source Software).
5 / 8
What is a 'maintainer' vs. a 'contributor' in an open-source project?
Maintainers own the project direction, review and merge PRs, and manage releases. Contributors submit improvements but require maintainer approval. The distinction is about authority and ownership, not effort.
6 / 8
What does 'dogfooding' mean in a software team context?
Dogfooding ('eating your own dog food') means using your own software daily. It surfaces usability problems that users would hit but developers might miss. Many companies dogfood internal tools and beta features.
7 / 8
What is 'yak shaving' in engineering culture?
Yak shaving: you need to fix a bug, but first you need to update a dependency, which requires upgrading Node, which means fixing a build script... eventually you are 'shaving a yak' to do the original task. Common in complex development environments.
8 / 8
What does 'OSS' mean and what is 'open-washing'?
Open-washing is marketing software as 'open source' when it is not fully open — e.g., open-core models where core features are proprietary, or Business Source License where it becomes open after a delay. The open-source community is critical of this practice.