New GPLv3 draft takes aim at Microsoft/Novell but loosens crypto restrictions

New GPLv3 draft takes aim at Microsoft/Novell but loosens crypto restrictions

Summary: The Free Software Foundation (FSF) released the long-awaited third draft of the GNU General Public License (GPL) today. In this article, I highlight the major changes and discuss their implications for developers and users.

SHARE:
TOPICS: Open Source
6

The Free Software Foundation (FSF) released the long-awaited third draft of the GNU General Public License (GPL) today. The draft was due out quite a bit earlier but was delayed after the Novell/Microsoft patent deal:

GPLv3We offer our apologies to the community for the delay in releasing Draft 3. Our original plan was to publish a third discussion draft in mid-autumn of 2006. The unforeseen agreement between Microsoft Corporation and Novell, Inc., announced in November, presents grave threats to users of free software. It was necessary for us to take the time carefully to develop mechanisms in GPLv3 that would deter agreements of this sort and provide strong defenses against their accompanying dangers.

Patents

Indeed, many of the changes in this draft have to do with both neutralizing the Microsoft/Novell agreement and preventing such agreements in the future. According to the rationale,

Patents threaten free software with a fate worse than death: a patent holder might also try to use the patent to impose restrictions on use or distribution of a free program, such as to make users feel they must pay for permission to use it. This would effectively make it proprietary software, exactly what the GPL is intended to prevent.

(Note the part that verifies what I've always said, that the GPL is intended to prevent charging for permission to use software.) 

Novell and Microsoft have recently attempted a new way of using patents against our community, which involves a narrow and discriminatory promise by a patent holder not to sue customers of one particular distributor of a GPL-covered program. Such deals threaten our community in several ways, each of which may be regarded as de facto proprietization of the software. If users are frightened into paying that one distributor just to be safe from lawsuits, in effect they are paying for permission to use the program.

At some point, the FSF sent its legal team to Novell where they were given "limited access to the terms of the deal under a non-disclosure agreement" (FSF watchers will appreciate the irony here). Then they crafted the provisions of draft 3 specifically to counter those terms that they found onerous. Among the changes is a new paragraph that ensures that any party who distributes GPL-covered programs and makes promises of patent safety limited to some of the recipients but not others, "automatically extends its promises of patent safety to cover all recipients of all copies of the covered works."

Barriers to modification

The second big change in draft 3 concerns "technical barriers to modification". These provisions are aimed at companies like Tivo that distribute GPL-covered programs but don't allow the user to install and run modified versions of those programs. Changes were made to try and address objections brought by Linus Torvalds and others about having to release cryptographic keys along with the source code. Cryptographic keys aren't even mentioned in draft 3.

Instead, draft 3 makes a distinction between two categories devices that can use GPL-covered programs: "User Products", and non-User Products. There's a complex legal definition but intuitively a user product is something that is normally used for personal, family, or household purposes. This would include Tivos, televisions, cell phones, and any other consumer oriented equipment. Under the provisions of draft 3, source code used in user products must be accompanied by enough "installation information" to allow modified versions to be installed and executed on the device. Functionality must not be impaired, but the manufacturer is free to terminate the user's warranty.

GPL-covered programs used in non-user products (for example public kiosks, voting machines, enterprise servers, etc.) are released from this restriction. Code burned into ROM (read-only memory) is also released from the restriction, since nobody (neither the user nor any third party) has the ability to install modified code onto the product.

Objections by cell-phone manufacturers about unvalidated code running on their devices and accessing their networks were taken into account in this draft. The operators are allowed to deny access when the modification "materially and adversely affects the operation of the network", or when the modification "violates the rules and protocols for communication over the network".

Compatibility with other licenses

Unfortunately this draft of GPLv3 remains incompatible with many other open source licenses, most notably the Apache license and the Eclipse Public License (EPL).

We regret that we will not achieve compatibility of the Apache License, Version 2.0, with GPLv3, despite what we had previously promised.

An issue with patent termination has been addressed, but an obscure clause in the Apache License requiring downstream redistributors to indemnify upstream licensors under certain conditions is being interpreted as an "impermissible further restriction on GPL rights". It's possible that future versions of GPL or the Apache license could address this.

Incompatibilities with EPL are more troublesome:

As for the EPL, there remain numerous other features in that license that are incompatible with Draft 3. We could not change that result without abandoning the strong copyleft altogether.

However, the FSF helpfully suggests that the Eclipse Foundation rewrite their license to permit EPL-covered code to be relicensed under the GPL.

Conclusion

Draft 3 of GPLv3 represents a turning point for the FSF. It's apparent from the license changes and the rationale behind them that, for the most part, the FSF is seriously listening to input and making changes to satisfy all sides of the open source community even if they don't entirely agree with them. For example in one section of the rationale it says:

... In making this decision, we were influenced also by the greater comfort some lawyers appeared to derive from the more familiar construct of a patent license, though the basis for that comfort does not seem entirely rational.

But Stallman fans should not despair. His influence and philosophy still permeates the license and the draft process itself. Take this quote, for example:

We considered including medical devices for implantation in the human body in the User Product definition. We decided against this, however, because there may be legitimate health and safety regulations concerning inexpert and reckless modifications of medical devices. In any case, it will probably be necessary to convince medical device regulators to allow user-modifiable implantable medical devices. We plan to begin a campaign to address this issue.

This paragraph demonstrates both the pragmatism that is creeping into the FSF (concerns for "reckless modifications") and the "tin-foil hat" eccentricity that has always been a part of Stallman's free software movement. If nothing else, the activities of the FSF and its colorful leader will continue to give us plenty to talk about in the years to come.

Topic: Open Source

Ed Burnette

About Ed Burnette

Ed Burnette is a software industry veteran with more than 25 years of experience as a programmer, author, and speaker. He has written numerous technical articles and books, most recently "Hello, Android: Introducing Google's Mobile Development Platform" from the Pragmatic Programmers.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

6 comments
Log in or register to join the discussion
  • We all love software patents...

    Just another excuse for companies to sue each other and sit on their asses and enjoy
    the monopolies they can protect with the help of Justice (haha). Well done to the
    government of the Land of the Free.
    cmjrees
  • The end is neaaaaar for micro$oft!!!

    Good! This is by far the best story I have read in a year in the tech world, I can?t be happier that the open source world is ever more distancing itself from this monopolizing behemoth that just wants to encroach on the open source community and make mass commercial profit on the hard labour of the open source community. I am so disappointed in novell that I don?t know what to even say; whatever the outcome, novell deserves every repercussion that comes from their deal with micro$oft.
    asumo
    • I agree!

      This is another nail in M$ coffin!
      The world is isolating the monster more with GPL3 and cuts it's avenues of messing with OSS.
      Linux Geek
    • Henceforth Novell Shall Be Known As

      Microvell
      Ole Man
  • Jeez, you guys must really be in love with seeing your words in print

    Microsoft and Novell will hardly fade away just because Stallman and his posse have ridden into town. Novell could never have given away what they never owned but what they do own they are entitled to do with as they please; Lord Stallman will never have any say in that. FSF is just a bunch of grandstanding clowns looking for attention, the rest of us could care less as long as it works. None of the current FSF software is covered by the most holy GPL3 and nothing is stopping Novell from maintaining and extending the current versions of the software that they distribute. End result? Stallman?s grand plans are neutered; no one that mattered really cared anyway.
    balsover
    • Jeez, you just settled it all, didn't you?

      So say you, so let it be! The king has proclaimed it. So ever shall it be.
      Ole Man