LWN.net Logo

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 23, 2005 20:27 UTC (Fri) by arcticwolf (guest, #8341)
In reply to: RMS: The GNU GPL Is Here to Stay (O'ReillyNet) by mjr
Parent article: RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

I'm also somewhat concerned about that, myself, and for that matter, I'm not even sure that web services not publishing source code is a problem.

According to RMS, two of the basic freedoms that users should enjoy are the right to run software and the right to change it. Isn't that just what these services are doing? Of course the idea that if modify GPL'ed software and distribute, you have to contribute those changes back under the same license is central to the whole Free Software movement, but it seems to me that RMS has his priorities inversed here: you have to contribute those changes so that other users will still have the basic freedoms, not the other way around. It's users' freedoms that's central; the GPL and its mechanisms are a means to achieve those freedoms, but they're not an end themselves.

And that's why I'm concerned, and - I assume - why others are concerned, too. Aren't companies that use GPL'ed software (possibly modified) just exercising their freedoms? A clause in the GPL that would require them to make available the changes even when they wouldn't otherwise do so, IMO, seems like a restriction of users' freedoms to create a stronger copyleft, which is somewhat paradoxical as the only *point* of copyleft is to ensure users' freedoms.

The case is different from the BSD licenses, too. While one might argue that the same reasoning could be applied to BSD licenses (the GPL does restrict the users' freedom to use the software without giving back, after all), the difference is that the BSD license also applies when you actually distribute code - that is, when there are other users who will not have the freedom to use, study, change etc. the software anymore afterwards. IMO, it makes sense to restrict a user's freedom to not "give back", as other users would otherwise not have the basic freedoms anymore, but in the case of web services not making available the software they use internally, noone's deprived of any freedom.

And what's worse, maybe, is that a clause like this in the GPLv3 might make it incompatible with the GPLv2. IANAL, of course, and neither am I a licensing guru, but... doesn't the GPLv2 say that you may not place additional restrictions on your users when you incorporate GPL'ed code into your project? It wouldn't be a problem with most projects, probably, since most are licensed under the GPLv2 "or any later version", so you could choose to use them under the GPLv3 instead, but it's not true for *all* projects, and some high-profile ones, like the Linux kernel, are licensed under the GPLv2 *only*. It seems to me that it would be impossible to incorporate GPLv2 only-code into a GPLv3 project, if the GPLv3 will indeed contain a clause like this.


(Log in to post comments)

Optional

Posted Sep 23, 2005 21:53 UTC (Fri) by ncm (subscriber, #165) [Link]

The FSF were foresightful in saying "or any later version" in v2. Would that Linus were so, but he professedly doesn't believe in foresight.

In the freedom balance, the GPL weighs users -- particularly those who want to customize software for themselves -- far above original authors. Under the current copyright regime, authors have it all. If they don't like a license, they have unlimited alternatives -- unless they want to draw on the Free Software commons. But why should a web service get to both draw on the Free Software commons for profit, but not be as obliged as those whose code they used? How is running code on a web site's servers different, in any fundamental way, from running it on a user's machine?

To help focus the question, suppose (in a universe not so distant) the site owners had a choice to download code derived from Free Software to a user's browser, and run it there; or to run the same code on their servers. The user's experience is the same either way. Surely if they downloaded it, the GPL would apply. Not downloading it, they're getting the same benefit, but the user is not extended the same right to improve her experience. Instead, she's obliged to beg the site owner to incorporate her suggestions, or re-implement from scratch. She's not enabled to set up her own service, passing along her own ideas to others.

Every argument against public-performance clauses applies equally well to GPLv2. GPLv2 has been an enormous success, moreso now than in the past. That's despite loud and repeated predictions that BSD would be more popular with businesses, marginalizing GPL, if GPL weren't relaxed some. That didn't happen. What happened was that BSD-licensed code has stagnated, vs. GPL software, because those who chose BSD frequently didn't their give improvements back. That surprised some people, but not me, and not the FSF.

Nowadays, with code running on servers, GPLv2 and BSD are equivalent, and that threatens to flatten GPL development to the (much slower) BSD rate of improvement, and deprive users -- all of us -- of the benefits that were the real purpose of the GPL. How would you feel about making improvements to a GPL program for a company, expecting that you would be able to take your work with you to the next job, and then finding that the company had decided not to let you?

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 23, 2005 21:54 UTC (Fri) by GF (guest, #32647) [Link]

> [...]Aren't companies that use GPL'ed software (possibly modified) just exercising their freedoms?

When I go to e.g. www.google.com it is _I_ who use the software running on googles servers, I'm the user. However I get none of the so called "four essential freedoms". To the degree web (and other public) servers are running free SW, I think the SW should be published. That's at least my first sponteanous reaction.
I come to think of the story of how the malfunctioning proprietary print server software got RMS started on his mission. That SW was (maybe) not running on his workstation, he was just using a remote service, somewhat similar to web services.

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 24, 2005 13:09 UTC (Sat) by coriordan (guest, #7544) [Link]

I agree. I haven't read the full length of all the wordy replies, but from what I have read it seems that, when considering "people should be free to run and modify that software they use", people are skipping the question of "who is the user?" - is it the person interacting with the software, or is it the person that booted the remote box? I think it's more the former.

Saying that the person interacting with the software ceases to be the person running the software once the location of execution changes from local to remote seems to be suggest that "off-shoring people's lack of freedom" is a suitable replacement for the goal of giving people freedom.

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 24, 2005 14:18 UTC (Sat) by zotz (guest, #26117) [Link]

On top of that, let's take it a bit further than web services...

Say I give someone an account and let them vnc into the box via an ssh tunnel to a desktop. From that desktop they run programs covered by the gpl which I have modified. Now, I have not distributed the programs to them, I have allowed them use of my programs. Or is there some legal precedent that considers letting someone use something distribution? It has been a long time since I have looked into this.

all the best,

drew
--
http://www.ourmedia.org/user/17145

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 24, 2005 23:37 UTC (Sat) by coriordan (guest, #7544) [Link]

It should be illegal to drive while drunk. This means that drinking 6 pints of beer and then driving should be illegal. I would argue that drinking 3 pints and then driving should also be illegal. Then someone comes along and says, "lets take it a bit further, should drinking 50 millilitres of beer and then driving be illegal?" Obviously not. But that doesn't change that drinking 3 pints and driving should still be illegal.

The question is: where's the line?

In terms of protecting freedom, like in terms of intoxication, there is no natural line, but that doesn't mean we shrug our shoulders and walk off. We draw a line. And when the line is to be reconsidered, like in the case of GPLv3, we hold a 12+ month public consultation to find consensus on where the line should be. The result will never please 100% of the people, but it should be acceptable to the vast majority. (Like a healthy democracy.)

Allowing someone vnc access to your box would probably be somewhere on the "doesn't invoke copyleft" side of the line. Allowing the general public to type ImageMagick commands, letting them upload an image and letting them download the output image after processing the commands, would probably be somewhere on the "does invoke copyleft" side.

The legal basis is not about precedent, it's about legislation, and there are two basises. One is called "public performance of a copyrighted work". The other is like section 2c of GPLv2, except extended to include "if the program has a command for downloading it's source code, you cannot remove that command or functionality". That's the gist, I don't know the finer details.

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 24, 2005 17:51 UTC (Sat) by zblaxell (subscriber, #26385) [Link]

Ah, but what _is_ the software?

Consider a MUD. Technically, it is a big database containing many small (and sometimes not so small) fragments of interpreted code and data, which execute in a simulation environment and respond to commands from users connected from remote locations. These systems usually have a lot of access controls built into them, to protect secret object behaviors from users who are supposed to be discovering these behaviors by interacting with the objects in a game context, and to prevent users from interfering with the objects' code directly in order to gain advantage over other users; however, in some systems restricted code inspection and modification rights can be granted to users (one system allows users to own a "pet" character and program its behavior).

Where does the code end and the data begin? A MUD server program without a database doesn't do much more than any other specialized language runtime and a database engine. A full dump of the database can contain personal user information, passwords, junk code and data, and other undesirables. A selective dump of only explicitly labelled public objects is possible, but it provides a giant legal loophole that could make license enforcement meaningless ("every object I created or modified contains my mother-in-law's home address and phone number and is therefore not public...what's left is exactly the code I downloaded from the GNU web site. Have a nice day."). One could put the GPL code on individual characters, I suppose ("Hi, I'm RMSbot, pat me on the head to download my code!").

Clearly we would not want the GPL to require users to distribute an entire site's worth of data whenever a GPL module is used, but it would seem to me that the license language would have to be absolutely bulletproof to avoid all kinds of abuse. How and where would we draw the lines?

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 24, 2005 23:39 UTC (Sat) by coriordan (guest, #7544) [Link]

Does my comment about where to draw the line (just above) answer this?

I don't think so.

Posted Sep 25, 2005 22:48 UTC (Sun) by dark (subscriber, #8483) [Link]

You talked about where to draw the line between services that must have a download-source button and services that don't. But the parent comment was talking about the problem of defining what the source actually is. What should the button do?

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 23, 2005 23:28 UTC (Fri) by Duncan (guest, #6647) [Link]

And what's worse, maybe, is that a clause like this in the GPLv3 might make it incompatible with the GPLv2. IANAL, of course, and neither am I a licensing guru, but... doesn't the GPLv2 say that you may not place additional restrictions on your users when you incorporate GPL'ed code into your project? It wouldn't be a problem with most projects, probably, since most are licensed under the GPLv2 "or any later version", so you could choose to use them under the GPLv3 instead, but it's not true for *all* projects, and some high-profile ones, like the Linux kernel, are licensed under the GPLv2 *only*. It seems to me that it would be impossible to incorporate GPLv2 only-code into a GPLv3 project, if the GPLv3 will indeed contain a clause like this.

As RMS says in the article, code licensed under the GPLv2 ONLY will by definition be incompatible with the GPLv3, no matter what the GPLv3 contains, at least to the extent that if the code is contained within the same files, offset comments would need to be applied (and maintained) stating which code was the exception to the general file license. This is part of the issue with v2 ONLY language and why the suggested language uses the "or any later version" clause. That clause, as you mention, means code can be automatically updated to the GPLv3 without issue, because it's inherent in the license conditions.

Do note that the existing kernel code isn't all GPLv2 in any case. Some code originates from BSD, in which case the original BSD code can be relicensed too GPL3 just as it was relicensed to GPL2 (BSD permits that). Other code was specifically contributed under the "or any later version" clause, while other code has specific language turning over copyrights to Linus, or specifically permitting him to exercise his judgment in terms of license. Thus, it won't all be unconvertible. Actually, much of the code either has known and still active contributors or has the far more direct newer "signed off by" lines, in which case it won't be an issue.

OTOH, the same security blanket that makes it infeasible for the likes of Jeff Merkey (sp?) to offer to buy the kernel, because not all copyright holders could be tracked down, also prevents conversion in this case. Given that about a third of the kernel code has been rewritten since 2.6.0 (estimate based on Andrew's claim earlier that about a quarter had been at that point), with much of that code directly signed off and therefore directly attributable, and the rest fairly easy to retrieve from logs, and the known or easily traceable authors of much of the remaining code, perhaps a quarter would initially be stuck GPLv2 only, if the active kernel coders as a group decided to switch. However, even without direct targeted effort, just rewriting as they came across it, the remaining code would likely be mostly gone in a year, and with a bit of targeting of the harder and more niche code, the rest could be gone, either replaced, or in the case of non-critical code like some of the several file systems, be yanked out entirely if necessary. That's a far cry from immediate, but two years or even three wouldn't be that extreme given the time other projects will be taking to do their own conversion, and the complexity of the kernel.

Still, all that said, I can see a couple other possibilities happening as well. One, the kernel already includes the Linux Kernel GPL Preamble, a legally binding disclaimer specifically stating that the kernel's GPL does NOT apply to userland code. Anything in the GPLv3 that proved disagreeable to a suitable number of active kernel devs could be similarly disclaimed, by section and paragraph, if necessary.

Two, it's possible, tho I wouldn't call it likely at this point, that the GPLv3 will include a "menu" of several optional modules that can be applied by the author as desired, much as the Creative Commons Licenses do, only with a strong central core that they don't have. The core might be very similar to the GPLv2, with optional patent and software-as-a-service clause modules that an author can choose to claim or disclaim as desired. (As noted above, even if this isn't the case with the formal GPLv3, it can always be /made/ the case with exceptions similar to the kernel license preamble already in place.)

Of course, these options do mean rather more license proliferation, but if the modules were formalized, it would at least keep the proliferation to some level of control. If disclaiming is left to the individual cases, the situation could easily become far more complicated, unless the GPLv3 gets the same level of support as the GPLv2 now has or better, not a given by any means!

Duncan

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 26, 2005 1:14 UTC (Mon) by viro (subscriber, #7872) [Link]

"GPL v2 or later" means "I believe that future licenses FSF might
come up with will be compatible with my views". Since I do not
hold such beliefs, I will not agree to relicense my contributions
to such terms. Anybody suggesting such relicensing is welcome to
the answer Mr. Merkey got in response to similar suggestion.

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 26, 2005 21:26 UTC (Mon) by nix (subscriber, #2304) [Link]

However, if GPLv3 turns up and is agreeable, relicensing under `GPLv2 or v3' might be OK, right?

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 26, 2005 23:57 UTC (Mon) by dlang (subscriber, #313) [Link]

yes, however to change from GPLv2 to GPL v2 or v3 may be difficult to do, it requires either a formal agreement from all contributers to a project that some person is allowed to make the decision for the project (which the popfile project has done), or getting the agreement from all contributers to make the change, or replacing all code from contributers who you can't get the agreement from.

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 24, 2005 12:26 UTC (Sat) by jstAusr (guest, #27224) [Link]

> According to RMS, two of the basic freedoms that users should enjoy
> are the right to run software and the right to change it.

Don't you think the four freedoms are intended to be applied as a set? Otherwise, why not just have two freedoms or ultimately no freedom?

The four freedoms are intended for all users aren't they? In other words, in each case, don't you need to consider if the four freedoms are intact for all the users?

Just one other thought. The destination of web services is to have the users pay for each use of every program. All programs would reside on servers. The users machine would hold only data and reports or maybe they would pay for storage space on the server. If you would want to listen to a song, play a game, write an email, or anything else, you would need to pay a service fee to a program server. A certain well known monoply has wanted that to happen for a long time.

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 24, 2005 16:57 UTC (Sat) by zblaxell (subscriber, #26385) [Link]

The freedom does have to stop somewhere. That guy who wants to modify the DNS server on my machine by sending it patches inside a buffer overrun exploit packet should *not* get the four freedoms. If I believed the DNS server's license required me to grant the freedoms in this particular case, I'd run a different DNS server.

It's not at all clear to me how the GPL maps onto situations where pieces of code are executing in different administrative domains. On the one hand, I should have freedom to use any software I can legally get my hands on in any way that I like, within reason. On the other hand, I should also have rights to privacy and the disposition of my property (software is infinitely reproducible, but server resources are not). When part of the software is running on my machine and part is running on yours, where does my freedom end and your privacy begin?

RMS: The GNU GPL Is Here to Stay (O'ReillyNet)

Posted Sep 26, 2005 4:30 UTC (Mon) by jstAusr (guest, #27224) [Link]

The four freedoms don't address malicious mischief or criminal intent. Those activities don't begin or end with the GNU GPL.

zblaxell, I agree with most of what you have written, even if not with the exact reasoning, and that server resources are important. Security through obscurity has been a goal of the monopoly, the direction that path is going seems rather disagreeable or even unacceptable. The results of the community working in an open manner have generally been better and certainly are more honest. As to your question, I would rather if your freedom and my privacy were not in opposition, thank you very much :).

I'll bet RMS would love it if all of us wrote a perfect GNU GPLv3 so he wouldn't need to try to attain that difficult goal.

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