How to choose a license for an academic project

Hugo Gruson

2021-01-01

Free/Libre Open Source Software (“FLOSS”)

Four freedoms:

  • The freedom to run the program as you wish, for any purpose.
  • The freedom to study how the program works, and change it so it does your computing as you wish.
  • The freedom to redistribute copies so you can help others.
  • The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes.

.footnote[Source: https://www.gnu.org/philosophy/free-sw.en.html]

Copyleft licenses

You have to keep the same license (or a compatible FLOSS license) for downstream projects.

  • GNU Public License (version 2 & 3) and derivatives:
    • AGPL (for applications on servers mainly)
    • LGPL (for libraries mainly)
  • Creative Commons ShareAlike (“CC-SA”)

Copyleft licenses

GNU Public License notable examples

. . .

Creative Commons ShareAlike notable examples

Non-copyleft licenses

  • MIT
  • Apache
  • BSD
  • CC0 / zero-clause BSD / public domain

Non-copyleft licenses

MIT notable examples

BSD(-like) notable examples

numpy, pandas, scipy, pytorch

Apache notable examples

Other notable cases

Intermediary copyleft:

  • MPL: only redistribute parts under copyleft, not the whole codebase.

Non-free licenses:

  • Creative Commons NoDerivative / NoCommercial (CC-ND / CC-NC)
  • JSON license

The Software shall be used for Good, not Evil.

A resource to help you choose

.footnote[https://choosealicense.com/]

Licenses in the R package ecosystem

As of 2026-01-20:

License of most downloaded CRAN packages

During the last month: