2005-07-25

GPLed software is not Debian-free

Really. The GNU GPL violates the Debian Tentacles of Evil test, because it is a bare license, and (with proper notice) a licensor can revoke a bare license at any time. At most the people already relying on the license may be able to use the legally tricky doctrine of promissory estoppel to go on relying on it. Everyone else is SOL.

6 comments:

Damien B said...

I'm not sure... To have the source of a GPLed program, you must have the right to use the program, which is the first right. Nobody forces you to deliver a GPL program to everybody for free (eventhough licensees can decide to do so). So at one point, you were given the right to use a program with some license by the rights holder of the program, sounds like a contract to me. So if the author changes the license of a GPL program (Tentacles Test) without it being specified in the contract for the use of the software (different from the GPL), the he's breaching the contract.

So to me, it seems that the Tentacles Test is somewhat out of scope of the GPL.

John Cowan said...

A contract requires a meeting of the minds and (in Anglo-American legal systems, to which this argument is confined) valuable consideration of some sort. The GPL is a unilateral act of sovereign power by the copyright holder, like the right to trespass on land; it can be revoked at any time, if proper notice is given to the licensees.

As for the right to use, that is part of the ownership right. As long as your copy is lawfully acquired, you own that copy, and you can do anything you want to with it except the few rights reserved to the copyright owner, of which the GPL covers only copying, distribution of copies, and the creation of derivative works.

Damien B said...

When I sayed contract, I imagined something like the EULA which must be acknowledged by the end-user. And many GPLed programs on Windows put such confirmation during their installation. For Debian, I think it's in the agreement exposed during the installation, which covers the software they package.

The FSF says the right can be retracted, but without giving a legal grounding.
http://www.fsf.org/licensing/licenses/gpl-faq.html#CanDeveloperThirdParty

Anonymous said...

The GNU GPL does not, as you say, grant rights only to copying, distribution of copies, and the creation of derivative works. It also grants the right to grant these selfsame rights. Section 6 of the GPL says in relevant part:

"Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions."

The term of such license is further clarified in section 4, in a part referring to your rights becoming terminated:

"However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."

In other words, if X grants the rights in a copyrighted work to Y via the GNU GPL, then Y can grant the rights, undiluted and undiminished, to Z via the GNU GPL. If Y later somehow loses the rights, Z does not.

A grantor may revoke a bare license, but he is not allowed to deem any acts committed under the license, after the granting, before the revocation, as torts. The acts were legal and their consequences are allowed to stand. So: X first grants to Y the rights plus the right to grant the rights, then Y grants to Z the rights plus the right to grant the rights, then X withdraws from Y whatever he granted. But X cannot undo Y's granting to Z, as it is an act committed under a license that was valid at the time. Z retains the rights.

Now, one may safely assume that the first act of Y on legitimately acquiring a property under the GNU GPL license is to distribute a copy of same to himself, thereby coming into posession of a license not granted by X. After that, even if it is true that the rights were granted by a bare license, and a licensor can revoke a bare license at any time, X can only withdraw his own granting -- not Y's. Y retains the rights. This is not mere hairsplitting nor gaming the wording of the license. This is the clear and express intent of the GNU GPL.

Can Y really distribute something to himself? I'm not sure, but in any case a sham jack may be introduced, where Y distributes to Z and then Z distributes to Y. Or Y to P to Z to Q to Y -- whatever is required to satisfy even the smallest mind.

Does this mean that Y can never lose the rights? Not quite. Although X is powerless to affect Y's instance of the rights, Y himself can destroy them. The first part of section 4 explains how:

"You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License."

The GNU GPL is quite clear on these points and there is no excuse for misunderstanding. Revocation of the GNU GPL as a bare license is ineffective. Appeal to promissory estoppel will not be unnecessary.

BTW -- Damien B said "The FSF says the right can be retracted, but without giving a legal grounding." but the URL points to the FSF saying the right CANNOT be withdrawn, without giving a legal grounding. Damien probably meant to type "cannot".

In fact, rights once granted under the GNU GPL cannot be recalled; the legal grounding may be found within the four corners of the license itself.

-Wang-Lo.

John Cowan said...

Wang-Lo, I think your argument breaks down at this point:

In other words, if X grants the rights in a copyrighted work to Y via the GNU GPL, then Y can grant the rights, undiluted and undiminished, to Z via the GNU GPL. If Y later somehow loses the rights, Z does not.

However, what happens under Section 6 is not that Y grants rights to Z as a result of distributing to Z, but that X grants rights to Z as a result of Y distributing to Z. This happens without X's knowledge, and there is nothing self-contradictory in X revoking the license to every indirect distributee as part of revoking the license to every direct distributee.

In particular, if Y = Z, Y has not granted to himself; rather X has granted to Y twice on exactly the same terms.

I agree that none of the pre-existing acts can be retroactively made tortious, but I do not see how that can be stretched to apply to future acts of distribution by licensees of X, which on my view are the only kind of licensees that exist.

Anonymous said...

I agree that you make a colorable argument and I apologize for characterizing it as a "misunderstanding".

The expressed view of the authors of the GPL and of such GPL grantors as have spoken up is that X can grant to Y a separate and distinct bare license to grant further licenses. Authorities seem to be silent on whether this is possible.

-Wang-Lo.