|
|
Subscribe / Log in / New account

The third GPLv3 draft

The original plans had called for the third draft of the GNU General Public License update to come out late last year. Needless to say, things didn't happen that way. Between trying to address concerns raised from various directions and responding to the Microsoft/Novell deal, the Free Software Foundation ended up having to slip its schedule; as a result, eight months have passed since the second draft was released. One could well argue that a major license update should not be made in a hurry, and thus the delays are not problematic. In any case, the wait is over: the new GPLv3 draft is available. In many ways, the draft resembles its predecessors; in others, it has changed significantly. This article will focus on the differences.

One area of conflict has been the anti-DRM provisions. The relatively uncontroversial language stating that GPLv3-licensed works are not "technological measures" has been reworked slightly to give it a more international focus:

No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.

The previous draft had been specific to the DMCA, but anti-circumvention laws are a global issue, so this change makes sense.

The "anti-tivoization" provisions have been the source of much of the disagreement over this license. The new draft changes those sections significantly - though the intent remains the same, and people who did not like the previous versions are unlikely to feel better about the new language. In previous drafts, signing keys required to convince hardware to run a given binary were deemed to be part of the source code, and thus a required part of the (required) source distribution. The drafters decided that extending the definition of "source code" in this way was not the best idea. So, instead, we now have "installation information":

"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

The license goes on to say that, if GPLv3-licensed code is shipped as part of a product, the installation instructions must be made available as well. Actually, it's not anywhere near that simple, for a couple of reasons. The first is this concept of a "user product," which is new in this draft:

A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling.

The actual requirement for the shipping of installation information is:

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information.

One might well wonder what is going on here. In the explanation materials sent to LWN with the license draft, the FSF states:

After some discussion with committees, we discovered that the proposals in the second discussion draft would interfere with a number of existing business models that don't seem to be dangerous. We believe that this compromise will achieve the greatest success in preventing tivoization.

The nature of these innocuous business models is not spelled out. What it comes down to, though, is that gadgets intended to be sold to businesses will be exempt from the "installation instructions" requirements. This seems strange; it may well be businesses which would have the most use for the ability to change the code running in devices they purchase. The FSF has been saying that the right to replace the software in a device is required for true software freedom; why is that right now less important for devices which are not "user products"?

This exemption could prove to be a big loophole. Many years ago, your editor bought a digital audio tape deck. The rules for DAT decks in those days specified that they must implement the "serial copy management system" - a couple of bits in the digital audio data stream which indicated whether another deck was allowed to record that stream or not. It turned out that decks intended for "professional use" were exempt, however - musicians, after all, might actually want to make copies of their work. As far as your editor could tell, the difference between "professional" and "consumer" decks (at the low end, anyway) consisted of a pair of rack-mount ears; "professional" decks were available at the local guitar shop. Anybody could get a SCMS-free deck with little trouble. The exemption for devices which are not "user products" looks similar; with this language, the FSF may well be setting us up for a flood of "business use" gadgets which happen to available at the local big-box technology store.

The "additional terms" section has been simplified a bit. The second draft included the optional requirement that, if the covered code is used to implement a web service, the users should be able to get the source via that service. This requirement, intended to close the "web services loophole," is absent from the third draft.

The termination rules still allow any copyright holder to terminate the license if it is violated. There is a new escape clause, though:

However, if this is your first violation of this License with respect to a given copyright holder, and you cure the violation within 30 days following your receipt of the notice, then your license is automatically reinstated.

An opportunity to fix a GPL violation is consistent with how the license has been enforced so far.

The patent language has changed significantly as well. The second draft included a covenant not to enforce any relevant patents against recipients of the software; in the third draft, instead, an explicit patent license is granted. This change is apparently intended to make the patent grant language look more like that found in other licenses.

The change which will attract the most attention, though, is the language aimed at the Microsoft/Novell deal; it does not look like anything found elsewhere. It starts by broadening the definition of a "patent license" to include things like covenants not to sue, thus covering the Novell non-license. There is a clause saying that if you distribute covered code under the protection of such a license, you must arrange for all recipients - anywhere - to have the same protection. Then there's this part:

You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a patent license (a) in connection with copies of the covered work conveyed by you, and/or copies made from those, or (b) primarily for and in connection with specific products or compilations that contain the covered work, which license does not cover, prohibits the exercise of, or is conditioned on the non-exercise of any of the rights that are specifically granted to recipients of the covered work under this License.

The FSF is still considering whether it should grandfather in deals made before this draft was released.

The restriction to deals involving software companies is strange; it will just cause the next deal to be done by way of a patent-troll corporation. The prohibition only applies if the payments are based on the number of copies distributed, meaning that the next such deal will look like a fixed-sum payment - we will never know how that sum was calculated. There are enough loopholes in this section that it seems unlikely to slow down the next patent shakedown in any significant way. If the grandfather clause is added, it will not even affect Novell, the target of this whole thing.

There is an interesting new exception in this draft:

Notwithstanding any other provision of this License, you have permission to link any covered work with a work licensed under version 2 of the Affero General Public License, and to convey the resulting combination. The terms of this License will continue to apply to your covered work but will not apply to the work with which it is linked, which will remain governed by the Affero General Public License.

The posted version of the Affero GPL is version 1; your editor was not able to find any mention of a second version anywhere. The FSF must know something the rest of us are not yet privy to.

Finally, there is explicit support for signing away the right to decide on future license changes to others:

If the Program specifies that a proxy can decide whether future versions of the GNU General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Program.

There are various other tweaks - providing source by way of a network server is now officially allowed, for example. In many ways, GPLv3 is shaping up exactly as it was supposed to: it is bringing the license up to contemporary, worldwide standards and is evolving in response to input from the community. Your editor anticipates that the new anti-DRM and anti-Novell language will be the subject of significant criticism, however. They are developing the complex, baroque nature of code which has been repeatedly patched far beyond its original design. That language may require some work yet.

The current plan calls for the FSF to accept comments on this draft for the next 60 days, after which the final draft will be released. One month later - around the end of June - the GPLv3 will become official. The FSF claims to be actively looking for comments, so now is the time for anybody who has remaining concerns to speak up. Regardless of whether certain high-profile projects move to GPLv3, we all will be working with code covered by this new license. It's important that we help the FSF get it right.


(Log in to post comments)

field of use

Posted Mar 28, 2007 14:43 UTC (Wed) by rfunk (subscriber, #4054) [Link]

I'm quite surprised and disappointed by the "user product" and "in the business of distributing software" language. One of the longstanding tenets of free software is that field of use doesn't matter; as Theo DeRaadt has put it, you could use the software in "baby-mulching machines" and it's OK as far as free software licensing goes. (Granted he's talking about BSD not GPL, but the same free software principles apply.) When the license starts putting some uses and types of businesses on different footing from others, it veers from the original goals. In this sense this draft would seem to be worse than the previous one.

field of use

Posted Mar 28, 2007 20:44 UTC (Wed) by drag (guest, #31333) [Link]

Well ya.

That dwelling stuff is just plain stupid. I can't beleive anybody thought that was a good idea.

The editor is right, anybody can trivially ignore the GPLv3 drm language by slapping a 'pro' sticker on the box.

I'm starting to think that it's time to just get rid of the whole drm thing. It's just gotten stupid.

field of use

Posted Mar 29, 2007 11:41 UTC (Thu) by lysse (guest, #3190) [Link]

> The editor is right, anybody can trivially ignore the GPLv3 drm language by slapping a 'pro' sticker on the box.

In their rationale document - which your careful analysis of their claims clearly shows that you have read - the FSF say otherwise; they insist that Magnusson-Moss gives them the protection they need, in the interpretation of user products. They may well be right - under US law.

It's unfortunate, then, that they've ditched all references to the DMCA in order to internationalise the licence, whilst introducing so heavy a reliance on a facet of American consumer law in another clause. Might be OK in the UK (or might not), but I believe European law is generally more concerned with original intent, which runs the risk of having precisely this effect - and certainly UK consumer law is now aligned with the EU's.

I think they've got to the right place with the DRM section as a whole, given that it now only requires that manufacturers provide me some way to make use of the source the GPL requires them to distribute (ie. if they're distributing a binary, as opposed to a product with a binary embedded in it). For me, it's this whole exclusion business that's fragile and doesn't belong in the licence; the DRM stuff is only there to ensure that the other freedoms guaranteed actually mean a damn, and I can't see why anyone would have a problem with that aim. Moreover, it smacks of the FSF trying to keep too many people happy, at the expense of their principles - something that's never a good idea.

Maybe I'm missing something, though? Maybe the huge amount of work that the TiVo's manufacturers have contributed back to the community would make alienating them unwise...? Maybe the practice of actually getting a product's firmware right BEFORE it goes on sale is a relic of a simpler, vanished time...?

Meanwhile, it looks as though the options for manufacturers engaged in these kind of practices are (but are not limited to):

* Prepare to maintain GPLv2-only forks of that software for which alternatives don't exist yourselves, or in collaboration with other like-minded organisations; after all, you're using it precisely because you CAN do that... right...?
* Incorporate a per-machine key, or some other means of running a binary generated by the person in possession of your box (from the rationale document, it looks as though this option is new)
* Stop sending out binary firmware updates; require products to be serviced instead

Since the FSF don't seem to be backing down on the Tivoisation issue, and since it's, you know, *their licence*, I think those who are really opposed to the whole idea (rather than merely the way they're seeking to implement it) should probably get cracking on alternatives, rather than telling the FSF to stop trying to build their own treehouse their own way in their own backyard. Especially when all they're trying to do is make sure that what happened when that branch took out the roof of last year's treehouse can't happen again. (Of course, it's another matter to point out that if they build it that way, the floor will fall out...)

can you say loophole?

Posted Apr 5, 2007 15:08 UTC (Thu) by paulpach (guest, #20903) [Link]

> ... third party that is in the business of distributing software ...

so all microsoft needs to do give the patent to a puppet company that is not in the business of distributing software. The puppet can now do the covenant not to sue with Novel and Novel wont be violating the GPLv3. WTF???

The third GPLv3 draft

Posted Mar 28, 2007 14:47 UTC (Wed) by alexbk (subscriber, #37839) [Link]

There is considerably more information in the GPLv3 third draft rationale document:
http://gplv3.fsf.org/gpl3-dd2to3.pdf

In particular, it explains this bizarre "User Products" change:

"In our discussions with companies and governments that use specialized or enterprise-level computer facilities, we found that sometimes these organizations actually want their systems not to be under their own control. Rather than agreeing to this as a concession, or bowing to pressure, they ask for this as a preference. It is not clear that we need to interfere, and the main problem lies elsewhere.
While imposing technical barriers to modification is wrong regardless ofcircumstances, the areas where restricted devices are of the greatest practical concern today fall within the User Product definition. Most, if not all, technically-restricted devices running GPL-covered programs are consumer electronics devices, and we expect that to remain true in the near future. Moreover, the disparity in clout between the manufacturers and these users makes it difficult for the users to reject technical restrictions through their weak and unorganized market power. Even if limited to User Products, as defined in Draft 3, the provision still does the job that needs to be done. Therefore we have decided to limit the technical restrictions provisions to User Products in this draft."

The third GPLv3 draft

Posted Mar 28, 2007 15:45 UTC (Wed) by gdt (subscriber, #6284) [Link]

Since people may want an example, I'll give one.

Most mainframes are sold with significantly more hardware than is enabled. If you want an "upgrade" then the vendor calls in and does a "screwdriver free upgrade" of the hardware by flicking a few bits. These bits are increasingly protected by DRM technologies.

Both the vendor and the customer would prefer that the DRM not be subverted by software licenses. The vendor's preference is obvious. The customer's preference is that they would like the ability to "dial" more capacity to remain, since the alternative is to receive the hardware actually ordered, to organise hardware upgrades, and to suffer the scheduled downtime associated with those.

The third GPLv3 draft

Posted Mar 28, 2007 19:35 UTC (Wed) by khim (subscriber, #9252) [Link]

How the hell GPL is related to this ? I can think quite a few cases where DRM is sensible (your sample is quite convincing) but I'm yet to see the situation where you need to lock up huge mass of code (typical Linux+GNU distribution plus KDE and Firefox). It's just not workable! There are will be security holes, buffer overflows, etc: you'll only succeed in making life for lawful user miserable while crackers will have the ability to circumvent DRM-protection anyway... To make any sense you need small, simple, auditable piece of code - and if this code should be written from scratch without GPL components - then so be it.

The third GPLv3 draft

Posted Mar 28, 2007 20:48 UTC (Wed) by drag (guest, #31333) [Link]

Well ya.

That's the problem with depending on things like TPM/checksumming for your security. Sure it can be used to check for rootkits when you reboot your server it can't realy do anything for exploits in running code.

Not at least until you get to the point were things like in-memory checksums for executable parts of program or something bizzare like that. It'll be a few more years before we get stuff like that aviable on the PC.

mainframe exception

Posted Mar 29, 2007 4:24 UTC (Thu) by rfunk (subscriber, #4054) [Link]

This is insane. The FSF wants to allow this mainframe exception, but
instead of writing it as a mainframe exception (or whatever) as intended,
it's written to be targeted toward these "user products".

Hey FSF, please say what you mean, rather than attempting to work with a
negation of your interpretation of the inverse set. English doesn't work
the same way code does.

I'm with the other commenter who said just add "unless you waive that
right" instead.

mainframe exception

Posted Mar 29, 2007 5:59 UTC (Thu) by dlang (guest, #313) [Link]

so how long before people start requireing you to waive your rights to arbatrary sections of the GPL as a condition of selling the product to you?

mainframe exception

Posted Mar 30, 2007 16:38 UTC (Fri) by sbergman27 (guest, #10767) [Link]

Wouldn't work. The license to distribute the code comes from the copyright holder.

The user's right to use the code comes from the same source.

The end user has no right to waive anything in the copyright holder's license.

waiving of GPL rights

Posted Mar 30, 2007 21:14 UTC (Fri) by giraffedata (guest, #1954) [Link]

The user's right to use the code comes from the same source.

The end user has no right to waive anything in the copyright holder's license.

We're talking about the license from the copyright holder hypothetically saying, "unless the recipient waives those rights."

And giving that sort of freedom to the recipient means stating the rights at all is a waste of paper and there is no GPL.

waiving of GPL rights

Posted Mar 31, 2007 14:38 UTC (Sat) by sepreece (guest, #19270) [Link]

The user arguably has a right under contract law to waive any right granted to her by the license. The license doesn't require you to exercise your rights, it simply offers them to you.

Now, the GPL has additional clauses that attempt to make it harder for the distributer to offer you such a deal. I think it's a wide-open question whether that aspect of the GPL would hold up in court. I'm not even sure how it would get to court, unless a distributor penalized a customer for exercising GPL rights after agreeing not to do so. Courts tend to give people a lot of scope to make contracts. [IANAL]

waiving of GPL rights

Posted Mar 31, 2007 17:25 UTC (Sat) by giraffedata (guest, #1954) [Link]

The user arguably has a right under contract law to waive any right granted to her by the license.

Yes, but once she does, the license no longer exists, so the distributor can't give her the code, so the right effectively doesn't exist.

the GPL has additional clauses that attempt to make it harder for the distributer to offer you such a deal. I think it's a wide-open question whether that aspect of the GPL would hold up in court.

That isn't just a minor aspect of GPL -- it's the essence of GPL. If such a license condition is not enforceable, there is no GPL; everyone can just use BSD.

Though I'm not a copyright lawyer, I remember when GPL was new some people arguing that such conditions are not enforceable, much like many contract terms are not (e.g. an employee can't agree not to work for anyone else in the field for the rest of his life). I have not heard that argument in years, and of all the open source copyright disputes with all the IP attorneys involved, I can't think of one where the distributor argued that his recipient traded away his GPL rights.

So I'm going with the idea that GPL works.

I'm not even sure how it would get to court, unless a distributor penalized a customer for exercising GPL rights after agreeing not to do so.

Yeah, that's one way, and perfectly expectable. A more direct way would be where rather than penalize the customer, the distributor just refused to cooperate. E.g. customer asks for the key to make his router run his modifications, and Linksys says, "you agreed when you bought the router you couldn't have one," and the customer asks a court to compel Linksys to give up the key anyhow. (And assuming Linksys wins, Harald Welte points out that he gave Linksys permission to distribute his code in the router on the condition that Linksys make the keys available to every customer, and therefore asks a court to award him damages from Linksys for copyright infringement).

waiving of GPL rights

Posted Mar 31, 2007 20:41 UTC (Sat) by sepreece (guest, #19270) [Link]

"but once she does, the license no longer exists,"

No, the license is granted to the distributor, not the end user (though the end user gets it, too). The end user's behavior cannot affect the distributor's right to distribute and once the software has been conveyed under that license, the end user has a right to use the software as long as she does not violate the terms of the license, which yielding her rights would not do.

Again, imagine the case where the consumer buys the phone, with GPLed software and then, *after* the conveying of the software in the phone, the user separately contracts with a third party for cellular service on the phone tied to a particular version of the software. The GPL cannot affect whether such a contract is possible or enforceable.

I don't think the example you present would occur. The customer could have the keys needed to modify the software, but as soon as she installed a new version the service contract would terminate service under the terms of the service contract.

waiving of GPL rights

Posted Mar 31, 2007 22:49 UTC (Sat) by giraffedata (guest, #1954) [Link]

The end user's behavior cannot affect the distributor's right to distribute and once the software has been conveyed under that license,

Ah, but it's not the end user's behavior after the software has been conveyed (technically, after the copy has been made). It's the distributor's behavior as he makes the copy: He fails to make an irrevocable promise to the end user to make keys available.

That the distributor didn't make the promise because the end user asked him not to is irrelevant.

I don't think the example you present would occur.

I believe we were talking about what's legally possible and what GPL proponents want to prevent, so it's about what could occur, not what would. If no distributor would do that, there's no need for any key language in GPL, and probably not much need for keys.

The customer could have the keys needed to modify the software, but as soon as she installed a new version the service contract would terminate service under the terms of the service contract.

OK, then, aside from the legal question, would a distributor do what I proposed (sell a router without keys needed to modify the software), when he could do just what you say instead? I see great interest among distributors in doing it my way. Tivo could simply say if you modify the box, your warranty and any service contract is void. It could even put some kind of seal on it to keep you from cheating. But it doesn't. It engineers the box to make it impossible for you to modify it. Many other embedded device manufactures do that too.

I can think of several reasons a manufacturer might not to want the user to modify the box at all. But that's straying too far from this "can a recipient waive his GPL rights?" topic.

The third GPLv3 draft

Posted Mar 29, 2007 17:42 UTC (Thu) by stevenj (guest, #421) [Link]

Both the vendor and the customer would prefer that the DRM not be subverted by software licenses. The vendor's preference is obvious. The customer's preference is that they would like the ability to "dial" more capacity to remain, since the alternative is to receive the hardware actually ordered, to organise hardware upgrades, and to suffer the scheduled downtime associated with those.

I still don't understand this example. Even previous drafts of the GPLv3 didn't force the user to employ the DRM keys, any more than GPLv2 forces the user to employ the source code. The GPL should just say that that the manufacturer/distributor must make the keys available to recipients upon request.

I can fully understand that some users may prefer not to use (or even see) the DRM keys. I can also fully understand that a distributor may offer a warranty only on the condition that you don't use/request the DRM keys (in the same way that with GPLv2 you can offer a warranty only on unmodified binaries if you choose). I don't understand why the old GPLv3 draft was a problem for this case, however, or why they had to remove even the option of getting the keys.

The third GPLv3 draft

Posted Mar 30, 2007 11:46 UTC (Fri) by alexbk (subscriber, #37839) [Link]

I don't get this either. The condition that the customer can't get the keys to fiddle/tinker can be
specified in the support contract; if the customer really wants, he can obtain the keys via the GPL
provisions but then he loses all support. Why complicate the software license instead of laying it out
in the support contracts where it belongs?

The third GPLv3 draft

Posted Mar 30, 2007 12:09 UTC (Fri) by alexbk (subscriber, #37839) [Link]

Looks like we both are thinking the same thing :)

http://gplv3.fsf.org/comments/rt/readsay.html?filename=gp...
http://gplv3.fsf.org/comments/rt/readsay.html?filename=gp...

The third GPLv3 draft

Posted Mar 28, 2007 14:47 UTC (Wed) by bcs (guest, #27943) [Link]

I would just like to help address some of the open-ended questions in this article.

First, the rationale document that has been published with this draft goes into some detail about the new User Products definition. The Magnusson-Moss warranty act on which it is based has been interpreted fairly liberally, so that any product that is normally used by individuals -- even if the majority of consumers are not individuals -- falls under its scope. I'm not too familiar with DAT decks, but from what's written here, even the professional models described could fit within the scope of products we've set forth.

Second, version 2 of the Affero GPL is not out yet. We are planning a public drafting process for it as we have done with all our licenses in the past year. The rationale has more details, and we hope to announce specific plans soon.

-- Brett Smith, FSF Licensing Compliance Engineer

The third GPLv3 draft

Posted Mar 28, 2007 18:09 UTC (Wed) by hingo (guest, #14792) [Link]

"Magnusson-Moss warranty act"

I have no idea what that is, but is sounds very US centric. (Which is fine by me but counter to the stated goals of this license.)

The third GPLv3 draft

Posted Mar 28, 2007 19:21 UTC (Wed) by vmole (guest, #111) [Link]

Magnuson-Moss limits the restrictions that a manufacturer can place on a consumer product warranty; that is, it provides for a sort-of "minimum" warranty that is implied when a item is offered for sale. Yes, it is US specific, but the key point for relevance to the GPL3 is (presumably) that "consumer product" is defined in way that is deteremined on a factual basis, not by the manufacturer's claim. Thus, if it's sold in Best Buy (or Guitar City) to anyone who wants it, it's a consumer product, no matter what the manufacturer may claim.

The third GPLv3 draft

Posted Mar 29, 2007 12:05 UTC (Thu) by lysse (guest, #3190) [Link]

That may well be true, IN THE UNITED STATES OF AMERICA, because of the wording of the MM Act.

The language of parallel acts may well not make any equivalent claims for any other territory or legislature. I'm also far from convinced that framing the GPL in terms of even the language of the relevant country's acts would actually convey any extra weight to the understanding of its terms - though the FSF's a priori explanation of its intent might. (At least they've avoided directly referencing the MM Act; I just can't help but think that "consumer device" is the kind of term that is far too easily overridden without a statutory framework in support of it.)

More generally, one can't just blithely assume that legal systems are more or less the same across the world. The whole point of legal systems is that they develop to meet the particular circumstances of the country concerned; parallel laws merely reflect that people tend to be similar the world over, but as usual the devil is in the details.

definition by reference

Posted Mar 29, 2007 12:42 UTC (Thu) by louie (guest, #3285) [Link]

A license can define its own terms. That is pretty universal; no need to make assumptions about the court system.

This license basically says 'we define term X in the same way the US court system has defined term X; if you have a question about term X, look to what the US court system has done.' It doesn't say 'US law applies', it says 'US law has definitions that are convenient for us to borrow, and we're borrowing them.'

This is basically definition by reference, instead of definition by copy/paste. Defining something by reference shouldn't be that hard for programmers to grok :)

I'm not sold that the larger rule makes sense, but the definition seems perfectly reasonable.

definition by reference

Posted Mar 29, 2007 13:28 UTC (Thu) by lysse (guest, #3190) [Link]

It's possible I missed something, but I remember the reference to what the US court system has done with the term "consumer product" only being spelled out in the rationale, not in the licence itself. Moreover, since they've taken a reference to the DMCA out of the licence itself, I don't think they're about to go that way.

My point is that I'm not convinced that outside the US legal framework, the term "consumer product", where used in the term "User Product", is sufficiently clear without explicit definition, no matter what they said in the Rationale document. Your point about definition by reference is well made, but one really ought to include the relevant prototype.

definition by reference

Posted Mar 29, 2007 15:24 UTC (Thu) by louie (guest, #3285) [Link]

No, it is right there in the license, though they aren't sure if they'll leave it in.

definition by reference

Posted Mar 29, 2007 23:08 UTC (Thu) by lysse (guest, #3190) [Link]

My bad - sorry.

The third GPLv3 draft

Posted Mar 28, 2007 21:10 UTC (Wed) by drag (guest, #31333) [Link]

This doesn't make any sense to me.

What you guys are starting to get into is that your dictating usage of GPL'd software.

Your saying that if the software is intended for business use you have set-of-rules 'A'. If your software is intended for consumers then you have set-of-rules 'B'. And to tell the difference between weither or not your software is going to be licensed under 'A' or 'B' is how the hardware that software is sold on is going to be marketed!!?

Your dictating licensing based on marketing. That doesn't make any sense. Think about it. On how the hardware the software is shipped on is marketted then it dictates acceptable uses for the software.

This opens up all sorts of BS for people to put up with. I'll give you one major example: What is people run businesses out of their home? A lot of people do this and they use things in their homes that were never intended by the manufacters as 'home consumer items'. What this clause is going to cause is that manufacturers are going to have to be deadly carefull about who they sell their hardware to.

This is exactly the same sort of BS that people accuse DRM of doing! That they make distinctions in their licensing between 'family households' and stuff like that. Enforcing restrictions on people based on distinctions that don't realy exist or work in the real world.

More and more stuff is bought and sold over the internet now. There is no existing division between stores that sell professional equipment versus places that sell stuff to home users. So your saying if somebody has a 'business account' that they don't have to be given keys to their hardware?

I figure that if you can't DRM restriction that can't be applied universally then it's a fundamentally broken construct and should be removed. The 'universality' of this sort of thing is VERY important licenses like the GPL who are looking for some moral correctness.

The third GPLv3 draft

Posted Mar 29, 2007 2:29 UTC (Thu) by cyd (guest, #4153) [Link]

As the rationale document indicates, existing case law interprets "user products" in a very broad and generic way. So slapping a "pro" on the name of the software, as a previous poster suggested, definitely doesn't make it a non-user product.

So the intention is that for most situations, people who distribute GPL'ed code with a DRM'ed device will have to give the receipient the keys to circumvent the DRM, but this requirement is waived in the specialized circumstances (enterprise computing, etc.) discussed earlier in this thread. The fact that this "discriminates" against manufacturers of DRM'ed consumer devices is a response to the fact that this is the precise situation where DRM is harmful.

The third GPLv3 draft

Posted Mar 29, 2007 5:46 UTC (Thu) by drag (guest, #31333) [Link]

You tell me right now what is the difference between a PC sold for 'enterprise' use and a PC sold for consumer.

The fact that one has hot swappable drives and the other doesn't?

One uses a Xeon proccessor and the other uses a Celeron?

Practically the same CPUs, same chipsets, same everything.

Linux clusters are a bigger and bigger deal for enterprise computing. One of the major reasons is the cheapness of PC hardware. Sure sure you have mainframes and other things, but those are being marginalized in favor of commodity hardware. And this trend is just continuing into the future.

And, as you know, if you read this stuff is that the definition of what is 'user products' is very very loose. So if you make 'enterprise' hardware your going to be forced to be very carefull and discriminate between potential customers if you want to stay legal with the GPL!!

Sell enough of your hardware to people's uses in their home and, SUPRISE!, the GPL suddenly applies differently to you today as it did yesterday. You were once compliant, and now becuase you tripped into 'consumer device' territory, you now are a GPL violator!

Think more then just computer hardware.

What about Cell phones? PDAs?

A corporation may want to provide locked-down laptops to employees. So people who make those laptops will have to be carefull to add features unaviable to home users and not allow those things to be sold to general public.

The GPLv3 new draft is, in effect, dictating hardware design! The only real difference is who this hardware is being marketed towards. The case it's stuck in, the sort of accounts/people/uses your allowed to sell it to.

What I see is that the license designers have found, OMG, legetiment uses for DRM that they have no real problem with.

So now they created a loophole, based around very US centric legislation designed for something entirely different, to discriminate between the DRM they don't mind existing versus the DRM they dislike.

This stupid clause has just increased the complexity of dealing with GPL software by a magnitude of difficulty over the previous draft.

I still say if they can't figure out a acceptable way to have it apply universally so it acts the the same irregardless what sort of user you are then it's a just broken.

It's a lovely notion that turns out to be a realy crappy idea when you try to apply it to the real world. Like hurd. It's a _mistake_.

I've completely changed my mind about it since yesterday. Before I thought it was a good idea, but now I realise what a huge mistake it is.

The third GPLv3 draft

Posted Mar 29, 2007 15:30 UTC (Thu) by cyd (guest, #4153) [Link]

You tell me right now what is the difference between a PC sold for
'enterprise' use and a PC sold for consumer.

Nothing: the intention is that both are consumer goods.

The third GPLv3 draft

Posted Mar 29, 2007 15:41 UTC (Thu) by bfields (subscriber, #19510) [Link]

"You tell me right now what is the difference between a PC sold for 'enterprise' use and a PC sold for consumer."

The difference is that one's sold to an "enterprise" and one to a "consumer". I agree that attempts to distinguish the two cases based only the hardware itself would be difficult or impossible.

"A corporation may want to provide locked-down laptops to employees."

If the employees are its own, then I don't believe there's any distribution, so the GPL doesn't go into effect.

The third GPLv3 draft

Posted Mar 29, 2007 20:21 UTC (Thu) by drag (guest, #31333) [Link]

Yes. But the arguement here is that the Tivo-isation clause doesn't apply to enterprise computing because the people who do enterprise computing don't want it.

There are people who DON'T want access to the keys, even if they own the hardware and the software. So if your selling 'enterprise' computers your allowed under this GPLv3 draft not to allow people to update or modify the software.

How you tell the difference between enterprise goods and consumer goods is by Magnuson-Moss Warranty Act, 15 U.S.C. 2301 which has a very liberal definition of what is consumer goods.

You can be selling 'enterprise' goods one day, but if enough people buy them for their homes, then it becomes consumer goods and then the GPlv3 applies to you differently.

This is the wonky part I don't like.

If I am wrong I'd like somebody to point that out to me, but I don't think I am.

The third GPLv3 draft

Posted Mar 30, 2007 18:07 UTC (Fri) by dirtyepic (guest, #30178) [Link]

> You tell me right now what is the difference between a PC sold for
> 'enterprise' use and a PC sold for consumer.

Okay, take some deep breaths. Pay attention. There is no difference. A PC is a User Product, _no matter what its intended use or market may be_. Locked down laptops, PC clusters, cell phones, PDAs, etc are all consumer products. Anything you as a consumer could conceivably purchase is a User Product. A mainframe, NASA space shuttle, nuclear power plant control station, deep-sea research robot, or a General Electric MR Systems Signa HDx 3.0T MRI machine are not User Products. You cannot "trip" into the consumer device territory; it's a conscience act to begin making your product available for the public at large.

I do agree that the license should be clearer about this to avoid people jumping to conclusions and going off on long-winded rants and/or randomly smack-talking hurd.

;P

The third GPLv3 draft

Posted Mar 30, 2007 18:18 UTC (Fri) by dirtyepic (guest, #30178) [Link]

I forgot to mention the rationale behind the separation, or at least one rationale that I can see: If you do happen to own a mainframe, NASA space shuttle, nuclear power plant control station, deep-sea research robot, or a General Electric MR Systems Signa HDx 3.0T MRI machine, you probably want to be DAMNED sure that the code running on said device has not been tampered with in any way, shape, or form. The existence of a key that allowed the device to run modified code would be a grave security risk.

Think voting machines.

The third GPLv3 draft

Posted Mar 31, 2007 2:46 UTC (Sat) by kevinbsmith (guest, #4778) [Link]

If there is a voting machine out there, using GPL software, and that software has a known vulnerability, and the manufacturer refuses to fix it, then YES I want my county to have the right and ability to fix the bug.

I suppose they could just scrap all the worthless machines, but that seems like a waste.

The third GPLv3 draft

Posted Mar 29, 2007 9:20 UTC (Thu) by terber (subscriber, #3311) [Link]

"existing case law interprets "user products" in a very broad and generic way"

In the US. What's about the other juridical systems (at least the major ones)?

I thought GPL aims to get a globally applicable and enforceable license.

The third GPLv3 draft

Posted Mar 28, 2007 22:19 UTC (Wed) by JohnNilsson (guest, #41242) [Link]

Whats wrong with just "unless you waive this right"?

No need to single out classes of users.

The third GPLv3 draft

Posted Mar 29, 2007 7:38 UTC (Thu) by spitzak (guest, #4593) [Link]

It seems it could be as simple as "installation instructions must be provided to users who request
them" as a seperate requirement than that the "source code must be provided to users who
request it". Since the installation instructions could depend on the user's serial number,
requesting them could void the warranty as well, and would not provide a leak of this dangerous
information to "users who don't want it".

The third GPLv3 draft

Posted Mar 30, 2007 21:59 UTC (Fri) by giraffedata (guest, #1954) [Link]

What's wrong with just "unless you waive this right"?

Well, who is "you"? There are 3 parties here: 1) the author (copyright holder); 2) the distributor; 3; the user. Distributor is the only one who needs a copyright license. But I assume you mean Distributor is excused from the key-giving condition if User agrees not to have a key.

What's wrong with that is that it defeats Author's purpose in using GPL, which is to encourage Distributor to make his own work freely available and modifiable by anyone. The same reason that under GPL 2, User can't waive his right to have Distributor's source code.

Examples have been given of cases where User doesn't want a key, and you can certainly write GPL so that User doesn't have to have one if he doesn't want it. But there are also cases where User doesn't want the power to have a key, like when Dr Jekyl says, "You must not let me out of this room, even if I beg you." A commenter above described it in more detail, but basically, it's because User gets something from Distributor in return for committing himself not to have a key.

This, by the way, is by no means limited to business users. As a home user, I too might want to sell some of my ability to modify software. I guess FSF decided it's more important for a business to have that freedom than for me.

The third GPLv3 draft

Posted Mar 31, 2007 14:46 UTC (Sat) by sepreece (guest, #19270) [Link]

That's oversimplifying. Most users of consumer equipment will never ask for the source code and never try (or want to try) to modify it. The author's intent is in no way thwarted if *those* users waive their right to get the source code.

The problem occurs if ALL recipients of the distribution are required to waive their rights as a condition of receiving it.

As an example, I think it would fine is a manufacturer sold a phone two ways - with full GPL rights, but no associated services (like cellular network access), and with rights waived but service provided. The software is still freely available and the user has the option to buy what she needs.

I agree that GPL rights would be abused if it were possible for a distributor to sell a product ONLY with rights waived.

The third GPLv3 draft

Posted Mar 31, 2007 17:36 UTC (Sat) by giraffedata (guest, #1954) [Link]

As an example, I think it would fine if a manufacturer sold a phone two ways - with full GPL rights, but no associated services (like cellular network access), and with rights waived but service provided. The software is still freely available and the user has the option to buy what she needs.

Simplifying the example a little: Red Hat offers Linux two ways: $100 with just object code; $10000 with source code on demand. Does GPL allow that? Should it?

The third GPLv3 draft

Posted Mar 31, 2007 20:29 UTC (Sat) by sepreece (guest, #19270) [Link]

For me to consider it fair, the cost has to be similar (can't charge extra for the right to the source). For the example I posed, I assumed the cost for the phone was the same either way and the with-service option simply added the cost of the service, though presumably you could still have carrier rebates to offset some of the cost of the handset.

I'm not suggesting this as a way for manufacturers to gouge the consumer or to hide their changes to the code, just as an option that the consumer might prefer. This is on the assumption that in some cases the service provider wants to require a specific software load on the device as a condition of service. I believe that should be their right, whether it's the best technical solution or not...

The third GPLv3 draft

Posted Mar 31, 2007 23:33 UTC (Sat) by giraffedata (guest, #1954) [Link]

For me to consider it fair, the cost has to be similar

If people voluntarily pay $100 for object code and $10,000 for source code, it looks pretty fair to me: the source code is obviously quite valuable, and each user gets what he paid for. The just-users customers would be pretty happy not to be charged the value of the source code.

I'm not suggesting this as a way for manufacturers to gouge the consumer or to hide their changes to the code, just as an option that the consumer might prefer.
In order for GPL authors to get what they want in exchange for their work, they have to make things unfair and penalize some users.

A GPL author's goal is a lot like that of a legislator passing a product safety or minimum wage law: greater public good at the expense of some individual good deals.

The idea is to eliminate competition (remember that consumers normally compete with other consumers, not with producers). As long as I'm willing to take object code only, that puts economic pressure on you to do the same. But if through the magic of GPL, an author can prevent me from taking object code only, then the distributor has only two choices: give both you and me object and source code or given neither of us anything. In many cases, the former is the more profitable route for the distributor. It's a big win for you, and, the argument goes, it's a pretty small loss for me -- just a slightly more expensive product.

The third GPLv3 draft

Posted Mar 29, 2007 4:59 UTC (Thu) by flewellyn (subscriber, #5047) [Link]

It sounds to me like what you really want to say is "embedded devices".

So why not say "embedded devices"? That would remove a whole heck of a lot of confusion.

The third GPLv3 draft

Posted Mar 29, 2007 6:03 UTC (Thu) by dlang (guest, #313) [Link]

define 'embeded devices' in a way that everyone can agree with.

today's top-of-the-line system is less powerful then tomorrows system that's embedded in your car (or watch)

The third GPLv3 draft

Posted Mar 29, 2007 13:42 UTC (Thu) by flewellyn (subscriber, #5047) [Link]

Power of the system involved is not relevant. What makes something "embedded" is that it
controls or is part of a special-purpose device, as opposed to a general-purpose computer.

I think this clause is meant to be a way of insisting on programming access to embedded devices
that use free software, which makes sense. It's not necessarily as easy to reprogram your cell
phone or digital video recorder as it is your computer. But I think the wording needs a real
overhaul.

The third GPLv3 draft

Posted Mar 28, 2007 16:24 UTC (Wed) by smitty_one_each (subscriber, #28989) [Link]

>The FSF is still considering whether it should grandfather in deals made before this draft was released.

This would make an interesting compromise.
Those that prefer the FSF stance can shop elsewhere, and those for whom the Novell/Microsoft deal is not too odious know exactly where to shop.
Let the people think for themselves, say I.

The third GPLv3 draft

Posted Mar 28, 2007 17:35 UTC (Wed) by proski (subscriber, #104) [Link]

What do you mean? GPL governs distribution only. It doesn't tell anyone "where to shop". If GPL bars Novell from, say, distributing the latest gcc, I'm not sure all Novell customers will stay with it.

The third GPLv3 draft

Posted Mar 28, 2007 17:37 UTC (Wed) by cyd (guest, #4153) [Link]

My impression of draft 3, after a first reading, is that it is a substantial improvement over draft 2. In particular, section 7's "additional terms" options have been dramatically simplified and clarified. From what I remember about the feedback on draft 2 provided through the FSF's comments mechanism, a lot of it has been incorporated into the new draft.

The main part of the license that has *not* become clearer is the part addressing Microsoft/Novell-like patent agreements. It's written in somewhat convoluted language, and obviously will need some refinement. OTOH, I don't know how it could be improved, though.

The third GPLv3 draft

Posted Mar 28, 2007 17:41 UTC (Wed) by Blaisorblade (guest, #25465) [Link]

After reading the Affero material, that's what I understood (I'm not related to Affero in any way).

Since Affero GPL v1 is GPLv2 + the "web services" provision (in section 2(d)), but is not GPLv2 compatible, Affero GPLv2 will probably match GPL v3, and that clause fixes the incompatibility.

The Affero FAQ mentions that they'll switch to GPLv3, but since the "web services" provision was removed, Affero GPL v2 will be needed.

The third GPLv3 draft

Posted Mar 29, 2007 15:24 UTC (Thu) by notamisfit (guest, #40886) [Link]

Is the Affero GPL enforceable without some kind of contract acceptance? The relevant term seems to blur the use/distribution line.

The third GPLv3 draft

Posted Mar 28, 2007 20:48 UTC (Wed) by malor (guest, #2973) [Link]

I think the language is getting too specific and tortured. It's being aimed at specific bodies and specific things, and it shouldn't be. It needs to cover all cases, and it needs to be in very clear language.

The GPLv2 is a masterpiece of clear writing. It's understandable by laypeople, but nonetheless is legally very solid. It's written from general, first principles, not aimed at any specific behavior, and it's strong because of that. It's like writing a constitution; a ban on behavior has to be broad, because the more specific it becomes, the less likely it will be upheld. Being too specific allows weaseling.

I'd strongly suggest redoing most of these new sections; User Products should just be products in general. Software companies should just be companies in general. If you can't reasonably distinguish between a business model you like and a business model you don't like, then either ban or allow them both. Focus on behaviors, and be as general as possible. Torturing the language to target particular companies just doesn't work.

Sticking to first principles will give the best chance of a GPL that lasts. Let the community reorganize itself if necessary. It's not worth sacrificing fundamental freedoms to preserve business models you happen to like. Those companies will adapt, or go out of business; that's the nature of capitalism. Other companies will spring up to take their place.

And please, focus on writing in English, not American legalese. Trying to parse those sentences is very difficult.

The third GPLv3 draft

Posted Mar 28, 2007 22:28 UTC (Wed) by JohnNilsson (guest, #41242) [Link]

Couldn't agree more. It was REALLY hard to read some of those new paragraphs. I couldn't help but feel that they are rather hackish too.

This definition of creeping featurism keeps echoing in my head: "a systematic tendency to load more chrome and features onto systems at the expense of whatever elegance they may have possessed when originally designed." - http://catb.org/jargon/html/C/creeping-featurism.html

They really need to focus on principles and not so much about specific instantiated issues.

The third GPLv3 draft

Posted Mar 28, 2007 23:00 UTC (Wed) by malor (guest, #2973) [Link]

After thinking about this some more, I'm of the firm opinion that if you can't express it clearly in normal English that normal people can read, it shouldn't be in the GPL at all.

We definitely need anti-Tivo and anti-Novell language, but it needs to be clear, simple, and unassailable. It can't just be to prevent those specific things, but anything else of that class that might arise in the future.

Otherwise, someone is going to come up with a dodge, and then you'll patch the license, and they'll dodge again, and pretty soon we'll be tangled in a snarl of incompatible GPL versions.

It has to cover ALL the bases. If the cost of simple, clear language is broad prohibitions on behaviors you presently consider marginal, then so be it.

The third GPLv3 draft

Posted Mar 29, 2007 0:27 UTC (Thu) by bronson (subscriber, #4806) [Link]

I agree with you 100% except for...

> If the cost of simple, clear language is broad prohibitions on behaviors you presently consider marginal, then so be it.

I would say, "if the cost of simple, clear language is that one or two companies somehow manage to abuse free software for their nefarious purposes, so be it. The community and the marketplace will continue to ensure that they pay for their transgressions (like Circuit City)."

Sweeping prohibitions scare me... they often produce unintended consequences. I'd prefer erring on the side of less law, not more.

Of course, if the choice is between the current v3 draft and broad prohibitions, then I'm all for broad prohibitions. The GPL should remain simple and user accessible.

The third GPLv3 draft

Posted Mar 29, 2007 12:18 UTC (Thu) by lysse (guest, #3190) [Link]

> Sweeping prohibitions scare me... they often produce unintended consequences. I'd prefer erring on the side of less law, not more.

But this isn't law! This is a licence; you're only bound by its provisions insofar as you are doing something only permitted by the licence - in this instance, by redistributing GPL3'd software. In such respect, it falls very clearly into the "voluntary agreement" column, and terms like "prohibition" are wholly inappropriate.

Put simply, if you don't like the provisions of the licence, find different software. (Isn't that kind of what led us all here in the first place..?)

The third GPLv3 draft

Posted Mar 29, 2007 16:17 UTC (Thu) by bronson (subscriber, #4806) [Link]

fine... "I'd prefer erring on the side of less *restrictions*, not more." People in general tend to do the right thing, even when it's not mandated by law. Therefore, to try to resolve oddball corner cases, I'd suggest less language, not more.

> if you don't like the provisions of the licence, find different software.

Obviously. But the GPLv3 is up for discussion now. This the time to voice concerns, isn't it? Tell me if this is not the case.

Even so, if a license is 90% perfect except for one or two horribly flawed clauses, I might *still* choose to use it. Just think... If people had to agree with every clause in a license be able to use it, the world would even more FOSS licenses than it does today. >shudder<

Ultimately, isn't your statement somewhat similar to "If you don't submit a patch, you can't complain about the program!" I hope it's possible to disagree with a particular license clause, program misfeature, or law without having to switch software, submit a patch, or leave a country.

The third GPLv3 draft

Posted Mar 30, 2007 0:01 UTC (Fri) by lysse (guest, #3190) [Link]

> Obviously. But the GPLv3 is up for discussion now. This the time to voice concerns, isn't it?

It is indeed. However, if one of those concerns is a specific intention of the revision, one can safely assume it's not going to be addressed. The FSF appears to be committed to disbarring GPL3 software from Tivoisation, on the grounds that it's in the spirit of previous GPLs; it is entirely valid to say that those people who don't like such an intention should find themselves alternative software, or an alternative licence for their software, since they are the people targeted by such an intention.

> Even so, if a license is 90% perfect except for one or two horribly flawed clauses, I might *still* choose to use it.

If the issue here is licence choice, then there's nothing to stop you from taking the GPL3, dropping said horribly flawed clauses, and running it by a lawyer to make sure it's still a viable licence (or is GPL-compatible, if that's your concern). You could even publish it as the GPL2.1, or the IGPL, or whatever; and given the number of requests for such a thing, I'm sure it would be regarded as a valid and valuable contribution to the community. (Indeed, I'm surprised that nobody's proposed simply forking the process; after all, far better to have one body administering a hypothetical GPL2.x than everyone deriving their own version.) The FSF is not the only body that can produce a GPL - but the FSF can't be expected to spend its lawyers' fees furthering the interests of any group of people other than the FSF. After all, they're designing the GPL3 primarily for their own use; asking the community for contributions was a generous move and an acknowledgement of the widespread adoption of the GPL2, but not something they were under any obligation to do - not even a moral obligation.

> Ultimately, isn't your statement somewhat similar to "If you don't submit a patch, you can't complain about the program!"

Probably. But then ultimately, the statement is similar to "if you don't like the way someone else is doing something, do it better yourself". Or more basically - "You can only directly control what you do; you can only ever ask someone else to compromise what they do".

Similarly, you can complain about a program (or a licence) all you like, and you have every right to do so. But you don't have the right to have anyone *listen* to those complaints, and if someone's said "we're doing X, that's non-negotiable, but we know lots of people are watching us and we're prepared to listen to suggestions as to how", and they're only actually applying X to what's theirs, then the only way to make any progress is to leave them to it and make alternative arrangements.

> I hope it's possible to disagree with a particular license clause, program misfeature, or law without having to switch software, submit a patch, or leave a country.

But if you find a licence clause intolerable, and the licensor refuses to change their mind, do you have any option but to switch software? If a feature makes a program unusable for you, but the developer declines to fix it himself, can you do anything but submit a patch? If a law conflicts with your conscience, and your governments will not change it, what can you do but resist your governments?

In all cases, the only answer is "learn to live with it". For some of us - not very many as far as I can see, but some - that's actually the hardest, least acceptable option of all.

The third GPLv3 draft

Posted Mar 29, 2007 12:10 UTC (Thu) by lysse (guest, #3190) [Link]

> We definitely need anti-Tivo and anti-Novell language, but it needs to be clear, simple, and unassailable. It can't just be to prevent those specific things, but anything else of that class that might arise in the future.

Absolutely. Indeed, given that legalese bears some characteristics of a programming language, it's probably true to say that the clearer and simpler it is, the more likely it is to be unassailable.

But then, code gets crufty because people fix corner cases with quick patchy hacks, rather than going away and finding another clear and simple formulation of the code that includes the corner case...

The third GPLv3 draft

Posted Mar 31, 2007 2:53 UTC (Sat) by kevinbsmith (guest, #4778) [Link]

I haven't read the entire draft yet, but based on the excerpts in the lwn article, I completely agree that the language is out of control. It sounds like the US Income Tax code, which is a convoluted mess of exceptions and special cases.

Maybe the answer to the case of businesses who don't want the keys is to allow that right to be waived if agreed to by the user and the vendor AND the original copyright holder. Sure it's a big hassle, but if we are talking about space shuttles and nuclear power plants, they can afford some hassle. Just a thought.

It is also possible that situations like that just aren't appropriate for GPL software. Perhaps this FREE license should not try to extend to cover cases that intentionally restrict FREEDOM, especially if doing so creates loopholes that will reduce freedom for the rest of us.

I generally like the philosophical direction they are heading, but I sure hope they rewrite some sections with simplicity in mind. I also hope they don't try to stick to their current schedule. I would rather see a 3 month delay than a sub-optimal license that we have to live with for a decade or two.

The third GPLv3 draft

Posted Mar 28, 2007 22:38 UTC (Wed) by JohnNilsson (guest, #41242) [Link]

Could this "Installation Information" be used to publish a work in a way that fools people into thinking that it's free software but in reality they wouldn't be able to exercise their four freedoms because they can't conform to the license?

I'm thinking of a situation where a hardware vendor releases some firmware under this license but manage to get a way with not providing "Installation Information" that's not usable as "Installation Information" for derived work.

The third GPLv3 draft

Posted Mar 29, 2007 9:10 UTC (Thu) by grouch (guest, #27289) [Link]

6.[3] Conveying Non-Source Forms.

[...]

c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.

-- GPLv3 - Third discussion draft

I can understand "noncommercially" but what, exactly, is "occasionally"? Is that like once every 7th Tuesday or once every blue moon or does it mean that special dispensation may be granted by the copyright owner when the moons are aligned and the petitioner's name ends with 'z'?

The third GPLv3 draft

Posted Mar 29, 2007 9:41 UTC (Thu) by nix (subscriber, #2304) [Link]

It means `ask a lawyer first, and strongly prefer not to do it', I expect.

The third GPLv3 draft

Posted Mar 29, 2007 9:38 UTC (Thu) by etienne_lorrain@yahoo.fr (guest, #38022) [Link]

> A "User Product" is either
> (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or
> (2) anything designed or sold for incorporation into a dwelling.

So, what is the status of the digital electricity/gas/water meter outside of your personnal house if it were containning GPL software?
I seems to be a device owned by the providing company and rented to you permanently. You do not own it, it is not inside your property, you do not have to maintain it (clean it, give it power supply, insure against it starting a fire..).
Then, what is the status of the HUB / layer 3 Ethernet router installed inside your house rented to you on a permanent basis by your Internet provider if it were containning GPL software?
By the way, you can bin the device at the end of the contract, the renting company is not interrested in second hand equipment.
Or on the other side, this Internet provider wants the equipment returned else they charge you for the price of the hardware.
Then, what is the status of a Digital TV/Internet box full of GPL software in your Home theater at home?

I still did not understand the limit in distributing(V2) or conveying(V3) GPL software in the context of renting for short period or for the life of the product. When can you ask for the source?

The third GPLv3 draft

Posted Mar 30, 2007 1:14 UTC (Fri) by sepreece (guest, #19270) [Link]

If you rent it, it's not yours and the GPL simply doesn't apply. No copy has been conveyed, so there's no distribution for it to govern. Whether you have to return it doesn't matter; whether you continue to pay for it does. If you can keep it when the rental ends, that's the point where your GPL rights would begin, but at that point you presumably would no longer have access to the service it interacted with. [IANAL, TINLA]

The third GPLv3 draft

Posted Mar 30, 2007 9:26 UTC (Fri) by etienne_lorrain@yahoo.fr (guest, #38022) [Link]

Now, just imagine that you are buying the hardware and renting the software for it, for the duration of the live of the hardware, paying once at the same time as you are paying the hardware.
No GPL apply? Note that I do not know the right answer (TM), I do not know if you [w|s]ould be a "Licensees", I do not know if "that requires permission under applicable copyright law" - taking GPL extracts.
Sometimes, I have read quite strange requirements in the user manual of products, hidden in small letters, after unpacking...

The third GPLv3 draft

Posted Mar 30, 2007 13:34 UTC (Fri) by sepreece (guest, #19270) [Link]

IANAL. I assume a court would apply some kind of test to determine whether a particular situation was actually a rental or was really a sale. I don't know what the test would be. I suspect that it would have to involve leagl termination of your right to do or possess something at the end of the rental period.

Note that there are somewhat different laws (copyright exceptions) around software rental than around rental of physical property, so the conditions might not be obvious.

However, if the software is a legitimate rental (which might include a control that terminated your right to use the software at the end of the rental period, for instance), then I would say the GPL did not come into play, because the software was never conveyed. But, IANAL...

The third GPLv3 draft

Posted Mar 30, 2007 13:57 UTC (Fri) by etienne_lorrain@yahoo.fr (guest, #38022) [Link]

So, could/should the new GPL license explicitely forbid renting any software covered at least partly by the GPL?

The third GPLv3 draft

Posted Mar 30, 2007 18:30 UTC (Fri) by sepreece (guest, #19270) [Link]

I don't think so. The likelihood of it becoming a significant avenue for abuse seems small and it creates complications in perfectly reasonable situations (as, for instance, when someone is renting a device/machine/etc. that has GPLed software in it and really has no right to alter that software).

The legitimate rental case (especially where the software is embedded in a device) is not an abuse. It might be possible to create an abusive situation using "pro forma" rental arrangements where the rental really was a sale in all but name, but I think courts would not be confused by that, if it ever came to court.

GPLv3: renting vs buying

Posted Mar 30, 2007 22:42 UTC (Fri) by giraffedata (guest, #1954) [Link]

I think everyone is overlooking the meaning of "convey." In legal documents, "convey" is used specifically to contrast with "transfer rights" or "change ownership." It refers to a quite concrete action of moving something physically. For things that don't move physically, such as land and software, the definition gets broadened a little (you see otherwise ridiculous statements like, "with my signature, I hereby convey ...," but it's still meant to be a simple metaphor.

So it doesn't matter what the financial arrangements are or what sort of rights are given or promises made. If I pick up a CD and place it in your hands, I've conveyed it to you. I don't know exactly where the line is drawn if I send you software over a wire, but I know it has nothing to do with whether you're allowed to use it for life or for the next 30 days.

GPLv3: renting vs buying

Posted Mar 31, 2007 3:03 UTC (Sat) by sepreece (guest, #19270) [Link]

The normal legal meaning of "convey" doesn't apply; the GPLv3 draft provides a specific definition.

Re-licensing of GPLv3

Posted Mar 29, 2007 9:43 UTC (Thu) by jec (subscriber, #5803) [Link]

As anybody knows, taking BSD/Apache code and relicensing it to GLPv2 is OK.
Taking GPLv3 code and relicensing it to GPLv2 would be forbidden, that's the heart of the license.
But would taking GPLv2 code and relicense it to GPLv3 be ok or not?
That would mean that a Linux Kernel in GPLv3 would be possible.

Re-licensing of GPLv3

Posted Mar 29, 2007 12:23 UTC (Thu) by lysse (guest, #3190) [Link]

I think it might fall foul of the "no additional restrictions" clause. Which isn't a problem with code which retains the "or any later version" language in the preamble, but since Linux doesn't...

-- lysse, who is not a laywer

Re-licensing of GPLv3

Posted Mar 29, 2007 12:32 UTC (Thu) by knewt (subscriber, #32124) [Link]

You can't actually take GPLv2 code and relicense it to GPLv3, as the two licenses are incompatible. However, most (but certainly not all) GPLv2 software has this bit of text at the top of its license:
you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
The Linux Kernel is one piece of software which explicitly doesn't have that, thereby (deliberately) tying it to v2 only.

Re-licensing of GPLv3

Posted Mar 29, 2007 15:58 UTC (Thu) by southey (guest, #9466) [Link]

As anybody knows, taking BSD/Apache code and relicensing it to GLPv2 is OK.
Actually this is generally false. The original code still has the original license and you remain bound by those terms of that license unless you are the sole owner of the code covered by that license. Any relicensing of any code where you are not the sole owner of the copyright violates copyright law.

Re-licensing of GPLv3

Posted Mar 30, 2007 1:19 UTC (Fri) by sepreece (guest, #19270) [Link]

Right. This is an important distinction that sometimes gets lost. You may be able to redistribute under a license other than the original license, if they're compatible (the original terms are not violated by the terms of the license you use). You're still distributing under the terms of the original license, just in conjunction with something else with compatible terms. The licensing never changes unless the authors specifically allow it.

Re-licensing of GPLv3

Posted Mar 29, 2007 17:47 UTC (Thu) by edgewood (subscriber, #1123) [Link]

As others have pointed out, the only party who can "re-license" code is the original copyright holder.

What someone other than the copyright holder can do is combine BSD and GPL2 code and distribute the resulting combined work as GPL2, since the BSD license allows you to add additional restrictions, and doesn't contain any restrictions that aren't allowed by the GPL2. Note that the original GPL2 section of the combined work remains under the GPL2, and the original BSD section remains under BSD. (Apache is a different story, it's at best unclear whether the Apache Public License v2 and the GPL2 are compatible in this way: the FSF says they aren't, the Apache Foundation says that it's unclear.)

No one other than the copyright holder can combine GPL2-only and GPL3-only code and release the combined work under either license, since each license requires that modified versions of code released under that license be distributed with the same license. That's why the Linux kernel's "GPL2-only" sections are such a big deal: as long as there is GPL2-only code in the kernel, it can't also incorporate GPL3-only code.

The Linus answer

Posted Mar 29, 2007 12:20 UTC (Thu) by djrom (guest, #26074) [Link]

According to an article in news.com, Linus commented this new draft, and surprisingly seems less reluctant than before, saying "Unlike the earlier drafts, it at least seems to not sully the good name of the GPL any more". Maybe the FSF is getting closer and closer of a consensual license, besides all the difficulties on the road. Who knows ? :)

The third GPLv3 draft

Posted Mar 29, 2007 14:12 UTC (Thu) by NRArnot (subscriber, #3033) [Link]

Am I right in thinking that it's OK to *rent* someone a box containing GPL software without offering them its source? The ownership of the box or of the GPL-based software do not change, so there is no distribution taking place.

If this is the case, why is so much discussion even taking place? Let a Tivo-like company market its services. People who sign up rent a box which performs it. The rental contract costs roughly what the box would cost to buy (if it could be bought) in the first year, and a nominal sum in subsequent years. Or any other pricing scheme they choose.

If I *rent* a car I don't expect to be given the numeric code that allows me to remove the radio from that car and install it into a different one. It's not my car and it's not my radio, I've only purchased a time-limited right to use them (together). If I *buy* the car and the radio, then I do expect to be permitted to separate the radio from the car, and use either in any way that I can imagine.

From the economics perspective, a rental business will thrive if it adds sufficient extra value compared to anything that's available on outright sale. It'll fail if it doesn't. Shouldn't the GPL just say that locked-down non-replaceable GPL software is not allowed in any item that is sold outright, but is permitted (more accurately, cannot be forbidden) in a device that is merely rented?

The third GPLv3 draft

Posted Mar 29, 2007 15:17 UTC (Thu) by notamisfit (guest, #40886) [Link]

From the article:

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information.

So I'm guessing this covers sales, rentals, leases, etc of User Products.

The third GPLv3 draft

Posted Mar 29, 2007 17:28 UTC (Thu) by NRArnot (subscriber, #3033) [Link]

To me, right of posession implies the right to re-paint, the right to cut bits off or weld bits on, the right to completely destroy. Surely when you rent something, the right of posession is not transferred to the recipient even temporarily, only a limited right of use. The GPL draft says "posession *and* use", so does this not exclude renting? I'm not a lawyer, anyone with more of a legal background care to comment?

I would be opposed to the GPL trying to obstruct rental agreements. It's not hard to imagine a piece of (specialized, delicate, expensive, safety-critical?) hardware that could be permanently damaged or degraded as a consequence of running modified control code. Someone who rents out equipment should no more have to facilitate the alteration of code embedded in it, than facilitate modification of the hardware by providing the (physical) key to a locked case. You might even argue that he's under a duty of care to his next customer to try to prevent such uncontrolled usage from taking place.

Conversely, the GPL very much should, if possible, insist that all keys and rights are handed over if and when the hardware is sold.

To me there seems to be a very clear and natural divide here. If you sell, you must not attempt to retain rights over GPL'ed code that you don't own in the first place. If you rent, the whole system remains yours, and you should not be obliged to hand over anything to the renter that you don't want to.

The third GPLv3 draft

Posted Mar 29, 2007 18:44 UTC (Thu) by notamisfit (guest, #40886) [Link]

And if Tivo decides they're going to lease their boxes for an indeterminate time vice selling them?

The third GPLv3 draft

Posted Mar 30, 2007 1:33 UTC (Fri) by sepreece (guest, #19270) [Link]

"Possession" in law does not mean ownership - it means having the physical object under your control. [It's actually more complicated than that - there's "actual possession" (having physical control of the object) and having the power and intention to later take possession of the object is "constructive possession". So constructive is more like ownership. AThe license doesn't distinguish, at least in that clause, but actual possession presumably does not imply conveying.]

The third GPLv3 draft

Posted Mar 30, 2007 1:26 UTC (Fri) by sepreece (guest, #19270) [Link]

Read it more carefully: "and the conveying occurs". If it's a rental, there is no conveying, so the license doesn't apply - there's no distribution for it to control. [IANAL]

The third GPLv3 draft

Posted Mar 30, 2007 19:15 UTC (Fri) by sanjoy (guest, #5026) [Link]

I don't think that interpretation is correct. Even if it's a rental, a conveying has occured (the renter has received a copy of the executable). So the question is whether the "fixed-term" condition also applies.

The third GPLv3 draft

Posted Mar 31, 2007 2:56 UTC (Sat) by sepreece (guest, #19270) [Link]

No, the renter has received a copy, but that copy has not been propagated or conveyed, but simply lent. Propagating is defined in the license as doing something that requires the copyright owner's permission, which renting does not. Conveying is a subset of propagating where the recipient is able to make and distribute copies.

The word "able" is slippery of course. I read it as "is legally allowed to" rather than "is mechanically able to" because that's consistent with the definition of propagation depending on the copyright owner's permission.

Renting a device that has software in it does not require the copyright owner's permission [unless, per the Software Rental Act, the software in the device can be copied as part of the device's normal operation].

The third GPLv3 draft

Posted Mar 30, 2007 1:39 UTC (Fri) by sepreece (guest, #19270) [Link]

One thing I do like is that while the new draft still requires that a user be able to modify a work and cause it to lie to a service to claim to be the original version, it does explicitly allow the network to terminate use of the service if the software violates a behavioral contract with the service.

I'm not sure that that doesn't leave the door open for methods that would, for all practical purposes, restrict the user's ability to modify and replace the software, though, so it may not survive.

The third GPLv3 draft

Posted Mar 31, 2007 12:49 UTC (Sat) by i3839 (guest, #31386) [Link]

To quote the relevant GPLv3 parts:

> The information must suffice to ensure that the continued functioning of
> the modified object code is in no case prevented or interfered with
> solely because modification has been made.

> Network access may be denied when the modification itself materially and
> adversely affects the operation of the network or violates the rules and
> protocols for communication across the network.

The previous draft required that it shouldn't be possible to see the difference between the original version and a modified one, and that requirement is luckily removed in the new draft.

With the current draft it's allowed to treat modified (aka "unknown") clients different than original ones (e.g. as new clients instead of existing ones). Disallowing this would be unreasonable.

Yes, the new wording leaves some room for abuse, but it also leaves more room for genuine usages, and some of those are impossible to allow when making every kind of abuse impossible.

I still think the draft is worded way too specific, like other people mentioned already, it should focus on telling what it wants to achieve instead of focussing on disallowing some ways to block that, but it's much better than the second draft.

Web services

Posted Apr 1, 2007 11:08 UTC (Sun) by jneves (guest, #2859) [Link]

In my understanding the Affero license compatibility and the removal of the web services clause in GPLv3 are related.

If you use GPLv3 software and want to have the webservices clause, you license your software under the Affero GPL license (I'm assuming that version 2 will be GPLv3+web services clause, as Affero GPL 1 is GPLv2+web services clause).

If you don't want/need/think it matters, then you just license it under GPL (whatever version).

In this way everybody is happy and FSF doesn't lose face for saying "however, the section is written so that we can make GNU GPL version 3 upward compatible with the Affero GPL" in http://www.gnu.org/philosophy/license-list.html

I don't think it's a bad choice.

The third GPLv3 draft - DMCA language might backfire?

Posted Apr 5, 2007 17:17 UTC (Thu) by danielwagenaar (guest, #14814) [Link]

IANAL, but am wondering whether the following language from the 3rd draft might not have the potential to backfire:

> No covered work shall be deemed part of an effective technological
> measure under any applicable law fulfilling obligations under
> article 11 of the WIPO copyright treaty adopted on 20 December
> 1996, or similar laws prohibiting or restricting circumvention of
> such measures.

Suppose some court decides that a piece of code does in fact constitute an "effective technological measure" under the terms of the DMCA or similar law (after all, that decision is really not up to the person who writes the code). Would that decision imply that the work is no longer covered under the GPL? After all,

(COVERED) => NOT (EFFECTIVE TECHNOLOGICAL MEASURE)

is logically equivalent to

(EFFECTIVE TECHNOLOGICAL MEASURE) => NOT (COVERED).


Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds