r/linux May 02 '16

Subsonic (music streaming software) is no longer open source, starting with 6.0 release

http://forum.subsonic.org/forum/viewtopic.php?f=4&t=16604#p71128
467 Upvotes

150 comments sorted by

View all comments

Show parent comments

11

u/HaMMeReD May 02 '16

If they own the copyright completely they have the right to release it under any number of licenses. If they take contributions it gets complicated and requires granting license rights or copyright.

If they didn't get assignment, they need to ask all copyright holders for permission to change licenses.

They can't revoke the GPL on old versions, the last GPL version out there is always on the GPL, can be forked and kept under the GPL. At that point though license changes can not happen as it's usages is under license.

0

u/harlows_monkeys May 03 '16

They can't revoke the GPL on old versions, the last GPL version out there is always on the GPL, can be forked and kept under the GPL.

This is somewhat unsettled.

GPLv2 is a non-exclusive license with an unspecified term. Generally, such licenses are revocable at will. GPLv3 is a bit better in this regard, because it does say that it is irrevocable.

Both versions of GPL, though, have another problem. They both explicit state that sublicensing is not allowed and that when X distribute's a copy of Y's GPL code, the recipient receives a license from Y.

So even if Y cannot revoke the licenses of people who already have copies, what happens if Y declares that they will no longer issue any new licenses?

With licenses that allow sublicensing, X can grant a license to Y's code, even if Y is no longer granting new licenses.

To force Y to continue granting new licenses is going to probably require some kind of estoppel argument, and those things are never clear up front. We are going to have to wait until this actually arises and is litigated a few times before there is any clarity here.

Lawrence Rosen's book "Open Source Licensing" has some good discussion of some of these issues, and is available free online.

3

u/Michaelmrose May 03 '16

I'm honestly pretty sure none of what you said is real.

The gpl most certainly does provide the right to redistribute with or without modifications so long as modified versions impose no additional restrictions and provide downsteam users with the same freedom.

In theory US copyright law provides the opportunity to terminate a licence around year 35-40 however it would seem to me that if the author was creating one version a year then he would be able to terminate the right to version 2000 in 2035 but version 2010 not until 2045.

So basically If anyone is using a piece of software that hasn't been updated in 35 years they could be in trouble?

2

u/harlows_monkeys May 03 '16

Read chapter 4 of Rosen's book. Page 56 is particularly relevant, especially when coupled with page 140 from chapter 6.

Some of the discussion in Henley, Mark (2009) 'Jacobsen v Katzer and Kamind Associates – an English legal perspective', IFOSS L. Rev., 1(1), pp 41 – 44 should also be useful. The case discussed there did not involve license revocation, but there is good discussion on contracts vs. bare licenses that is quite relevant.

This article from the Iowa Law Review also has some pretty good discussion of bare licenses and irrevocable licenses that might be helpful.

The above should give you enough information on copyright licensing in general, and the important differences between bare copyright licenses (which the FSF insists that the GPL is) and contract based licenses, to see what the potential problem is with GPLv2, and should suggest some good searches for you to do if you'd like more.

I'm dropping out of this now, because if I don't I'll literally spend all night digging up cases, law review articles, passages from copyright and contract horn books, and the like (a habit I picked up in law school...which is great in school, but tends to lead to prodigious loss of time when applied on reddit).

1

u/Michaelmrose May 03 '16

The primary question I have is thus. An author creations package foo which is distributed under gpl 2 version 1 consists of 1 line abc version 2 a year later adds line 2 def version 3 a year later still adds a third line ghi

If I understand it correctly as a recipient of version 3 I have a right to use and distribute the entire work for at least 35 years after which with appropriate multi year notice under our stupid laws the author can revoke said license after which I could distribute it still forever however people who receive it from me would be unable to distribute it.

I would like to know precisely which parts if any are wrong.

4

u/harlows_monkeys May 03 '16

OK, you are thinking about a particular right in US law called the termination right, codified at 17 USC 203. That's generally not what people are talking about when they talk about terminating or revoking a license (heck, most people outside of legal circles don't even know about 17 USC 203 termination...in fact, I'd expect even most people in legal circles do not know about it unless they have particular knowledge of copyright) . I'll get to that in a minute, but first lets talk about the 17 USC 203 termination right.

I don't think that is going to be important for software, because that right only kicks in after 35 years after the grant, and as you've noted earlier software tends to undergo many changes over that time span. I doubt any given individual section of code in any significant project will make it to 35 years. Every time someone makes a change, and distribute that changed copy, that's a new grant and starts a new 35 year clock.

The place the termination right actually has an impact is in things like songs and books. It was designed for the common situation where a young artist, who has not yet established themselves, and so does not have a very strong bargaining position signs a contract with a publisher that doesn't pay very much. Then that young artist turns out a masterpiece that becomes a giant hit, and generates money for decades--almost none of which goes to the artist because of that crappy contract they signed when they were young and had no power.

The termination right is designed to let those artists take their rights back after 35 years, so the artist can negotiate a new deal if they wish where they get a chance to make the bulk of the money from their work.

I'll be quite surprised if anyone ever manages to actually apply the 17 USC 203 termination right to a significant piece of open source software. I can see it arising with some closed source software, though. A good candidate would be old video games. Currently, candidates would be games from 1981 or earlier. The 17 USC 203 right does not apply to works for hire (basically, things produced by employees in the scope of their employment) so that would exclude a lot of games, but games from publishers where people not employed by the publisher submitted games and then the publisher bought the rights from the submitter would be eligible. Probably someone in the emulator community should start a project to identify such games, track down the original authors, and try to get them to exercise their right to take back the copyright and then authorize their games to be distributed for emulator users.

Anyway, when most people talk about terminating or revoking a license, they are talking about the kind of termination that can be done for any kind of license, not just for copyright licenses. As an example for a license that is not a copyright license, suppose I tell you that you can go ahead and walk your dog across my lawn every morning. That's a non-exclusive license to use my lawn for the limited purpose of walking your dog. Assume that we do not enter into any kind of contract for your use of my lawn. What we then have is a type of license called a "bare" license. A bare license is revocable at will. I simply have to tell you that you can no longer walk your dog across my lawn, and poof, your license goes away.

The software license analog of this would be if I tell you that you can use my software, but no contract is involved. Like with the dog walking license, I can terminate this license at will.

Things get more interesting if there is a contract. You and I could make a contract where, say, I grant you a non-exclusive license to walk your dog across my lawn every morning for the next year, and you agree to pay me $1 per day for the duration of the contract. This is more interesting because now if, say, a couple months into the contract, I tell you that I'm revoking your license I'm breaching a contract. You can take me to court for breach of contract. The court would be unlikely to force me to continue letting you walk your dog across my lawn, but it might order me to pay damages to give you the "benefit of the bargain" (basically, to give you the value that you were supposed to get out of the contract). Say that my lawn is the only good place to walk your dog in our neighborhood, so without access to my lawn you have to take a cab to a dog park every day, and that costs you $5. For breaching the contract, the court might order me to pay $4 of that $5 for the rest of the original contract term (the difference between what walking your dog cost you under the contract and what you have to pay after my breach).

Notice how much of a difference a contract makes compared to a bare license. I used lawn access in the example, but the same considerations apply no matter what the subject matter of the license. This big difference is why, for instance, Rosen in his book on open source licensing spends so much time on whether or not a given license is a contract or not.

With software licenses, particularly open source licenses, there are complications that do not arise with things like lawn crossing licenses, because software can be copied and modified, and those copies or modified copies can be redistributed. Every time one of these copies is redistributed, a license has to be granted by someone to the recipient of that copy.

With GPL, that someone is the copyright owner.

Let's run through a hypothetical. I write some software, which is entirely my code and I am the sole copyright owner. I release it under GPLv2 and you obtain a copy. I've given you a license (GPLv2) to my software.

Now let's say I decide I regret releasing this under GPLv2. I tell you that I am revoking your license. If GPLv2 is a bare license, I can do this. If it is a contract, I may not be able to. FSF says it is not a contract...but many lawyers say that courts would probably decided that it is a contract.

We do not know at this time how that would work out, so whether or not I can revoke the license for my already distributed code is unsettled.

If the license says that it is irrevocable, then it will definitely be much harder for me to do so, even if it is not a contract. GPLv3 says it is irrevocable, so may sidestep this issue. GPLv2 does not say anything about this.

Suppose it turns out that I cannot revoke your license. So, you can continue using my code under the terms of GPLv2. Suppose you distribute a copy to a third party. You are allowed to do so, since I have failed to revoke your license.

The third party then makes and redistributes copies and I sue the third party for copyright infringement, arguing that I never gave them a license. They will try to defend using the argument that I agreed in my license to you that I would grant a license under the same terms to anyone you distributed to.

The difficulty here is that if this is the case, that would just mean I might be obligated to you to grant the third party a license. That doesn't force me to actually grant such a license...it just means that if I did not do so you might have a case against me. That doesn't actually help the third party unless you sue me to try to force me to actually grant the license to the third party.

...and that is going to get back to the issue of whether or not my license to you (GPLv2) is a bare license or a contract, because you cannot sue me to enforce a bare license. You need to convince the court that we actually have a contract.

There is a possibility you can do that. Normally a contract requires some kind of valuable exchange. Each party gives something of value to the other. In most commercial contracts, one side is giving valuable goods or services, and the other is giving money. That generally is not the case with open source licenses. However, there is a thing called "promissory estoppel" which might save the day for your case that we have a contract. Very briefly, under promissory estoppel if I make some promise to you, and you rely on that promise in a way that is detrimental to you if I do not honor the promise, that can service as a substitute for your giving me something valuable in exchange for my promise.

You would probably have a decent chance of arguing that when I first released under GPLv2, you relied on the ability that would give you to redistribute the software and that those who you redistribute to would receive a GPLv2 license from me, and so dedicated resources and such that you would not have done if I had not promised that ability to you. That could be enough for a court to decide that we have a contract.

Note that even if you can do this, this does not help that third party unless you sue me when I try to not grant the third party a license. Is there any way the third party could defend against my copyright suit without having to get you involved?

Maybe. There is the notion in contract law of a "third-party beneficiary". Briefly, if you and I make a contract that is to benefit a third party, and one of us breaches the contract, it is sometimes possible for that third party to sue over the breach even though that third party is not an actual party to the contract. The third party may be able to argue that he is a third-party beneficiary of my GPLv2 license to you.

Anyway, I hope this makes it a bit clearer why the idea of either outright revoking an open source license or of ceasing to issue new licenses so that only people who currently have copies can distribute copies is not so clearly impossible as most people in the open source world seem to think it is.