Linux Essentials Preparation · lesson 3 of 23 · 25 min
Open Source Fundamentals
Open source software makes its source code publicly available. Users can view, modify, and distribute the code. This is governed by licenses that define what you can and cannot do.
FOSS (Free and Open Source Software) — “free” refers to freedom, not price. The four freedoms: run the program for any purpose, study and modify the source, redistribute copies, distribute modified versions.
Copyleft — a licensing concept that requires derivative works to be distributed under the same license. “Viral” — if you use copyleft code in your project, your project must also be open source under the same terms.
Permissive licenses — allow use in proprietary software with minimal restrictions. You can take permissive-licensed code, modify it, and release it as closed-source.
Key Licenses
GPL v2 (GNU General Public License version 2) — strong copyleft. Any software that incorporates GPL v2 code must also be released under GPL v2. Used by the Linux kernel. Cannot be combined with some other licenses.
GPL v3 — updated GPL with additional protections against patent threats and tivoization (preventing hardware lockdown of GPL software). Incompatible with GPL v2 in some cases.
LGPL (Lesser GPL) — weaker copyleft. Libraries under LGPL can be linked to proprietary software without requiring the proprietary code to be open source. Used for libraries intended to be widely adopted.
MIT License — permissive. Very short and simple. You can use, modify, and distribute (including in proprietary software) as long as you include the original copyright notice. No copyleft.
Apache License 2.0 — permissive. Similar to MIT but includes an explicit patent grant — contributors grant users a license to any patents covering the contribution. Used by many Apache Software Foundation projects.
BSD License — permissive family. 2-clause (Simplified BSD) and 3-clause (New BSD) variants. Similar to MIT. 3-clause adds a non-endorsement clause.
Exam Tip
GPL = copyleft (viral — derivatives must be GPL). MIT/Apache/BSD = permissive (can use in proprietary). LGPL = weak copyleft (libraries can be linked to proprietary). Linux kernel uses GPL v2.
Key Terms
Key Terms
Knowledge Check — 10 Questions
Linux Essentials — Open Source Licensing
The Linux kernel is licensed under:
- MIT
- Apache 2.0
- GPL v2
- BSD
- Answer: GPL v2
The Linux kernel uses GPL v2. This means any modifications to the kernel must also be released under GPL v2. A “copyleft” license requires:
- Payment for use
- Derivatives to use the same license
- Attribution only
- No modifications
- Answer: Derivatives to use the same license
Copyleft is “viral” — if you use copyleft code, your derivative work must also be released under the same copyleft license.
Which license allows use in proprietary software with minimal restrictions?
- GPL v2
- GPL v3
- AGPL
- MIT
Answer: MIT
MIT is permissive — you can use it in proprietary software. Just include the original copyright notice. No copyleft requirement.
LGPL differs from GPL because LGPL:
- Requires all derivatives to be open source
- Allows libraries to be linked to proprietary software
- Prohibits commercial use
- Requires patent grants
- Answer: Allows libraries to be linked to proprietary software
LGPL (Lesser GPL) is weak copyleft — libraries can be linked to proprietary code without requiring the proprietary code to be open source.
Apache License 2.0 includes which additional protection compared to MIT?
- Stronger copyleft
- Explicit patent grant from contributors
- Prohibition on commercial use
- Requirement to share source
Answer: Explicit patent grant from contributors
Apache 2.0 includes an explicit patent license — contributors grant users rights to any patents covering their contributions.
The four freedoms of FOSS include the freedom to:
- Use only for personal projects
- Run, study, redistribute, and distribute modified versions
- Use only with attribution
- Use only non-commercially
- Answer: Run, study, redistribute, and distribute modified versions
The four freedoms: (0) run for any purpose, (1) study and modify, (2) redistribute copies, (3) distribute modified versions. If you incorporate GPL v2 code into your project, your project must:
- Pay a licensing fee
- Also be released under GPL v2
- Include a patent grant
- Use only MIT-licensed dependencies
- Answer: Also be released under GPL v2
GPL v2 is copyleft — any software incorporating GPL v2 code must also be distributed under GPL v2 (the “viral” effect). BSD licenses are:
- Strong copyleft
- Weak copyleft
- Permissive
- Proprietary
- Answer: Permissive
BSD licenses (2-clause and 3-clause) are permissive — similar to MIT. You can use BSD-licensed code in proprietary software. GPL v3 added protections against:
- Commercial use
- Patent threats and tivoization
- Network use without distribution
- Sublicensing
- Answer: Patent threats and tivoization
GPL v3 added: patent retaliation clauses and anti-tivoization (preventing hardware from blocking GPL software modifications).
In open source, “free” refers to _____, not price.
Answer: freedom
“Free software” means freedom to use, study, modify, and distribute — not necessarily zero cost. “Free as in freedom, not free as in beer.”
Previous lesson: Linux distributions: Debian/Ubuntu, RHEL/CentOS/Rocky, Arch, Alpine; package managers
Back to Linux Essentials Preparation
Next lesson: Linux career paths: sysadmin, DevOps, cloud engineer, security analyst