Are there any rules to change licenses?

Discuss how to promote using FLOSS to make music.

Moderators: MattKingUSA, khz

Post Reply
CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

Are there any rules to change licenses?

Post by CrocoDuck »

Hi there!

This post reminded me of something I have been thinking about lately: is it possible to change the license of some published work?

Let's assume that 2 years ago I written this piece of code:

Code: Select all

#include <iostream>
using namespace std;

int main() 
{
    cout << "Hello, World!";
    return 0;
}
And I published it with, let's say, MIT license. People all over the world downloaded and used the code according to the license.

Then, 2 years later, I look at it and I feel like I should have used GPLv3 instead. How that would work?

I guess that the change in license will mean that a fraction of people that downloaded the software in the past now would be in breach of the new license. But that doesn't sound right, as they have been playing according to the rules up to that very day, without doing any criminal act.

So, I would guess that maybe one could release a new version of the Hello World project and say: from this version it is GPLv3, while keeping the old version available with MIT license.

What do you think? Are there best practices for this? Did you see projects switching license before?
Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Been thanked: 1 time

Re: Are there any rules to change licenses?

Post by Lyberta »

falkTX wrote:You make a new release with a new license, it is as simple as that.
The old code, if online or stored somewhere, will have its license as published before, nothing changes for that.
No, it is possible to revoke the license and it is frequently done in proprietary world. That's why free licenses use terms such as "perpetual" and "irrevocable". So if you publish your stuff under popular free licenses, that published stuff will exist there until it falls into the public domain.

EDIT: After thinking a bit more I think the licenses that can be revoked at the sole discretion of copyright holder can't be free.
Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Been thanked: 1 time

Re: Are there any rules to change licenses?

Post by Lyberta »

falkTX wrote:I can have my program running as MIT in version 1, as GPL in version 2, and commercial license in version 3.
If you would have released version 1 under custom license that can be revoked, you could have revoked it and change the license of version 1. MIT and GPL can't be revoked.

Here's the excerpt from GPLv3:
2. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met.
Emphasis mine.

EDIT: Actually, it looks like MIT can be revoked as well.
CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

Re: Are there any rules to change licenses?

Post by CrocoDuck »

Lyberta wrote:EDIT: Actually, it looks like MIT can be revoked as well.
From that page:
Companies that have a GPL and want to change it typically just increase the version number and change the license at that time. There, the new license applies to that version on, and the older versions stay with the GPL.
That seems to tie in with what falkTX is saying. Essentially, I could publish version 2.0 like this:

Code: Select all

#include <iostream>
using namespace std;

int main()
{
    /// Now with 2 more "!", and 1 more comment
    cout << "Hello, World!!!";
    return 0;
}
And say "version 1.X stays over that repo with MIT license, version 2.X starts over this new repo with GPLv3".

If I wanted to change the license for version 1.X instead I could do so only if the license itself allows it, I guess.
Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Been thanked: 1 time

Re: Are there any rules to change licenses?

Post by Lyberta »

falkTX wrote:If it is *my code*, that I created myself, I can do with it whatever I want.
Correct within some limits.
falkTX wrote:Of course, anyone can take an older version of the code and use it with the license it was released with.
Incorrect.
falkTX wrote:No one takes that away once the code is published.
You can revoke the license if the license allows it.
CrocoDuck wrote:If I wanted to change the license for version 1.X instead I could do so only if the license itself allows it, I guess.
Exactly.

The discussion was started with Sonatina, there are no new versions of it and the original author is not interested in releasing anything new, so I limit the discussion to change of license of existing works.
Post Reply