Are there any rules to change licenses?

Discuss how to promote using FLOSS to make music.

Moderators: khz, MattKingUSA

User avatar
CrocoDuck
Establlshed Member
Posts: 851
Joined: Sat May 05, 2012 6:12 pm
Contact:

Are there any rules to change licenses?

Postby CrocoDuck » Sat Apr 28, 2018 3:55 pm

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?
Check my Linux audio experiments on my SoundCloud.
Browse my AUR packages.
Fancying a swim in the pond?

User avatar
falkTX
Establlshed Member
Posts: 6585
Joined: Sat Jan 09, 2010 3:04 pm

Re: Are there any rules to change licenses?

Postby falkTX » Sat Apr 28, 2018 4:43 pm

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.
(So make sure to decide things clearly before a public release)

Let's take the example of Carla and Juce.
Juce as it was released some time ago, was released under GPLv2+ (or commercial).
Starting from version 5 of Juce, they changed the license to GPLv3 (or commercial).
By using version 5, Carla would have to be licensed as GPLv3, even though my code is GPLv2+.
When I decided I no longer wanted to use full Juce and made a fork out of it, I went back a few months with their code while it was still GPLv2+, forked it and removed everything that I did not need.
So now Carla continues to be GPLv2+.

User avatar
Lyberta
Establlshed Member
Posts: 614
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Contact:

Re: Are there any rules to change licenses?

Postby Lyberta » Sun Apr 29, 2018 7:25 am

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.

User avatar
falkTX
Establlshed Member
Posts: 6585
Joined: Sat Jan 09, 2010 3:04 pm

Re: Are there any rules to change licenses?

Postby falkTX » Sun Apr 29, 2018 5:22 pm

Lyberta wrote:
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.

hmm you're wrong?

If I am the sole author of a piece of code, I can re-license it as I please.
I can not apply it retro-actively, which was my point there.
The old code, if online or stored somewhere, will have its license as published before, nothing changes for that

I can have my program running as MIT in version 1, as GPL in version 2, and commercial license in version 3.
If it is my own code, I can do with it whatever what I please.

User avatar
Lyberta
Establlshed Member
Posts: 614
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Contact:

Re: Are there any rules to change licenses?

Postby Lyberta » Sun Apr 29, 2018 5:56 pm

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.

User avatar
falkTX
Establlshed Member
Posts: 6585
Joined: Sat Jan 09, 2010 3:04 pm

Re: Are there any rules to change licenses?

Postby falkTX » Sun Apr 29, 2018 7:53 pm

I dont think I am getting my point across.
I am not saying that releasing version 1 and version 2 of some code, under different licenses, makes both codebases use the same license.
What I am saying is, if I am the sole author of a specific piece of code, I can release it with whatever license, whatever many times I feel like it.
If it is *my code*, that I created myself, I can do with it whatever I want.

Of course, anyone can take an older version of the code and use it with the license it was released with.
No one takes that away once the code is published.
I do not have to rewrite my own code just to be able to publish it under a new license.

User avatar
CrocoDuck
Establlshed Member
Posts: 851
Joined: Sat May 05, 2012 6:12 pm
Contact:

Re: Are there any rules to change licenses?

Postby CrocoDuck » Sun Apr 29, 2018 8:13 pm

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.
Check my Linux audio experiments on my SoundCloud.
Browse my AUR packages.
Fancying a swim in the pond?

User avatar
Lyberta
Establlshed Member
Posts: 614
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Contact:

Re: Are there any rules to change licenses?

Postby Lyberta » Mon Apr 30, 2018 11:07 am

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.


Return to “Music & FOSS Advocacy”

Who is online

Users browsing this forum: No registered users and 2 guests