Skip to main content

A brief look at choosing a FOSS licence

A brief look at choosing a FOSS licence

Published on: 14/06/2023 Last update: 15/06/2023 News
Logos of the Licence Wizard and the JLA
Source: Logos of the Licence Wizard and the JLA

Software licences attract less discussion than they did ten years ago, but there are still people working to improve the tools and licences. Joinup's Licence Wizard and Licensing Assistant (JLA) are two examples, but we'll look at some of the details first.

Simplicity

One thing to keep in mind is that—compared to the licence situation of proprietary software—free & open source licences are in many ways simpler for users because there are no restrictions or conditions on use. You don't have to keep track of how many licences or how many copies you have, or which licence is for which computer. For developers they can also be seen as simpler. There may be conditions on how modified versions can be shared, but a "Yes, if" gives you more possibilities than a "No".

Ways to use a licence

There are three main categories for "using" a licence:

The licence of the software you use
Free & open source software, by definition, comes with permission "to run the program as you wish, for any purpose", so the licences generally have no impact on users of the software.

The licence you put on your code when you modify existing software
If you're trying to do something unusual then there can be details which need to be studied, but in most cases you can avoid all complexity by using the same licence as the existing project.

When you contribute to an existing project, you should usually release your modified versions under the same license as the original work. It's good to cooperate with the project's maintainers, and using a different license for your modifications often makes that cooperation very difficult. You should only do that when there is a strong reason to justify it.
Contributing to an existing project, Free Software Foundation

The licence you put on your code when you write new software
This is the situation where you most likely have to make a choice...

Copyleft or Permissive

"Copyleft" is the term (or "share-alike", or "reciprocal") for a licence that says that anyone who redistributes the software—modified or unmodified—must use the same or compatible licence. This means all future versions will also come with a licence granting the same permissions and the same obligations to share source code, as the original licence. All versions will remain free and open source software. Examples of copyleft licences include the European Union Public Licence (EUPL), the GNU General Public License (GPL) and the Mozilla Public License (MPL).

"Permissive" is the term for a licence which gives users rights, but doesn't include any requirements about modified versions keeping the same licence. If someone wants to pass on the software, without passing on the same rights, or without making the source code available, that's permitted. Examples of permissive licences include the Apache, MIT, and BSD licences.

On one hand, permissive licences offer simplicity. On the other hand, transparency, collaboration and reuse are blocked if some developers are not passing on permissions or source code.

The European Commission's "decision on the open source licensing and reuse of Commission software", in Article 5, gives first preference to a copyleft licence, the EUPL. After this, it says that when contributing to existing copyleft projects, the Commission should use the same licence as already used in the project ("where an alternative open source licence is deemed preferable to the EUPL for particular software, notably in order to facilitate its adoption by the community of users"). And lastly, if the project isn't copyleft and the EUPL can't be used, then preference should be given to a permissive licence.

Compatibility of copyleft licences has become a lot simpler in the past ten years. The number of licences in common use has gotten smaller, with projects standardising on a smaller number of licences. Many new versions of these licences also include licence compatibility clauses. For example, software under the EUPL, GPL and MPL can all be combined nowadays. (This matrix of licence compatibility gives an example of how complex this topic seemed ten years ago.)

But there are more choices, and help

The above gives some background, mostly focussing on the question of copyleft or permissive, but there are more aspects to consider. One advantage of the EUPL is that it's translated into 23, for example.  You can find more information about these licences and aspects to consider via these tools and guides:

  1. Joinup's Licence Wizard
  2. Joinup's licensing assistant
  3. Recommendations of Free Software Foundation, for software, libraries, documentation and data
  4. Wikipedia also has a very large table comparing FOSS licences
  5. Or a simplified view on choosealicense.com, from GitHub.com