Software Licenses and Free Software

What is a software license?

A software license is a legal instrument governing the use or redistribution of software.

Proprietary Software and Free and Open Source Software

The distinct conceptual difference between the two is the granting of rights to modify and re-use a software product obtained by a customer:

Proprietary software licenses

The hallmark of proprietary software licenses is that the software publisher grants the use of one or more copies of software under the end-user license agreement (EULA), but ownership of those copies remains with the software publisher.

EULAs include terms which define the uses of the software, such as the number of installations allowed or the terms of distribution.

Free and open-source software licenses

A free software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software.

These actions are usually prohibited by copyright law, but the rights-holder (usually the author) of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights.



Free software in general

“Free software” means software that respects users’ freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price.


Free as in freedom

Copyleft vs Permissive

What is a permissive license?

A Permissive software license is a FOSS software license with minimal requirements about how the software can be redistributed. Examples include the MIT License, BSD licenses and the Apache license.


What is copyleft?

Copyleft is a general method for making a program or other work free, and requiring all modified and extended versions of the program to be free as well.


Why prefer copyleft?

The simplest way to make a program free software is to put it in the public domain, uncopyrighted. This allows people to share the program and their improvements, if they are so minded. But it also allows uncooperative people to convert the program into proprietary software. They can make changes, many or few, and distribute the result as a proprietary product. People who receive the program in that modified form do not have the freedom that the original author gave them; the middleman has stripped it away.

To maintain the freedom of your program, consider using a copyleft license.


Some popular licenses

GNU General Public License


The GNU GPLv3 is a copyleft license that requires anyone who distributes your code or a derivative work to make the source available under the same terms, and also provides an express grant of patent rights from contributors to users.

Apache License


A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

MIT License

The MIT License is a permissive license that is short and to the point. It lets people do anything they want with your code as long as they provide attribution back to you and don’t hold you liable.

A guide for selecting a license

Motives For Writing Free Software

Proprietary Software Is Often Malware

Richard Stallman

Richard Stallman

Further reading