I was interested to discover the GPL Cooperation Commitment today, and more particularly the COMMITMENT file they propose to include in a project under GPL v2 or LGPL v2 or v2.1: https://github.com/gplcc/gplcc/blob/master/Project/COMMITMENT

This file says that any person who contributes to the project, starting when the file was introduced, grants a very specific additional permission (extracted from GPL v3), to the users of the project, that applies to all the copyright of this contributor on the project, including for past contributions.

Let's now consider a software project, with many contributors, licensed under LGPL 2.1 only (no "or later" clause), whose core developers would like to move to LGPL v3 or later. Could this project commit a similar file in the project repository that would declare that anyone who contributes to this project starting when the file is introduced, agrees that all their contributions, including past contributions, be relicensed under LGPL v3 or later at any later point in time?

Then, the core developers could proceed on obtaining an additional agreement from past, inactive contributors, without having to worry that each new contributor makes the task a bit more difficult. If at some point, such agreement has been obtained from all past copyright holders, the change of license can be executed.

Given that the LGPL v2.1 license imposes that new contributions be licensed under LGPL v2.1 or a GPL license, such text must be delicate to craft, so I would be particularly interested in an existing text, already vetted by lawyers, and preferably standard enough to be reusable by any project that wants to follow the same process.

Furthermore, the fact that such text is standardized would facilitate contributions from corporate employees, who likely need additional approval for contributing to a project granting additional permissions beyond standard open source licenses.

Obviously if such process is realistic, it should not only be applicable to projects wanting to switch to a new version of a license, but also to projects wanting to switch to a more permissive, or incompatible license.

EDIT: In any case, if such an extension already exists, it is not yet listed at https://spdx.org/licenses/exceptions-index.html, contrarily to the GPL Cooperation Commitment which is: https://spdx.org/licenses/GPL-CC-1.0.html.

  • This is the reason behind the clause, "or (at your option) any later version", found in the GPL-3.0-or-later license. – Lucas Ramage Aug 9 at 20:16
  • I'd say from a given point all files must be dual-licensed under v2.1 and v3, and at a future point of time you can examine which files are v2.1 only and either drop them or rewrite them. Basically that has happened in OpenStreetMap, took a few years. – grin Sep 4 at 8:54
  • But then it prevents you from copying code from v2.1-only files to dual-licensed files. It seems a bit extreme... – Zimm i48 Sep 4 at 15:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.