Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titleSoftware Licensing Guides Series

Table of Contents

Table of Contents

This page provides an overview of tools and resources for selecting, checking and managing open-source software licences and their compatible use in software projects. The structured list and illustrations of licence relationships support GÉANT’s software development and licence compliance practices.

Core GÉANT Resources

Supporting and Background Material

Table of Contents

...

Learning and Training Resources

GÉANT Courses and Workshops

Authoritative Sources

Permissive and copyleft licences

Image Removed

(Based on materials from ORCRO)

Licence Selection and Comparison

Top Lists and Brief Comparisons

Licence Compatibility

Overview of Permissive and Copyleft Licences

Image Added

Based on materials from ORCRO:

Permissive licences have simple requirements such as crediting the original work, describing changes, and providing a disclaimer. Copyleft licences (reciprocal, protective, restrictive, or, derogatorily, viral) require Permissive licences have simple requirements – to credit original work, describe changes, provide a disclaimer, etc. Copyleft licences (“reciprocal”, “protective”, “restrictive”, derogatory: “viral”) require the rights to be preserved in derivative works. If you use any Using components (libraries) with copyleft , you are obliged may oblige to make derived source code available, which may include the entire product /or project!.

  • Permissive – do anything
    • MIT – short and simple
    • ISC (OpenBSD) – further shortened equivalent
    • BSD – some
  • versions
    • variants require
  • including the
    • inclusion of disclaimer
    • Apache 2.0 – requires notice of changes, grants a licence to patents unless
  • litigating and mentions preservation of
    • litigated, and preserves trademark rights
  • Weak copyleft – file
  • (
  • or library
  • )
  • scope
    • MPL 2.0 – simple, allows static linking and licence variants with additional terms
    • LGPL 2.1 – cleaned text of LGPL 2.0, allows dynamic linking without enforcing copyleft
    • LGPL 3.0 – grants patent use
  • of patents
    • ;
  • the
    • end
  • -user
    • users must be able to install
  • a
    • modified
  • version – it
    • versions; prohibits closed devices, DRM
  • or
    • , hardware encryption, or
  • patents
    • patent retaliation; compatible with
  • Apache2
    • Apache 2.0
  • Strong copyleft – project scope
    • GPL 2.0 –
  • often
    • widely used
    • GPL 3.0 – grants
  • the use of patents, the end-user
    • patent use; users must be able to install modified software
  • ,
    • ; compatible with Apache 2.0
    • AGPL 3.0 (Affero) – network-protective: external use of modified
  • (!)
    • code requires its availability
    • ; network use
  • is a distribution of the software, modified source code must be available
    • counts as distribution
  • Proprietary –
  • typically
  • restrict user rights and protect the commercial interests of copyright
  • owners

Per-feature or tabular comparisons of licences and categorised lists

Licence compatibility

GPL licences compatibility

  • holders

GPL Licence Compatibility

This diagram illustrates compatibility relationships between different free software licences. Arrows are transitive and go from the licences of the components toward towards the licence of your project.


A chart illustrating compatibility relationships between different free software licenses.  For details, see the FSF's license list page.

(From https://www.gnu.org/licenses/quick-guide-gplv3.htmlFrom GNU: Quick Guide to GPLv3 Compatibility)

Above, per the dotted line , indicates that “GPL 2 only” is not compatible with GPL “GPL 3”, but ”GPL “GPL 2 or later” is. A more detailed view with precisely stated licences:

(From David A. Wheeler, 2007, https://web.archive.org/web/20210101030518/https://dwheeler.com/essays/floss-license-slide.html, SVG variant: https://en.wikipedia.org/wiki/License_compatibility#/media/File:Floss-license-slide-image.svg)On : FLOSS Licence Slide,  SVG on Wikipedia)

Special Requirements and Risk Handling in GPL Licences

Some licences prohibit or require certain practices or behaviours, which may lead to risks of legal threats. These should be addressed or mitigated.

Frequently used protective and permissive licenses


AGPLv3

GPLv3

GPLv2.1

LGPLv3

LGPLv2.1

MPL-2

BSD

SaaS/cloud

Yes

No

No

No

No

No

No

Tivoization

Yes

Yes

No

Yes

No

No

No

Patent trolling

Yes

Yes

No

Yes

No

No

No

Proprietization

Yes

Yes

Yes

Partial

Partial

Partial

No

Granularity/reach

Project

Project

Project

Library

Library

File

N/A

Trademark grant

Yes

Yes

?

Yes

?

No

No

(From Wikipedia – Free-software licence)

EUPL 1.2 Compatibility

Image Added

...

(From Interoperable Europe: EUPL – Licence Compatibility, Permissivity, Reciprocity and Interoperability)

Interoperable Europe matrices and guidance:

Relationship Between the Most Used Licences in GÉANT

The following graph provides a visual overview of most frequently used  licences in GÉANT projects.

Image Added

Dual and Multi-Licensing Guidance and Implications

  • Dual and multi-
  • licences
  • licensing can help
  • in avoiding
  • avoid licence compatibility issues,
  • which makes the use of components
  • and make component use more flexible.
  • You

  • can
  • may choose a licence compatible with

  • the one
  • that used for your software.

  • But
  • However, you cannot dual-

  • license
  • licence your software

  • to match
  • by matching some components with one licence, and others with another

  • licence
  • . Licences of all used components must be compatible with all

  • of
  • your licences

  • !
  • .

  • “Or later” (often expressed as “+”)

  • licences
  • variants imply

  • the
  • applicability of

  • later
  • future, possibly

  • still
  • non-

  • existing
  • existent, versions of

  • these
  • those licences. This is sometimes

  • implied
  • assumed unless

  • you
  • explicitly

  • decline it
  • declined.

  • Some licences include automatic relicensing (MPL 2.0, EUPL 1.2, CeCILL)

  • – EUPL comes with the full and exhaustive list…

Licence compatibility matrices or checkers

Joinup Licensing Assistant – Compatibility Checker, https://joinup.ec.europa.eu/collection/eupl/solution/joinup-licensing-assistant/jla-compatibility-checker

  • ; EUPL lists all licences it can be combined with.

Licence Compatibility Matrices and Checkers

...

In-licences (component licences of components) are in rows and out-licences are in columns:.

(From https://github.com/HansHammel/license-compatibility-checkerSource: GitHub – Licence Compatibility Checker)

Open Source Automation Development Lab (OSADL)

...

Matrix and

...

Rules

In-licences are in columns and , out-licences are in rows:.

(From https://events19.linuxfoundation.org/wp-content/uploads/2018/07/OSLS-2019-Fulfilling-Open-Source-license-obligations-Can-checklists-help.pdfSource: Meeker & von Wendorff, 2019, Fulfilling Open Source Licence Obligations: Can Checklists Help?)
More at the OSADL site:

GNU GPL licences compatibility 

EUPL 1.2

Creative Commons licences

Creative Commons Licences Compatibility

Risks of licences

Risk mitigation against potentially harmful legal threats or behaviours by free-software licences

...

Frequently used protective and permissive licenses

...

AGPLv3

...

GPLv3

...

GPLv2.1

...

LGPLv3

...

LGPLv2.1

...

MPL-2

...

BSD

...

SaaS/cloud

...

Yes

...

No

...

No

...

No

...

No

...

No

...

No

...

Tivoization

...

Yes

...

Yes

...

No

...

Yes

...

No

...

No

...

No

...

Patent trolling

...

Yes

...

Yes

...

No

...

Yes

...

No

...

No

...

No

...

Proprietization

...

Yes

...

Yes

...

Yes

...

Partial

...

Partial

...

Partial

...

No

...

Granularity / reach

...

Project

...

Project

...

Project

...

Library

...

Library

...

File

...

N/A

...

Trademark grant

...

Yes

...

Yes

...

?

...

Yes

...

?

...

No

...

No

Select two works to combine or remix. Find the first work’s licence in the top row and the second in the first column. If a check mark appears at their intersection, the works can be combined. Use the more restrictive licence (the one further right or lower in the table) for the resulting work.

Image Added

(From Wiki/CC License Compatibility)

Software Composition Analysis (SCA and Software Inventory) Tools

Commercial SCA tools and services:

OSS tools that perform SCA:

Software Bill of Materials (SBOM) tools:

  • Trivy – Generates SBOM
  • Parlay – Enriches an SBOM with third-party data

  • Syft – Generates SBOMs from container images and filesystems

  • Tern – Container analysis tool; generates SBOMs for container images and Docker files

  • CycloneDX Tool Center – Marketplace of tools and solutions to optimize and secure the software supply chain
  • Anchore Syft/Grype – SBOM generation and vulnerability analysis
  • Ortelius – Microservice SBOM and dependency tracking
  • DependencyTrack – Continuous monitoring of components and licences using SBOM input

Ideally, SCA and SBOM tools should be integrated into the CI/CD process/pipeline for continuous monitoring of dependencies and compliance.

GÉANT resources:

Other guides and tool listss:

Artefact Creation and Compliance Guides and Tools

Compliance Frameworks and Governance

EU Policy and Context

Advanced and Comparative Legal Resources

(From https://en.wikipedia.org/wiki/Free-software_license)

Licence selection tools

Mend resources

Alternative software inventory tools

Ideally, compliance should be continuously monitored as a part of the build process.

Compliance methodology