GPLv3 (draft) v. GPLv2

The folks at GrokLaw have posted a “diff” of GPLv2 and v3 here.

Some of the new language is particular hostile to recent events in Digital Restrictions Management (DRM), where copyright holders go to extreme measures to prevent the misuse of intellectual property by means of encryption, hidden programs, and other programatic means that may, in fact, be harmful to end users and their computers.

Digital Restrictions Management.
As a free software license, this License intrinsically disfavors technical attempts to restrict users' freedom to copy, modify, and share copyrighted works. Each of its provisions shall be interpreted in light of this specific declaration of the licensor's intent. Regardless of any other provision of this License, no permission is given to distribute covered works that illegally invade users' privacy, nor for modes of distribution that deny users that run covered works the full exercise of the legal rights granted by this License.
No covered work constitutes part of an effective technological protection measure: that is to say, distribution of a covered work as part of a system to generate or access certain data constitutes general permission at least for development, distribution and use, under this License, of other software capable of accessing the same data.

Interesting language, but I wonder about its enforceability. Who's going to pay to argue in court about the nuances of the words above? The RIAA, for example, loves suing people in order to establish precedent, fear, uncertainty, and doubt. I'm sure they wouldn't mind suing some open source developer in order to edfend DRM.

Another change is that the loaded language “distribute” has been softened to “propagate” in order to avoid the way some copyright laws are worded.

To "propagate" a work means doing anything with it that requires permission under applicable copyright law, other than executing it on a computer or making private modifications. This includes copying, distribution (with or without modification), sublicensing, and in some countries other activities as well.

Also, care is taken to define Source Code and Object Code.

Source Code.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source version of a work.
The "Complete Corresponding Source Code" for a work in object code form means all the source code needed to understand, adapt, modify, compile, link, install, and run the work, excluding general-purpose tools used in performing those activities but which are not part of the work. For example, this includes any scripts used to control those activities, and any shared libraries and dynamically linked subprograms that the work is designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work, and interface definition files associated with the program source files.
Complete Corresponding Source Code also includes any encryption or authorization codes necessary to install and/or execute the source code of the work, perhaps modified by you, in the recommended or principal context of use, such that its functioning in all circumstances is identical to that of the work, except as altered by your modifications. It also includes any decryption codes necessary to access or unseal the work's output. Notwithstanding this, a code need not be included in cases where use of the work normally implies the user already has it.
Complete Corresponding Source Code need not include anything that users can regenerate automatically from other parts of the Complete Corresponding Source Code.
As a special exception, the Complete Corresponding Source Code need not include a particular subunit if (a) the identical subunit is normally included as an adjunct in the distribution of either a major essential component (kernel, window system, and so on) of the operating system on which the executable runs or a compiler used to produce the executable or an object code interpreter used to run it, and (b) the subunit (aside from possible incidental extensions) serves only to enable use of the work with that system component or compiler or interpreter, or to implement a widely used or standard interface, the implementation of which requires no patent license not already generally available for software under this License.

Josh Poulson

Posted Wednesday, Jan 18 2006 03:09 PM

Adjacent entries


« Supreme Court Upholds Oregon's Assisted Suicide Law
Osama Bin Laden Offers Threats, Truce »





To track back to this entry, ping this URL:

There are no trackbacks on this entry.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)



Affiliate advertising

Basecamp project management and collaboration

Backpack: Get Organized and Collaborate