License Naming

Guidelines

Generally the license naming should conform with the SPDX Spec and the SPDX License List

Please see the “License List Fields” from https://spdx.org/spdx-license-list/license-list-overview#fields

where there is especially for identifier:

License or Exception Identifier (aka “SPDX Short Identifier”)

Short identifier to be used to identify a license or exception match to licenses or exceptions contained on the SPDX License List in the context of an SPDX file, in source file, or elsewhere

  • Short identifiers have no spaces in them
  • Short identifiers consist of an abbreviation based on a common short name or acronym for the license or exception
  • Where applicable, the abbreviation will be followed by a dash and then the version number, in X.Y format
  • Where applicable, and if possible, the short identifier should be harmonised with other well-known open source naming sources (i.e., OSI, Fedora, etc.)
  • Short identifiers should be as short in length as possible while staying consistent with all other naming criteria

This lead to expressions like “Apache-2.0” or “GPL-2.0”.

License Exceptions

As a provisoric handling advise, the exception text shall be combined with the license text as a license entry. This ensures that license and exception appear together in the clearing report.

Class Path Exception

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may

Dual Licenses

There is the need to have a dual license text. FOSSology offers the dual license tag for this. The idea is to use this tag also for more than two licenses.

Consider the following example:

The fact that it is “LGPL-3.0+” is confusing for these texts. It should be changed to the following:

  • The License results shall be changed “Dual-License”. This is among other things required, to have the obligation to understand that for this component a license must be chosen
  • In the acknowledgement, there shall be documented which license decision comes is documented
  • For the referring files, also the different other licenses must be added as conclusions, so the texts are printed out.

Quick Checklist

  • Shortname: No spaces, No slashses, No unserscore or similar spcial charaters, just use dashes
  • Consider existing SPDX short names
  • Do not use “Or later” but “+” or “-or-later”
  • For triple licensing, use prefix “Triple”
  • ERASE COMMENT CHARACTERS! also erase prefix spaces at every line
  • Preserve paragraphs and line breaks
  • Avid markup in the license text except it is part of the licensing

Multi (DUAL-) Licensing

  • VERY Important, as conclusion, use the FOSSology “Dual-license”, please do not consider your own candidate just designating “Dual License” (because OR operators will not work in reporting)
  • For Dual License texts use prefix “Dual-”
  • For Triple, use “Triple-” (and for more “Quadruple-”)
  • For Dual Licensing, use alphabetical order to name the licenses
  • SPDX provides the rule to have this merged with “OR” (in capital letters) like “Dual-MIT-OR-BSD”

Examples for Renaming

Example Licence Short NameCorrected Licence Short NameRemarks
BSD-3-Clause-Farin UrlaubBSD-3-Clause-farin-urlaubno empty spaces
GPL-2.0+_Variant Old addressGPL-2.0+-variant-old-addressno underscore
–FreewareFreeware-variant-dumbumchongno prefix dashes
BSD-3-Clause\IBMdo not use slashes (back and forward)
Permission Notice Gordon SumnerHPND-gordon-sumnerconsider SPDX shot name “HPND” for permission notice
BSD-3-Clause_Ajax.org B.V.BSD-3-Clause-ajax
BSD-3-Clause_Yahoo! IncBSD-3-Clause-yahoo
BSD-2-Clause CISCOBSD-2-Clause-cisco
–zlib-styleZlib-variant-01This license could be deleted anyway. (no text)
woodstockWoodstok-Reference-Disclaimer1. All short names shall begin with capital letter,
2. (not shown), the license text is not a license text actually, but just a reference in a header with disclaimer.
Visual Studio SDK license termsMicrosoft-Visual-Studio-SDK-2015looking at the text, it is from the 2015 version of the SDK
Trip MPL GPL ApacheTriple-Apache-2.0-LGPL-2.1-MPL-1.1(looking at the text it was LGPL in fact)
–FIPL-1.0FIPL-1.0Double dash is an old thing coming from mainline ops. Currently there is no similar convention known for FOSSologyNG.
Qt License Agreement_CEMQt-reference-commercialIn this case, it was reference text only and also only pointing to the commercial licensees only.
–Beer-ware-license-CEM01BeerwareThe text says actually revision 42, revision 42 is a joke. It must be checked if the license is already there
FundsXpress LicenseFXLEither FundsXpress or FXL because the point is to have a short name and thus, it would make sense to shorten it.
GFDL - 1.2+GFDL-1.2+just without spaces please
lgpl 2.1 JLGPL-2.1-header(was a header in this case, because lic text is already there) What does J mean? - no J needed
MIT !do not use candidate licensesActual text was: “This program is made available under the terms of the MIT License.” - actually, not a license text!
Notedo not use this with candidatesActual text was: “(“See http://oxyplot.codeplex.com for more information.”)”
Permission_Notice_Timothy O’MalleyHPND-omalleydo not use special chars, do use SPDX identfiers

Notice File

The following text is not a license statement nor a reference to licensing but a notice file in the sense of the apache 2.0 license. As such, it is not suitable for being collected as a license.

== NOTICE file corresponding to the section 4 d of ==

== the Apache License, Version 2.0, ==

== in this case for the Apache Ant distribution. ==

=========================================================================

This product includes software developed by

The Apache Software Foundation ( http://www.apache.org).

This product includes also software developed by :

Please read the different LICENSE files present in the root directory of this distribution.

Open Questions

  • How to deal with notice files

(1) https://spdx.org/spdx-specification-21-web-version