[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GPLv3 comedy unfolding -- The Jem Report: "GPLv3 license marks GNU's

From: Alexander Terekhov
Subject: Re: GPLv3 comedy unfolding -- The Jem Report: "GPLv3 license marks GNU's decline"
Date: Sat, 30 Jun 2007 18:12:40 +0200

GPLv3 license marks GNU's decline        

Written by Jem Matzan     

Jun 29, 2007 at 08:20 AM  

The GNU General Public License version 3 is unleashed to the world
today, ready and willing to conquer perceived problems with the legal
system in the U.S. and other countries. It's been carefully considered,
debated, and examined by very smart people with a lot of experience with
software license law and advocacy. Programmers, lawyers, and
businesspeople have looked it over and petitioned changes until most
parties were reasonably satisfied with the result. So today is,
ostensibly, GPLv3 release day, but I think in the future that it will be
remembered in a sad sort of way. We will look back on this and say that
June 29, 2007 was the day when the Free Software Foundation jumped the
shark, creating an impassable chasm where there was already an
uncomfortable rift between the Free Software Foundation and GNU Project,
and the larger free software and open source worlds. The GPLv3 adds
restrictions galore for developers and users alike, none of which are
designed to be understood by the people who matter most -- programmers
and users. The FSF tells us that the new restrictions in the GPLv3, on
patents, patent licensing, and hardware capabilities, are there to make
us more free. That's right -- more restrictions are being forced on us
so that we can be "more free." If that sounds like a big steaming pile
of nonsense to you, then I'm with you, brother.

Free as in "do as I say"

The GNU General Public License version 3 introduces a level of
restriction that is unprecedented in Free Software Foundation-approved
software licenses. Though the language is exceedingly difficult to
understand (more on that later), the license seems to require all people
who modify GPLv3 software to grant all users of that software a
"non-exclusive, worldwide, royalty-free patent license" for all of the
patents you might have. So if you create some GPLv3-licensed software to
use in, say, a game console, you may have to give all users of that game
console a copy of the source code (no surprise there -- the GPLv2
requires that, too) and a license to all patents on game console
components and technologies that you invented -- and maybe all of your
other patents on other devices as well. So if a competitor goes to the
store and buys your game console, then finds a cheaper way to make the
same thing using the same software you created, they could make a case
that you have no patent claims against them for copying your designs.

Furthermore, the GPLv3 stipulates that you must waive the ability to
include anti-circumvention technologies, and also include "installation
information," which means you have to provide any files or data that
unlocks or controls hardware. Well the DVD and DRM people aren't going
to allow you to give away their decryption keys, so forget about your
game console playing DVD movies or DRM-encumbered audio files. And if
you want to put checks into the hardware to make sure that the software
it runs will not harm the device? That could be against the GPLv3 as
well, if it prevents running modified versions of the software.

Forget about the concept of GPLv3-licensed computer games, too -- if you
can't prevent people from running unmodified versions of the software,
you can't prevent cheating.


Restrictions aside, the aspect of the GPL version 3 that bothers me most
is that it is totally impossible for a layman to understand. I read
every license for every program I review. None of them are particularly
easy to understand (except the BSD license, and a few other minimally
restrictive open source licenses), but if you concentrate on what you
are reading, you can usually understand what your limitations and
enablements are. Microsoft's license agreements are, for example,
relatively easy to understand: You can't sell, copy, give away, publish
benchmarks based on, or install this software on more than one computer.
That may be a disadvantageous agreement for the user, but at least the
terms are clear. The GPLv3, by contrast, is ancient Greek. Here's an

A contributor's "essential patent claims" are all patent claims owned or
controlled by the contributor, whether already acquired or hereafter
acquired, that would be infringed by some manner, permitted by this
License, of making, using, or selling its contributor version, but do
not include claims that would be infringed only as a consequence of
further modification of the contributor version. For purposes of this
definition, "control" includes the right to grant patent sublicenses in
a manner consistent with the requirements of this License.

This is a license written by and for lawyers, not programmers or users.
I'll reiterate the fact that I have read through dozens of complex
software licenses. I have seen many unusual clauses (particularly in Sun
licenses), but nothing so convoluted as the GPLv3. The above quote is
only a single example of an overlong and tedious license that no end
user or software developer -- the people who most need to understand
what their entitlements and limitations are -- can ever hope to fully
understand. This puts all users and programmers in a powerless position
in which we must trust the interpreters to accurately convey what we can
and cannot do with this program. When you are powerless, you are not
free. In a sense, the GPLv3 authors have robbed us of the freedom to
understand the terms by which we use, modify, and distribute
GPLv3-licensed software. They have made free software into something
that cannot be reasonably understood, nor explained to a newcomer.

Software patents do not exist

The GPLv3 refers repeatedly to "software patents." If you only hear RMS
or other free software advocates talk about this subject, then you are
likely also against "software patents." I was too, at one point. There
is a huge problem with this attitude, however -- software patents do not
exist in the context in which the term is generally presented. There are
no special rules, laws, or provisions for patenting software. A patent
on software is legally and structurally identical to a patent on a
skateboard. In fact there can't be any special patent provisions -- the
World Trade Organization, through the Trade-Related aspects of
Intellectual Property rightS (TRIPS) treaty forbids participating
countries from passing laws that favor one kind of technology over
another. So if there were special rules for United States patents on
software, the US would be in violation of the TRIPS treaty. The patent
laws could be uniformly changed to better accommodate the software
industry, but that still might violate TRIPS, and could harm other
industries more than it would benefit software developers and

So if you can't make special rules for patents on software, then why not
make software unpatentable? That seems like a good idea from a
PC-centric frame of reference, but it doesn't hold outside of that part
of the technology world. We as computer users only see patent abuse in
the news, like the the Amazon one-click patent and Steve Ballmer
blathering about theoretical patent violations and other silly things
that anger and annoy everyone except the people making money from them.
But what if you were an engineer working in some other industry? What if
you discovered a way to improve efficiency or performance in an
invention by moving solid state logic to a software program that runs on
the device? For instance, instead of a transistor or integrated circuit
with static logic that can never be changed, you design a software
program that resides in rewritable memory and can easily be modified and
updated or expanded beyond the original design. Many cars on the market
today, for instance, can self-tune to adjust for a variety of
conditions. This is something that is much more difficult to do with
static logic if there is no method of storing the self-tuned parameters.
If software were unpatentable, you would have to avoid moving the logic
from hardware to software because though it may give you a temporary
competitive advantage, all of the time and money you or your company
spent developing that solution could be wasted by a copycat competitor.

Abstracting firmware has its own problems, especially when companies
forbid redistribution of firmware files, so this is not always a good
thing. There cannot be a law or provision that favors any one technology
over another, though, under the current system.

There may be problems with the patent system, but they will not be fixed
by a software license.

A big, freedom-loving middle finger to BSD

Linux distributions are not the only operating systems affected by
GPLv3. More threatened than anyone are free software projects that abhor
licensing restrictions imposed by the GPL, such as the BSD variants.

According to FSF representative Brett Smith, there are about 150
software projects in the GNU Project that have copyrights attributed to
the Free Software Foundation. Of those, at least 15 are committed to
switching over to the GPL version 3 today. "The complete list probably
won't be final until the day is over. :) But highlights should include
fundamental GNU/Linux system utilities like sed and tar, a suite of
Internet software -- such as FTP and telnet servers and clients --
called inetutils, and the Texinfo documentation system."

He didn't mention GCC or the GNU debugger (GDB), which are arguably the
two most important GNU Project programs to outside operating system
projects. So I wrote to representatives of the three main BSD projects
and asked them what they planned to do about the GPLv3.

Martin Husemann of the NetBSD Foundation told me that it was already
possible to weed out software according to license, both in the base
system and in pkgsrc:

We don't think that the switch of GNU programs from GPL v2 to GPLv3 will
affect NetBSD or its users much, since we are not in violation of the
additional provisions that GPL v3 stipulates. It is a long term goal of
NetBSD to become GPL free, but the potential change in license will not
affect the scheduling of that goal. Furthermore, the GPL programs in
NetBSD are clearly separated from the rest of the source so one can
easily distribute a GPL-free NetBSD system (with missing functionality
specially in the toolchain parts).

Since pkgsrc does not redistribute third party packages, it is also not
affected. For users of pkgsrc, and creators of binary pkg sets or
CDs/DVDs, it has versatile provisions to express licensing restrictions
implied by the created packages (like LICENSE=, ACCEPTABLE_LICENSES,

As of this writing, the OpenBSD Project had not made a decision
regarding GPLv3-licensed software in the OpenBSD base system. Like the
other BSDs, OpenBSD has very few GPL programs, and has gone to great
lengths to replace some existing tools with BSD-licensed alternatives.
Most of the GPL programs in OpenBSD are older and heavily patched, so
there is little or no dependence on the GNU Project's latest packages.

The FreeBSD core team had this to say on the issue:

Thank you for your interest in the FreeBSD Project. As you know, the
FreeBSD Project has a long history of producing open source under the
liberal BSD open source license. This license allows unlimited open and
closed-source reuse of our software. We do rely on some GPL components--
most critically the gcc development tool suite--but it is a core goal of
our work that FreeBSD be complete operating system with BSD-licensed
kernel, system libraries, services, and command line tools. Because
GPLv3 has not yet been finalized, it would be premature to draw
conclusions about how it will affect our project; obviously, we will
follow events closely as they unfold.

Civil war?

I have always used free software over proprietary alternatives when
there was a choice to be made. Sometimes there is no choice, and you
have to click through some ridiculous license agreement that you don't
agree to and don't care about. The GPLv3 has become another such license
that I have to click through and don't care about, so whenever possible,
I'm going to be using something that's a little less restrictive.
Perhaps this will be the great homecoming to FreeBSD for me -- I've
always considered myself a BSD user in exile, anyway.

The operating systems I'm using now are still under the GPLv2, but I may
have to stop updating parts of them if GPLv3 crap is going to leak into
them. I can't be alone in this rejection of the new restrictive GPL, so
I expect there to be a reckoning in the free software community. A lot
of projects and distributors aren't going to include GPLv3 software,
either forking the old GPLv2 editions or using BSD-licensed alternatives
instead. It'll be interesting to see where this leads, but I think this
will be the end of "GNU/Linux" and the beginning of just plain "Linux"
-- not the kernel alone, but the kernel plus a body of free software
userland utilities and programs unencumbered by convoluted restrictions.
In the BSD world there are already free software replacements for many
of the GNU Project programs. It takes little effort to do drop-in
replacements for them in existing Linux distributions.

The end

There is an important moment in the history of psychology (please Tom
Cruise, don't jump on my couch) that applies well to this situation.
Though Carl Jung had defended Sigmund Freud on many occasions, the
latter said something to Jung that forced them to part ways: "My dear
Jung, promise me never to abandon the sexual theory. This is the most
essential thing of all. You see we must make a dogma of it, an
unshakable bulwark against the black tide of mud of occultism." At that
point, Jung understood that it was more about Freud's ego (ha!) than it
was about figuring out how the human mind works -- it was about being
"right" over being "correct." I frequently think of this whenever I find
myself defending a principle based on old assumptions. Here we have RMS
telling us that restrictions mean freedom, and I can't help but think
that this is more about ego and "being right" than it is about being
free to use, modify, and distribute software.

I've no doubt that this is the beginning of the end for GNU, and it will
prove the strength of the larger free software world. The Free Software
Foundation has dumped a load of restrictions on us with GPLv3 and told
us that restrictions lead to freedom and that it is good for us. That's
a little too Bush administration-like for me. In fact I fully expect
someone, somewhere, to claim that I "hate freedom" for speaking out
about this abysmal license -- that would make the irony complete. That a
license as restrictive as the GPLv3 should be mostly written by and
wholeheartedly supported by someone who speaks out against the Patriot
Act puts it a step beyond irony, and into hypocrisy. Further mimicking
Bush political rhetoric, Stallman even claimed recently that restrictive
software licenses are evil. So does that make him an "evil doer" for
promoting a license that attempts to restrict hardware, software,
software licensing, and patent licensing choices that should remain in
the hands of software developers, or does that make people who are
against it "evil doers" and "freedom haters" for not supporting it? If
we aren't with you, Richard, are we against you?

One way or the other, count me against. GNU, this is as far as we go.
I'm breaking up with you. I think we should see other groups of userland
operating system tools (or users, as the case may be). I'd prefer it if
you took my number out of your cell phone and pretended we never went

Discuss this article or get technical support on our forum

Copyright 2007 JEM Electronic Media, Inc. No reprints without written


"Live cheaply," he said, offering some free advice. "Don't buy a house,
a car or have children. The problem is they're expensive and you have
to spend all your time making money to pay for them."

        -- Free Software Foundation's Richard Stallman: 'Live Cheaply'

reply via email to

[Prev in Thread] Current Thread [Next in Thread]