SelfprojectA journal of free software education

Unit 02 - Licences

Free Software Licences Explained: GPL, MIT, Apache and the Rest

Hands turning the pages of a stapled printed document beside reading glasses and a red pen

Every freedom this journal writes about is implemented in a licence. Free software licences are short legal texts that turn ordinary copyright into a guarantee: whoever receives the program may run, study, share and improve it. This guide explains the two big licence families, what the household names actually permit, and how to choose between them without a law degree.

What makes a licence a free software licence

The test is the four freedoms. A licence qualifies when it lets any recipient run the program for any purpose, study and modify its source code, redistribute copies, and distribute modified versions. Price is irrelevant: selling free software is explicitly allowed, and always has been. What disqualifies a licence is any clause that fences off a group of users, a field of use or a business model. That single test sorts thousands of legal texts into a short approved list, maintained independently by the Free Software Foundation and the Open Source Initiative, whose judgements agree in all but a handful of edge cases.

Copyleft licences: the GPL family

Copyleft is the clever trick at the heart of the movement. The GNU General Public License grants the four freedoms on one condition: distributed modified versions must carry the same licence. Freedom becomes hereditary. The GPL protects the commons from enclosure, which is why the Linux kernel, GIMP and thousands of other programs use it. Its siblings tune the reach: the LGPL relaxes the rule for libraries, and the AGPL extends it to software offered over a network, closing the loophole where a web service modifies GPL code without ever "distributing" it.

Permissive licences: MIT, BSD and Apache

The permissive family asks almost nothing. MIT and BSD licences require little more than keeping the copyright notice; the Apache License 2.0 adds an explicit patent grant, which is why lawyers at large companies prefer it. Code under these licences can be folded into proprietary products, and that is the point: maximum adoption, minimum friction. The trade-off is symmetrical. Permissive code spreads further; copyleft code stays free. Neither is the "better" licence in the abstract, because they optimise for different outcomes.

A one-line decision aid: if you would be angry to find your code inside a proprietary product, you want copyleft. If you would be flattered, you want permissive. Most licence agonising reduces to that sentence.

Licences for documentation and teaching materials

Text needs licences too, and this matters directly for open learning resources. The GNU Free Documentation License was written for manuals; the Creative Commons Attribution-ShareAlike licence has become the de facto standard for coursebooks, wikis and teaching materials, working as copyleft for prose. Materials under CC BY-SA can be translated, corrected and rebuilt by any teacher, which is precisely the property the materials guide filters for. One caution: Creative Commons variants with NC (non-commercial) or ND (no derivatives) clauses fail the freedom test, however open they sound.

Choosing in practice

For a new project, three questions settle most cases. Do you want improvements to stay in the commons? Choose the GPL, or AGPL for server software. Do you want the widest possible adoption, including inside proprietary products? Choose Apache 2.0 for its patent clause, or MIT for its simplicity. Are you writing documentation or courses? Use CC BY-SA. Whatever you pick, put the licence file in the repository from the first commit; retrofitting one after outside contributions arrive requires the consent of every contributor. Contributors themselves should read the licence before the code, and the contributor's guide explains why maintainers insist on it.

Frequently asked questions

What is the difference between copyleft and permissive free software licences?

Both grant the four freedoms. Copyleft licences like the GPL require modified versions to stay under the same licence, keeping the code free forever. Permissive licences like MIT and Apache allow reuse in proprietary software in exchange for wider adoption.

Can I sell software under a free software licence?

Yes. The freedoms concern what recipients may do with the software, not its price. Plenty of companies sell GPL software or paid support for it; what they cannot do is stop customers from sharing it onward.

Which licence should a beginner choose for a new project?

GPL if you want improvements to remain free, MIT if you want maximum simplicity and adoption, Apache 2.0 if patents worry you. For documentation, CC BY-SA. Add the licence file before the first release, not after.

Are Creative Commons licences free software licences?

Creative Commons licences are for content, not code, and only some qualify as free: CC BY and CC BY-SA pass the freedom test for teaching materials. Variants with NC or ND clauses restrict reuse and do not.

What happens if someone violates the GPL?

The licence terminates for the violator, reverting them to plain copyright infringement. In practice enforcement starts with a compliance request, and organisations such as the Software Freedom Conservancy handle the rare cases that reach court.