On 2022-12-22 09:09, Ben Kochie wrote:
> It was my understanding that license changes, can be done by the
> copyright holder, without consent of all contributors. Because they do
> not hold any copyright to the code. IIRC this is how Grafana was able
> to relicense from Apache to AGPL. They did not need to get consent
> from all contributors.
>
> Of course, old versions are subject to the old license, but moving
> from prometheus-community to prometheus would effectively be a fork.
>
> In this case we could do it with permission from the original author
> as stated in the LICENSE file.
>
You are correct in saying that it is the copyright owner(s) who have to
agree to any license changes.
However by default if you contribute something to a project you are now
one of the copyright owners (only to your contributed code, not the
whole thing). The original owner is nothing special (other than possibly
being the largest owner, because there might be more of their code than
anyone else).
The only way around this (which I assume Grafana did, and other projects
require) is when contributing you sign a copyright transfer agreement -
that way legally the person/organisation the contributors transferred
ownership to is the only owner, and they have the right to do anything
they wanted (including using the code commercially or making everything
closed source).
So if this happened, and there is a record of signed copyright transfers
the license could be changed just by the agreement of the one owner.
Presumably however that isn't the case, and therefore it isn't possible.
Another option which has been used in other projects (such as the Linux
kernel for code that was found to not be correctly licensed [contributed
by someone who didn't have the rights to do so]) is to remove that code
& rewrite it (although you have to be careful that is is done 'cleanly'
to stop claims that you just copied that bad code). At that point the
contributor's code is no more, so no permission is then needed. If 95%
of existing contributors agreed to relicense and/or assign copyright but
there was 5% who didn't agree or couldn't be contacted that would
potentially be an option - of course it could be very
difficult/impossible if the remaining code was something really core.
--
Stuart Clark