"Open source" is not "the code is on GitHub." Plenty of public repositories are not open source at all. A project is open source when its source code is released under a license that grants everyone the right to use, study, modify, and redistribute it — for any purpose, without discriminating against people or fields of endeavour.
Two definitions matter:
The Four Freedoms (Free Software Foundation, Richard Stallman):
| Freedom | Meaning |
|---|---|
| 0 | Run the program as you wish, for any purpose |
| 1 | Study how it works and change it (requires source access) |
| 2 | Redistribute copies |
| 3 | Distribute your modified versions |
The Open Source Definition (Open Source Initiative, derived from the Debian Free Software Guidelines) — ten criteria, the important ones being:
- Free redistribution (no royalties or fees required)
- Source code must be available
- Derived works must be allowed
- No discrimination against persons, groups, or fields of endeavour (you can't say "not for military use" or "not for commercial use")
- The license must not restrict other software distributed alongside it
- The license must be technology-neutral
That "no field-of-endeavour restriction" clause is the one most "source-available" licenses fail, and it's the line at the centre of most of the modern license wars (see History of Open Source).
Free software vs. open source¶
They describe almost the same set of licenses, but they are different arguments:
- Free software is an ethical position. Proprietary software is a social wrong because it takes control away from users. "Free as in freedom (libre), not free as in beer (gratis)."
- Open source is a pragmatic, engineering and business position. Open development produces better software, faster, with fewer bugs.
The term FOSS (or FLOSS, Free/Libre/Open Source Software) is the neutral umbrella term used when people don't want to pick a side.