Based on the Linux Master 2 exam syllabusReport an error
This is the standard defined by Richard Stallman. A distinguishing feature is that the numbering starts from 0.
| Number | Freedom |
|---|---|
| Freedom 0 | The freedom to run it for any purpose |
| Freedom 1 | The freedom to study and modify how it works (requires access to the source code) |
| Freedom 2 | The freedom to redistribute copies |
| Freedom 3 | The freedom to distribute your improved versions |
| Category | Free software (FSF) | Open source (OSI) |
|---|---|---|
| Founded | 1985, Richard Stallman | 1998 |
| Core value | User freedom (ethics, philosophy) | Superiority of the development method (pragmatism) |
| Term | Free Software | Open Source |
| Representative license | GPL | Varied (including BSD, MIT, Apache, etc.) |
| Number | Clause | In plain words |
|---|---|---|
| 1 | Free redistribution | Doesn't prevent selling or giving it away |
| 2 | Source code | Source must be included or easily obtainable |
| 3 | Derived works | Modified versions must be distributable under the same terms |
| 4 | Integrity of the author's source code | May require modified versions to carry a different name or version |
| 5 | No discrimination against persons or groups | Can't set conditions saying certain people can't use it |
| 6 | No discrimination against fields of endeavor | Can't impose limits like "no commercial use" or "research only" |
| 7 | Distribution of license | The same rights follow to everyone who receives it |
| 8 | License must not be specific to a product | It must not be valid only when included in a particular distribution |
| 9 | License must not restrict other software | Doesn't force conditions on other programs distributed alongside |
| 10 | License must be technology-neutral | Doesn't presuppose a specific technology or interface |
⚠️ Trap: Because of clauses 5 and 6, software that is "usable for non-profit purposes only" is not open source. The same holds even if the source is published. It is wrong to jump to "source published = open source."
Not everything labeled "free" is the same. Whether the source is published and whether you pay are independent axes.
| Category | Source code | Price | Key point |
|---|---|---|---|
| Commercial (proprietary) software | Closed | Paid | You buy only a right to use. No modification or redistribution |
| Shareware | Closed | Free for a limited period or limited features | Try it, and pay if you want to keep using it |
| Freeware | Closed | Free | Costs nothing, but you have no right to modify or redistribute |
| Public domain | No restrictions | Free | Copyright has been waived or has expired. No conditions at all |
| Free / open source software | Published | Can be free or paid | Copyright remains alive, and you must follow the license terms |
Open source licenses
│
┌─────────────────┴─────────────────┐
▼ ▼
Copyleft Permissive
(copyleft, viral) (permissive, lenient)
│ │
┌──────┴──────┐ ┌───────┼───────┐
▼ ▼ ▼ ▼ ▼
GPL LGPL BSD MIT Apache
(strong (weak
copyleft) copyleft)| License | Feature |
|---|---|
| GPL v2 | The license the Linux kernel uses |
| GPL v3 | Adds a patent clause and a clause preventing hardware locking (Tivoization) |
| LGPL | If you only link a library, you don't have to release your own code |
| AGPL | The source-release obligation arises even if you only provide a service over the network |
| License | Feature |
|---|---|
| BSD | Just keep the copyright notice. Very simple |
| MIT | Practically identical to BSD. The shortest and widely used |
| Apache 2.0 | Copyright notice + a clause explicitly granting patent rights |
| MPL | File-level copyleft. You only need to release the files you modified |
The exam has questions asking about "the obligations when selling a modified program distributed under the GPL." The answer is that selling itself is allowed, but you must release the source code along with it.
| License | Release source when distributing modifications | Combining with closed programs | Patent clause | Representative software |
|---|---|---|---|---|
| GPL v2 | Required | The whole combined work becomes GPL | No explicit clause | Linux kernel |
| GPL v3 | Required | The whole combined work becomes GPL | Yes | GCC, bash |
| LGPL | Only the parts of the library you modified | Linking is allowed | Depends on version | glibc (GNU C Library) |
| AGPL | Required + also for network services | The whole combined work becomes AGPL | Yes | — |
| MPL | Only the modified files | Allowed | Yes | Firefox |
| BSD | Not required | Allowed | No | FreeBSD |
| MIT | Not required | Allowed | No | X Window System |
| Apache 2.0 | Not required | Allowed | Yes | Apache web server, Android (mostly) |
When you hand over a GPL program (or a modified version of it) to others, what you must do boils down to four things.
| Version | Released | What to remember |
|---|---|---|
| GPL v1 | 1989 | The first version |
| GPL v2 | 1991 | Adopted by the Linux kernel. Used widely for the longest time |
| GPL v3 | 2007 | Added a patent clause and anti-Tivoization |
🔍 Going deeper: Tivoization comes from the digital video recorder company TiVo. TiVo released the Linux kernel source as the GPL requires, but made its devices refuse to run software lacking the manufacturer's signature. A situation where you got the source but couldn't run your modified version — GPL v3 added a clause to prevent this, and the Linux kernel did not agree to that change, so it stayed at v2.
| Situation | Source-release obligation |
|---|---|
| You modify a GPL program and use it only in-house | None — it isn't distribution |
| You modify a GPL program and sell it to customers | Yes — you must give the source to the buyer |
| You embed GPL code in your program and distribute it | Yes — your whole program becomes GPL |
| You distribute a program that only links an LGPL library | None for your code (but yes for the library part if you modified it) |
| You modify an AGPL program and offer it only as a web service | Yes — you must release to users even without distributing |
| You embed MIT/BSD code and sell a commercial product | None — just keep the copyright notice and license text |
| Question | Answer |
|---|---|
| Is free software gratis? | No. Selling it for a fee is also possible |
| Can you sell a GPL program? | Yes. But you must release the source |
| If you use it only in-house, must you release it? | No. Without distribution there is no obligation |
| Can you put BSD code in a commercial product? | Yes. Just keep the copyright notice |
| What is the Linux kernel's license? | GPL v2 |
Tomorrow we look at the unit that bundles this kernel and these tools together for sale — the distribution.
Click a choice to reveal the answer and explanation.
Question 1
Which of the following is the license adopted by the Linux kernel?
Question 2
Which of the following correctly describes free software?
Question 3
Which of the following best describes the GPL license?
Question 4
Which of the following is the license that relaxes the rules so that you don't have to release your own source code when you link and use a library?
Question 5
Which of the following groups consists of permissive licenses?