So I sat down yesterday and tried to read the GPLv3 to make some sense of the ongoing furor over it and whether or not it is better or worse than GPLv2. To be fair, I am a relative newcomer to GPL, FOSS and the whole free software movement. I think that this actually may give me a little more insight into the GPLv3 debacle because I am not generally biased for or against free software.
Let me officially disclaim: I am NOT a lawyer, a legal assistant, a court employee or hold or have ever held any job, career or position or had any training or experience that provided insight or could even possibly be misconstrued as understanding, interpreting or advising on laws or legal matters.
Do I like free software? Absolutely. I like it free (as in money) because, like most people in the world, I can’t afford high royalties and costs of licensing software. More so I really can’t afford to “subscribe” to software either, the thought of paying $50 a year to use something I already paid for to install in the first place seems ludicrous to me.
Do I have options? Certainly, I can choose not to use said software – that is a perfectly fair and reasonable option in contrast to paying out the nose for the “privilege” of using it. An example? Photoshop versus Gimp (or my preferred Gimpshop) for photo editing. I definitely can’t afford the $300 entry fee into Photoshop, but I certianly CAN afford the $0 entry fee into Gimp.
The bonus of Gimp is not only it being free, it’s also Free. That’s right, a capitolized “F” on Free because it is a title. It’s Free because it’s released under the GPLv2 license. This license protects the software, its developers and its users and thier freedom to use, modify, reuse and distribute the program so long as they provide the original source code for the program. This is what gives us GimpShop. You see, a fine young man named Scott Moschella took the time to look over the Free code of Gimp and modify it so that it operates in much the same way as Photoshop, but without breaking any of Photoshop’s license requirements. He released a different free/Free version of Gimp customized to work the way he saw fit. Here’s the beauty of it – Scott could very easily charge money for his Free software, and many people would likely be glad to pay him for it; under the GPLv2 he can do this so long as he provides the original source code.
Here’s the rub – it’s a process called tivoization. We all know what Tivo is, most of us either have one or know someone who has one and lusts for it. It’s a very nice piece of equipment, technically a pretty standard PC with a TV tuner card installed. It essentially watches TV for you and records your programs for later viewing. Tivo originally was lauded to allow you to watch television as if it were a video cassette – you could rewind, fast forward and pause live TV. It soon became apparent that the most popular use for these features was to fast forward through the commercials associated with live television.
Users became highly enamored with this feature, so much so that Tivo released an update specifically made to skip all commercials simply by pressing a single button. Broadcasters became enraged, the primary source of their revenue is based on advertising dollars, and they can charge more for advertising sold and broadcast during a particularly popular television show. Of course said show is also very likely to be recorded on a Tivo and the commercials summarily skipped. Advertisers became aware of this and relized their high-cost advertising was resulting in low revenue returns – people just weren’t watching the commercials and thus not being enticed by their products.
And then there’s the MPAA‘s problems with Tivo. This one goes back to the VHS wars of the 80’s where Hollywood producers and executives fought a battle all the way to the Supreme Court about users of VHS machines (VCR’s seem so archaic these days) recording movies broadcast on television and the emerging cable market and redistributing them freely instead of the production companies getting royalties on original VHS sales and rentals. The supreme court actually found in favor of the people, blocking the MPAA and allowing anyone to record anything they like on their VCR’s.
But we now live in the digital age, broadcast quality is excellent but is replaced by digital quality cable and satellite signals that reduce or completely remove static and noise associated with standard FM broadcast signals so commonly used back in the 80’s. This same concept also applies to digital music as much as it does to digital television. We all know that CD’s provide a technically higher fidelity than their cassette counterparts (though some still argue that vinyl albums still sound the best) and that the RIAA (the music industries counterpart to the MPAA) takes serious issue with this.
The RIAA and the MPAA successfully lobbied congress and we now live with the Digital Millenium Copyright Act.
This is where we get back to Tivoization. You see, Tivo uses the Linux kernel in it’s operating system. Yep, it’s a computer, and as such it needs an operating system. The Linux kernel is licensed freely/Freely to any user under the GPLv2. The GPLv2 allows anyone to redistribute the said software, even for a profit (Tivo’s aren’t free!) just as long as they provide the source code. Unfortunately the basic premise of Tivo breaks the DMCA and Digital Rights Management associated with it. Even worse, Tivo came under litigation from broadcasters for allowing their users to advance through commercials. Tivo was legally bound to put DRM into their systems, and they did. And since they were also legally bound under the GPL to release the source code, they did that as well.
With source code in hand, hackers reworked it allowing them to circumvent DRM. And since it was still covered under GPL, they were authorized to redistribute copies of their modified Tivo software, and they did so freely and Freely. What a nightmare for Tivo – they did everything they could to operate within the law and yet theie systems were still being used illegally and they were being sued yet again for it!
What to do to keep a profit? Well, this is where the term tivoization comes in. Tivo built into their set top boxes a method that checks the operating system to ensure that it is the original operating system. If these methods find that an unauthorized version (any unauthorized version to include ones that allow bypassing of DRM) is installed the hardware will not allow the system to function to it’s full capabilities. You can still watch TV through it and allow it to auto tune your favorite programs with one caveat: it would NOT record those programs and without recording you no longer have the capability to pause, rewind or fast forward through them. They met all the requirements of both the DMCA and the GPLv2, much to the chagrin of the many GPLv2 developers who’s code was used freely by Tivo.
Enter the GPLv3. Directly from the license:
3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
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.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work’s users, your or third parties’ legal rights to forbid circumvention of technological measures.
Wow, this is rather specific. Read it again:
No covered work shall be deemed part of an effective technological measure…
(GPLv3 code can NOT be used…)
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.
(…to allow Digital Rights Management to be used)
What does this mean? Well among other things, DVD playing software, were it licensed under GPLv3 would NOT legally be allowed to play DVD’s because it would be propogating the bypassing of DRM. Same with your downloaded music. In fact, anything covered under the DMCA or WIPO treaty could not be operated legally by any resident of any of the 91 countries that signed the World Intellectual Property Treaty of 1996 on any piece of software licensed under GPLv3.
Well, there goes any GPLv3 software working with Tivo, you would not be enabled to copy (err… record for later playback, ie pause for 10 seconds while you get a beer from the fridge…) any DMCA or WIPO content to watch at a later time. But that’s not impossible for Tivo to get around, they could simply not use any GPLv3 software.
But what about other companies with DRM technologies that rely on open source software? Companies like Apple might find themselves in trouble here – OS X is is underpinned by FreeBSD, which in turn has portions if its operating system covered under GPLv2. What if those portions get updated to GPLv3? No more DVD playback on Mac’s? Not likely, the developers at Apple are pretty savvy, they’d likely come up with another alternative, or write one from scratch.
[Edit:] It looks like I may be mistaken on this interpretation. Read the comments section below for a conversation between myself and Saul Goodman. In point of fact I will re-analyze this section one more time…
No covered work…
…shall be deemed part of an effective technological measure…prohibiting or restricting circumvention of such measures.
(…can not be restricted in it’s use outside of the authors original intent)
But wait, there’s more!
I’ll take the next part, also verbatim, a little out of order for it to make more sense.
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. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
“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.
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. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
Wow, don’t you love legalese? It looks like about 50% of the above is legible in a way that we can understand, so let’s break it down into a method that makes sense.
First paragraph above: If you distribute or redistribute GPLv3 code you must also include the installation information for this code on it’s intended product (paragraph 1).
Second paragraph above: Installation information means instructions by which modified code can be installed on the original product that allows for the full original functionality of that product.
Third paragraph above: A product that can receive the code (and must work under the new code assuming the new code is bug free) is anything you own in your home or can be sold for use in your home.
That’s marginally easier to understand. Lets put it in Tivoization terms, or more accurately in anti-tivoization terms. Tivo can continue to make set top boxes like they always have, with one caveat: the must provide instruction on how to install a modified version of their software that allows the continued functioning of the Tivo.
Here’s the kicker: Linux is not GPLv3, and is likely to remain that way for a very long time.
To make matters worse for the Free Software Foundation’s attitude towards Tivoization the GPLv2 and GPLv3 are mutually exclusive. Richard M Stallman (the founder of the Free Software Foundation and creator of the GPLv2 and GPLv3) say so quite specficially in his encouragement of developers to move to GPLv3:
When we say that GPLv2 and GPLv3 are incompatible, it means there is no legal way to combine code under GPLv2 with code under GPLv3 in a single program. This is because both GPLv2 and GPLv3 are copyleft licenses: each of them says, “If you include code under this license in a larger program, the larger program must be under this license too.” There is no way to make them compatible. We could add a GPLv2-compatibility clause to GPLv3, but it wouldn’t do the job, because GPLv2 would need a similar clause.
In that same document he further goes on to say that the GPLv3 is intended to prevent Tivoization:
One major danger that GPLv3 will block is tivoization. Tivoization means computers (called “appliances”) contain GPL-covered software that you can’t change, because the appliance shuts down if it detects modified software. The usual motive for tivoization is that the software has features the manufacturer thinks lots of people won’t like. The manufacturers of these computers take advantage of the freedom that free software provides, but they don’t let you do likewise.
Some argue that competition between appliances in a free market should suffice to keep nasty features to a low level. Perhaps competition alone would avoid arbitrary, pointless misfeatures like “Must shut down between 1pm and 5pm every Tuesday”, but even so, a choice of masters isn’t freedom. Freedom means you control what your software does, not merely that you can beg or threaten someone else who decides for you.
But as long as Linux remains GPLv2 there is no way for him to stop Tivoization.
And on DRM he says this:
In the crucial area of Digital Restrictions Management—nasty features designed to restrict your use of the data in your computer—competition is no help, because relevant competition is forbidden. Under the Digital Millenuium Copyright Act and similar laws, it is illegal, in the US and many other countries, to distribute DVD players unless they restrict the user according to the official rules of the DVD conspiracy (its web site is http://www.dvdcca.org/, but the rules do not seem to be published there). The public can’t reject DRM by buying non-DRM players, because none are available. No matter how many products you can choose from, they all have equivalent digital handcuffs.
GPLv3 ensures you are free to remove the handcuffs. It doesn’t forbid DRM, or any kind of feature. It places no limits on the substantive functionality you can add to a program, or remove from it. Rather, it makes sure that you are just as free to remove nasty features as the distributor of your copy was to add them. Tivoization is the way they deny you that freedom; to protect your freedom, GPLv3 forbids tivoization.
In my opinion what Tivo did was and continues to be both legal (they followed the requirements for GPLv2) and smart (they protected their business venture).
But does it make it right? I’m still out on that. Is it right to take free software and the work of hundreds or thousands of people and sell it for a profit? According to the GPL under which they developed the software, yes. But in my opinion it probably wouldn’t hurt Tivo to make a monetary contribution or two back to the Linux community so show their good faith in the process.