Advertisement

I have a small question about the GPL..

Started by June 24, 2005 03:59 PM
64 comments, last by GBGames 19 years, 3 months ago
Quote: Original post by Sneftel
No, the whole thing is under the GPL. The only way to avoid rewriting the whole bloody library is to track down EVERY author that's ever contributed to the library and get them to un-GPL their code. They, of course, will have to track down every person involved in libraries that that code came from. And so on, and so forth. All this is clearly set out in the license (in much more complimentary terms, of course.)


Or they could have done it right (as in "the way they intended it") in the first place, by including the time-zone library they wanted to use (as a compile-time option) and releasing their own code under the BSD license. When someone downloads the source, he can chose if he wants to use it as a GPL library (by virtue of the time zone library) or do without and just use the BSD license.

The last statement of your original post, that he had to GPL the web server because the time-zone library was GPL, is not descriptive of your problem if the whole library was in fact GPL.


Quote: Original post by Oluseyi
Gee, that was easier than you thought, wasn't it?


Apparently not, that license is nothing like what I said.

Quote:
(This is fast becoming one of my most frequent responses around here; I wonder why:) You're not very smart, are you?


Because you're convinced you're the gamedev.net messiah?

Quote:
The whole point of that pie-in-the-sky excerpt is for such a system to serve as an alternative to the current mess that is software patents. The original purpose of patents - including the fact that the implementation details were made public - was to spur innovation by providing protected profit opportunity and by seeding the community of would-be innovators with the specifics of the previous "generation." This system has that effect, while eliminating shameful profiteering (tactics such as purchasing the rights to an innovation and then retroactively suing for "infringements").


So it was actually pointless and has nothing to do with the GPL. I think you post ambigious crap like it intentionally som you can call people idiots no matter what the reply is. Nice tactic, I'm gonna start using it some day.

Quote:
You don't see that the problem with the GPL is its viral nature, the fact that no derivative can be closed, even for a short while, which eliminates competitive protection. If all the implementation details to your innovative system are made public the very moment you release it due to legal constraints, how do you protect yourself from competitors - including hippie-types who would offer identical software, your software, at zero cost?


And whose problem is if if you feel like you can't compete adequatly?

Quote:
You've inverted the issue. BSD is held up as a case of a commercial-friendly license, but nobody (generally speaking) is advocating that all open source be released under it.


You sure could have fooled me, for example with:

Quote:
The problem of the GPL is that it doesn't play well with others. That's not acceptable in the frequently mish-mash environments of corporate software development. This extends to public software development, such as the fact that a piece of non-classified code written by the government (ie, public property since its paid for with taxes) licensed under the GPL can not effectively be employed by any citizen engaged in competitive enterprise in which the software is anything more than "frosting on the widgets." That's unacceptable.


You are apparently not advocating that everything be released under the BSD license, but you are advocating that no software should be released under the GPL.

Quote:
Rather, the majority opinion here is that the GPL, purported proponent of Freedom and Liberty, actually prevents the use of much software in a genuinely productive way.


You mean prevents the usage of the source code of the software. There's a big difference. Adobe prevents you from using their code too, still I hear no complaints.

Quote:
Considering the fact that open source software is virtually all reimplementation of proprietary solutions (because the bazaar does not lend itself to good design or innovation without a clear model - or contrast), the GPL condemns successive generations of derivative works also to be mere reimplementations of smart ideas developed elsewhere, which is the real tragedy.


What's your proposed solution? Take away people's rights to release software under the GPL? Either way you're exaggerating the problem, but here's my proposed solution: Shorten the copyright term. After the term lapses, GPL software will become public domain, and the cycle begins again.

Quote:
I'll understand if ideology prevents you from conceding any of my points.


That is a cheap way of stepping out of the debate. Very clever, but since you at least pretend to be interested, here's my ideology: Release your code under whatever license you want. Closed or open, it's up to you.

My recommendations for open source developers:

End user applications: GPL
Libraries, where developers are the end users: LGPL, BSD like
Libraries that handle file formats and things you want to become commonly accepted: BSD like

And the most important part: Should you disagree, feel free to license it any other way, and I'll feel free to use it or not use it.
Quote: Original post by Anonymous Poster
Quote: Original post by Sneftel
No, the whole thing is under the GPL. The only way to avoid rewriting the whole bloody library is to track down EVERY author that's ever contributed to the library and get them to un-GPL their code. They, of course, will have to track down every person involved in libraries that that code came from. And so on, and so forth. All this is clearly set out in the license (in much more complimentary terms, of course.)


Or they could have done it right (as in "the way they intended it") in the first place, by including the time-zone library they wanted to use (as a compile-time option) and releasing their own code under the BSD license. When someone downloads the source, he can chose if he wants to use it as a GPL library (by virtue of the time zone library) or do without and just use the BSD license.

Right, which would have been fine if every developer down the line had done that. But clearly, this doesn't often happen. I'm talking in real world terms here, not how developers are "supposed" to protect themselves from the GPL.
Quote: The last statement of your original post, that he had to GPL the web server because the time-zone library was GPL, is not descriptive of your problem if the whole library was in fact GPL.

Alright. I'm going to try to explain this to you one more time. Read it a few times if you don't get it at first.

Developer A releases a module under GPL because he feels that all software should be free. Developer B releases a module which uses developer A's module under GPL, not because he feels that all software should be free (though he might sympathize with the GPL in some respects), but because to him, the small benefit of releasing under an open license such as the BSD would not outweigh the small cost of rewriting module A. Let's say that about 33% of the code was from developer A's source; 100% of it is only available through GPL. Developer C now releases a module which uses developer B's module, and likewise must release under GPL, not because he particularly wants to, but because the benefit of releasing under BSD does not outweigh the cost of EITHER rewriting all the functionality of module B OR contacting developer B and convincing him to modularize his code and release it under the BSD license. The code is now, let's say, 10% from developer A, and 100% of it is still under GPL. Developer D uses Module C code in Module D; he doesn't really like the GPL, but the cost of rewriting module C would be huge, and in order to use it under the BSD license, he'd have to contact developer B and convince him to modularize his code (assuming that developer could even be found), and if that was successful, then try to track down developer C and convince him to integrate the BSD'd version of module B into module C and then re-release under the BSD. Instead, he releases under the GPL, despite the fact that only about 3% of the code really NEEDED to be GPLed. In other words, 97% of the code was written by developers who would be perfectly happy to release under BSD.

And that's actually the simplest case. In a real world situation, there might be a half-dozen tiny Module A's that would have to be removed from the code in order to fully "cure" it of the GPL.
Advertisement
Quote: Original post by Anonymous Poster
You are apparently not advocating that everything be released under the BSD license, but you are advocating that no software should be released under the GPL.
By and large. I can't think of a single instance where the GPL is preferrable to LGPL or BSD or zlib or MIT, or any of the myriad other licenses which at least hold out the possibility of creating derivative works and licensing them under your own terms.

Quote: You mean prevents the usage of the source code of the software. There's a big difference. Adobe prevents you from using their code too, still I hear no complaints.
Adobe doesn't provide you with their code, per the terms of their license. GPL software does, then says you can't use it unless you GPL your own software, too, which I actually wouldn't have a problem with if the whole damn thing weren't wrapped up in this bogus philosophizing about "freedoms."

Source code has been made publicly available for generations, and the fact that some took such code and added proprietary enhancements to create a closed product has never affected the openness or availability of the original code. The GPL, in effect, was created as a means of coercing future developers to make their code available rather than giving them the choice. it is the hypocrisy of this - the GPL, in essence, is a reaction to the likes of Sun Solaris and HP-UX - that I am opposed to, for one, as well as the fact that such restrictions limit the ability for commercial entities to exchange and interact with GPL'd code except where software is a complementary product (in short, the GPL is being exploited to turn a software market into a commodity for the gain of the entities who sell support or consulting services).

Quote: What's your proposed solution? Take away people's rights to release software under the GPL? Either way you're exaggerating the problem, but here's my proposed solution: Shorten the copyright term. After the term lapses, GPL software will become public domain, and the cycle begins again.
I'm not proposing a "solution." I am criticizing and critical of the GPL, in the hope that enough software developers abandon it in favor of licenses that are not subjct to the exploitative commodification of a market by predatory (though seemingly benevolent) corporations, thus allowing a natural progression toward commodity to occur via normal competitive means. I'm not into forcing anyone to do anything, nor am I saying the GPL's terms should be changed. I think it will serve as an important historical document, though its precise significance in the future remains to be determined.
Quote: Original post by Sneftel
...I'm talking in real world terms here, not how developers are "supposed" to protect themselves from the GPL....


How can you be talking real world terms, when there are virtually no GPL libraries? Maybe people are more aware than you think?
Quote: Original post by Anonymous Poster
How can you be talking real world terms, when there are virtually no GPL libraries? Maybe people are more aware than you think?

It isn't as simple as library-versus-application. These days, the name of the game in software development is modular components. It's very common for projects to reuse code rather than linking to a library. (This, by the way, makes it much more difficult to reliably un-GPL a particular work.) If you want to be pedantic, though, a quick search of FreshMeat turns up about 814 GPL'ed libraries, out of about 2164 libraries total. I'm not sure where one draws the "virtually no" line, but I assume that's a little above it.
Ok, this debate got really shrill really fast. It's almost like watching a political debate on the ASP's Soapbox newsgroup...


Anyway, my own $2.02:


Here is how I read part of the argument. Adobe doesn't provide the source and so no one should be upset that you can't use their source in a non-GPLed project. A GPLed project provides the source, and it is perfectly fine to complain that you can't use the source as you would like as opposed to how the author says you can. Did I get that right?

The big complaint here about the GPL is that an author of a project can be forced to license his software under the GPL just because he/she used GPLed code in the project. If Project B uses Project A, and Project A uses the GPL, then Project B has to be under the GPL. If the author of Project B doesn't want to do so, then he/she cannot use Project A in Project B. Is that really so hard to understand? The GPL says that you can use the code in a new project so long as that new project is licensed the same way.

Yes, this is how it is supposed to be. The idea is that projects will be forced to be Free so that there will be more Free software. If an author is so against using the GPL, that author will just have to find a way to make software without using code under the GPL. He/She should not feel slighted any more than people writing FOSS should feel slighted that a proprietary library exists. Just don't use it! It isn't like the Free Software Foundation or any author has stuck source code out into the world only to snatch it back at the last second and laugh at the author's attempts to get access to it.

Whenever I read about people who complain about the terms GPL, it always seems to me that the person thinks that the license is either sneaky/dubious or that releasing the software under public domain is comparable and therefore preferred. When you use any code, you need to be aware of the terms on which you can do so. Every license gives you terms on which you can use what's being licensed.

Some people refuse to use the GPL, and that's fine. It's their choice. But what bothers me is hearing some people talk about the GPL as if it is a shackle that the authors unknowingly subjected their code to. Some people argue against the GPL as if programmers accidentally license their software under it. As if one day he/she wakes up and says, "Oh no! I accidentally licensed this project under the GPL and now lost all the control over it that I wanted!"

And for those who believe that the GPL was created to steal your livelihood as a fledgling programmer, the FSF isn't exactly a consortium between IBM, Sun, and other major companies. The idea of software freedom isn't just a cover for large corporations getting free access to programmer time.

You aren't meant to un-GPL a work in order to get your software written. While it can happen, and the reverse has happened as well, you shouldn't rely on the author changing the terms drastically just so you can write your own code easier.

If you don't like the GPL, don't use it. If it turns out that using source licensed under the GPL does save you time and money, but you don't like the terms of the GPL, then start spending your time and money instead of complaining that you need a source hand out. The GPL isn't being forced on you, and you aren't forced to use the GPL. In fact, the license clearly states you can refuse the license:

Quote: You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works
. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.


And once again, you'll note that the GPL only covers distribution and modification, not use.

Clearly there is a reason to use the GPL as opposed to BSD or some other license. People want more Free software and would like to know that software derived from their own will also be Free. If you feel that this is a horrible license and that you don't agree with the author, you'll just have to learn to live without that author's source. Can someone explain to me why this concept is difficult? Is it truly that you believe that if the source is available that you should have the ability to do whatever you want with it regardless of what the author says? I'd like to know if it isn't the case.

I apologize if my own post seemed personal, but know that I didn't mean for it to be so. I would really like a constructive discussion (although this is hijacking the original post...).
-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel
Advertisement
Now, from a legal and procedural standpoint, you're right; just vote with your code, and with your preferential use of software released under licenses that you like. The problem is, this isn't how it works in real life. In my experience, the vast majority of programmers who release under GPL really don't care what license they release under. BSD, GPL, LGPL, Mozilla, zlib... the list goes on and on (and on and on). GPL is the most high-profile license, because of Linux and cstdlib, so people release under GPL by default. They don't realize the full ramifications of what they're doing. AFAICT, FSF encourages this laissez-faire use of the GPL by referring to licenses as "GPL-compliant" or "GPL-incompliant". I don't think the FSF (or, for that matter, RMS) is acting as an evil overlord here; but I do think that an inattention to the long-term effects of software licensing choices poses a grave danger of leading us into a licensing miasma that will take a huge amount of replicated work to extricate ourselves from.
I agree that people should pay attention. If they don't care about the license, then they don't care what terms it will be under. If they later care about the difference, that just shows they should have cared in the first place.

For those people who do care, they will pay attention to what they license their code under. But I also don't think it is fair to say that the vast majority of people pick the GPL just because it is the default and therefore easiest to pick. There are many people who use the GPL because that is what they wanted to use. I am not familiar with your experience, but I have not heard about the FOSS developers at large crying out for help from the results of their ignorance of the licensing terms they originally chose. If you can shows me otherwise, I'd be glad to read about it.
-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel
Quote: Original post by GBGames
I am not familiar with your experience, but I have not heard about the FOSS developers at large crying out for help from the results of their ignorance of the licensing terms they originally chose.
If I may be snide, FOSS projects are virtually never "innovative." They are rehashes of existing design. When you are merely replicating functionality that is available elsewhere, albeit under different terms, the imperative to ensure that your implementation can feed future innovation is low. My argument agains the GPL is that, as the status quo, it is in fact inhibiting the prospect of FOSS innovation, which is why projects either announce that they have features their commercial competitors had ages ago or that they have been wasting time on features nobody needs ("redesigned from the ground up!").

I will gladly recant if presented arguments and evidence that undermine my position.
Quote: Original post by Oluseyi
Quote: Original post by GBGames
I am not familiar with your experience, but I have not heard about the FOSS developers at large crying out for help from the results of their ignorance of the licensing terms they originally chose.
If I may be snide, FOSS projects are virtually never "innovative." They are rehashes of existing design. When you are merely replicating functionality that is available elsewhere, albeit under different terms, the imperative to ensure that your implementation can feed future innovation is low. My argument agains the GPL is that, as the status quo, it is in fact inhibiting the prospect of FOSS innovation, which is why projects either announce that they have features their commercial competitors had ages ago or that they have been wasting time on features nobody needs ("redesigned from the ground up!").

I will gladly recant if presented arguments and evidence that undermine my position.




Well, I'm not sure what it has to do with what I said above.

In any case, there is a perception that FOSS is mainly derivative of what already exists. That may be the case in many examples, as Free software was originally intended to replace proprietary software rather than provide innovative solutions. It wasn't meant to be more innovative, so FOSS isn't supposed to be inherently innovative. Neither is proprietary software.

And once again, the idea that FOSS is the opposite of commercial software is a fallacy. They are not mutually exclusive. Microsoft gives away IE for free, and people can sell Gnu/Linux distros or services. To participate in an argument about the merits of FOSS vs commercial software just futhers the misconceptions people have about FOSS.
-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel

This topic is closed to new replies.

Advertisement