Posted by
CmdrTaco
on from the stuff-to-think-about dept.
Ken Litko wrote
in to send us an article that appears over at
Daemon News that compares the GPL[?] with the BSD[?] license.
It tries to cover some of the differences and shed light
on the different intents of the two. Some criticism of
the GPL, and a good article.
Some people in the BSD camp must have a serious chip on their shoulder. There was a great deconstruction of this article by someone on gnu.misc.discuss a few days ago, but unfortunately I cannot locate it on the new and "improved" DejaNews. Some of what I am going to say is taken from that.
First, the article is wrong in some basic facts. Flex is not under the GPL, so it's output is not GPL. The output of Bison was only covered by the GPL because the "output" of bison included a very large chunk of Bison parser code written by Stallman into the output, not just because the the Bison parser spits out code. Additionally, it has been quite some time since this code was GPL'd. It is now under a license that allows proprietary use. These are just a couple of examples.
Second, his explanation of the "meat" of the BSD license leaves out the advertising clause. Whoops. I wonder how he could have overlooked such a wonderful feature.....
Third, this guy's legal analysis of the GPL is pretty flawed. If you have concerns about the license, I suggest hiring a real lawyer to look it over.
But most importantly, this article is simply an anti-GPL screed full of abuse for the GPL, the FSF, etc. I wonder if Michael Maxwell is a pseudonym for John Dyson? Listen to a few of these things:
-- "the GPL is more concerned with political extremism rather promoting free software"
-- "This clause reeks of political extremism"
-- "If this is the case, then you are not the real owner of your code, the Free Software Foundation is!"
-- "This just states that the FSF couldn't find a way to take control of programs that just happen to be stored on the same media as a GPL'ed program!"
-- "This sounds much like a Microsoft-style license"
-- "Not sure of the legality of this, and could be up for debate"
-- "the General Public License is not so much about ``keeping free software free'' as it is about forcing us to accept the extreme Communistic political philosophy of Richard Stallman"
-- "The GPL is not about freedom."
As you can see, lots of FUD and anger. And aside from its obvious biases, it is full of so many inaccuracies that I urge everyone to completely discount anything it says. I suggest contacting Jordan Hubbard of the FreeBSD project for more clear, accurate, and reasoned information on the BSD community's thoughts on this issue if this article caused you any major concerns.
Re: Restrictively Unrestrictive
by
Kragen+Sitaker
·
· Score: 5
Here's the email I wrote a week ago when I first read this article. It says mostly things other people have said in these comments, but not entirely.
RMS responded to the email and said, "It is clear that the article you're commenting on was completely confused."
It is my opinion that this article is not, in any sense, a good article. It consists almost entirely of acrimonious accusations and misstatements of fact that can generously be described as gross misunderstandings.
I am willing to have this comment posted as a Slashdot article if the Slashdot gods see fit to do so.
It appears that much of your article was based on misunderstandings of the GPL. I hope you are willing to post a retraction of those parts of your article.
[ Rob: You are welcome to post this on Slashdot if you like. ]
You write:
The clause about "output from the Program" is confusing and rather open-ended. It says that if a GPL'ed program generates output that may be used as a program, then the output is also GPL'ed. This would apply, for example, if using a parser generator such as ``flex'' or ``bison'' (the GNU equivalents of ``lex'' and ``yacc''). However, this curiously does not seem to apply to binary or object code generated by the GNU compilers, such as ``gcc''. Overall, I'm not sure about this clause of the license, and if I'm missing something here, please enlighten me. At any rate, the last sentence causes the most confusion, as it is completely non-specific.
This clause confused me for a while, too. What it says is the opposite of what you think it says: it says that the output is not GPLed simply because it came out of a GPLed program.
So flex and bison output, along with gcc output, is not necessarily GPLed. However, sometimes it is, specifically when the output is part of the program itself. For example, bison output with the default bison parser skeleton is a work based on the bison parser skeleton, which is part of bison. (Recently an exception was made so that bison output with the default parser skeleton was not GPLed, but this was the case for a long time.)
So you see -- it depends on what the program does.;)
You could have written to the FSF for clarification before writing the article.
This says that if you include non-GPL code in your program, you do not have to release that part of the code as GPL, provided that you distribute that part of code separate from the rest of the program! If the GPL and non-GPL code are distributed together (as is most often logically the case), then the non-GPL code's license, if any, is automatically null and void (may in some cases be illegal) and the entire work is now GPL-infected.
No, the GPL cannot magically null some other software license. What it can do is permit you to distribute code licensed under the GPL. What this clause says is that you cannot distribute code licensed under the GPL as part of another program unless the whole program is distributed under the GPL.
So if I link Emacs's buffer-handling functions into a proprietary text editor, I am not permitted to distribute that text editor unless I license that text editor under the GPL. This seems like a reasonable restriction to me; RMS wrote those buffer-handling functions so people could use free software, not so proprietary-software makers could make money off of him.
What the "distribute them as separate works" thing means is this.
The XML parser Expat is licensed under the GNU GPL so that it can be linked into GPLed programs. However, if James Clark (Expat's author) wanted to incorporate Expat into Mozilla, he can license Expat under the GPL-conflicting Mozilla Public License as well. Indeed, if he wants to link Expat into some proprietary XML editor, he doesn't have to GPL that XML editor, either. That's because Mozilla and the hypothetical proprietary XML editor would not be "part of a whole which is a work based on the program" -- where the program in question is not Expat, but some other GPLed program that uses Expat.
Make sense?
This clause reeks of political extremism, and is not entirely true. When a program or work is released under a license, this means that you are in effect licensed to use the program. If this is the case, then you are not the real owner of your code, the Free Software Foundation is! Particularly when it comes to controlling the ``distribution of derivative or collective works based on the Program''. After all is said and done, the only part of this work that you actually own is the Copyright itself. And that copyright is subject to the terms of this license. Essentially this is the rudimentary philosophy of Communism, in which you can create something, but you only own it as much as everyone else owns it.
As explained above, this is not correct. You are always free to license your code however you see fit, but if you want to link your code with GPLed code, you need to license your code under the GPL. That doesn't keep you from also, say, licensing your code under the BSD license, or the MPL.
Also, I think you are mistaken about communism; copyright law is not a child of capitalism, but of feudalism.
And yet again, stating that you cannot change the license of a GPL'ed program once it has been released under GPL.
You'd be amazed how often people have tried to do this (with software they didn't write!)
Remember, though, the GPL provides rights only to users of the software; the author can do whatever they want with it, as explained in section 2.
It also states that you cannot further license the program or modify the GPL in any way.
Right. That is, if I have a big juicy piece of code released under the GPL (say, GNU Emacs) and I want to make a KDE version, I can't add a clause to the beginning of the GPL that says, "As a special exception, this code may be freely linked with the Qt library."
Of course, if I wrote the code, I can license it however I want.
This sounds much like a Microsoft-style license, in which your actions determine your acceptance of the license. In other words, you don't need to sign anything to be under the control of this license, all you need to do is modify or distribute the program (in the case of Microsoft, merely use the program).
Actually, you don't even need to modify or distribute the program to be under the control of the GPL. You just need to exist.
In copyright law, certain rights are reserved for the author of a work, including the rights of first sale and copying. The author is allowed to license other people to do these things in restricted ways or in unrestricted ways.
When an author decides to use the GPL, that means they are granting everyone in the world a license to use their software under certain conditions -- whether everyone wants to use it or not.
Microsoft's shrink-wrap licenses are probably not valid because you already bought the software from Microsoft or a Microsoft retailer, which implicitly grants you some rights, before agreeing to the license.
More political extremism: if you cannot distribute the program in FULL compliance with the GPL, then you cannot distribute it at all. This is nothing more than anti-competitive, anti-capitalism restrictions.
Anti-competitive? Anti-capitalist? How?
If I license you the right to print my poem, but only in a magazine, not in a book, then you are not allowed to print it in a book. I don't think that's "anti-competitive" or "anti-capitalist" at all. It's just copyright law. If I license the general public the right to reproduce my software documentation in electronic form, but not in paper form, then you are not allowed to distribute it in paper form -- even if it's about cryptography and the courts say you can only distribute it in paper form, not in electronic form. This provision of the GPL is no different from these examples; indeed (as it says at the top of section 7) it is redundant.
A rather interesting twist: if part of the license doesn't hold up in the law, the rest of the license still applies. Not sure of the legality of this, and could be up for debate...
This "severability" term is standard in agreements written by one party. Your credit-card agreement, the airlines' terms of passage, and your bank agreements all contain essentially identical terms.
Also note that there is a separate, but similar license known as the LGPL or ``Library General Public License'' which covers software libraries. It places the same general terms and conditions on library code as the GPL places on program code. It seems the LGPL was intended to clear confusion in whether a program must be GPL'ed if linked with GPL'ed libraries. Surprisingly, this does not appear to be the case.
The LGPL was intended to provide more liberal licensing terms than the GPL for certain libraries, so that proprietary programs could be linked against free libraries rather than proprietary libraries.
There are also libraries released under the GPL; for example, readline. You are not allowed to distribute code linked against these libraries unless that code is also licensed under the GPL.
The LGPL is not a clarification of the GPL for libraries; it is a separate license. You're not the only person to make this mistake; to clear it up, the FSF recently renamed it the "Lesser General Public License".
It also places the same restriction on any software that is derived in any way from a GPL'ed program, thereby infecting the derived work with the GPL.
No. In particular, it doesn't restrict software that is output from a GPLed program (unless that software is itself a GPLed program for other reasons; for example, GNU cc includes some GPLed.y files that can be given as input to bison, producing some software as output. The output software is GPLed in this case.) or software that doesn't contain parts of a GPLed program.
Once GPL'ed, the code, or any derived work, can never be released under any other license from that point on, no matter how many cycles of modification it has undergone.
The author can release it under as many other licenses as their little heart desires. You just can't release copies of someone else's code -- or a program incorporating someone else's code -- under a non-GPL license.
It is my opinion that the General Public License is not so much about ``keeping free software free'' as it is about forcing us to accept the extreme Communistic political philosophy of Richard Stallman and others at the Free Software Foundation.
This is grossly inaccurate; RMS is not a communist. As far as I know, the other folks who work for the FSF aren't, either.
But how does the GPL force you to accept anything? It doesn't even force you to accept the GPL. You are welcome to freely choose to violate the GPL and get sued, or follow the GPL and receive its benefits.
The very spirit of the GPL is to attack the very concept of Capitalism and individualism. There is no concept of intellectual property under the terms of the GPL.
Intellectual property is contrary to the spirit of capitalism and individualism. (Unless you're a socialist who thinks the spirit of capitalism consists in the exploitation of the weak by the strong; intellectual-property law does that quite well!) Thomas Jefferson was opposed to intellectual property. You can't get much more individualist than that.;)
[under the GPL] Your hard work is no more your property than everyone else's.
This appears to stem from a misconception that the GPL restricts the rights of software authors. I mean, in a sense, it does; to use the GPL is to grant to everyone in the world the right to use your code under certain terms. You no longer have the freedom to prohibit people from using your code unless they pay you a license fee. But you still own the copyright, and you can license the code to people under more liberal licenses if you want. (You can even license it under more restrictive licenses, but people might just go download the GPLed version instead.)
Indeed, Richard Stallman himself would prefer that we recognize the Linux operating system as ``GNU/Linux'' instead, because of the fact that almost all of the code is GPL'ed.
This is a misconception. RMS wants people to call it GNU Slash Linux because the OS consists largely of code written by the GNU project. IMHO, he is mistaken; I don't think Linux should be called that, because it consists mostly of code written not by the GNU project, or for Linux either, for that matter.
[RMS wrote to correct me about this: "Actually, neither of those is the reason. The reason is that the system in question is largely the GNU system."]
In fact, it should be contested over its shaky sense of legality in these matters. I'm not aware of any court cases involving the GPL so far, so we have yet to see what will happen when such an issue arises.
The lawyers who have read the GPL seem to think it will hold up. We'll have to see it tested in court; I suspect that will happen this year or next year.
In summary, despite the disadvantages in certain instances, most open source software licenses contribute to the growth and technological and artistic development of software and computer science in general. Both licenses that have been considered here fall under this category, and as such should be considered a valuable resource and a great achievement for the intellectual development of the scientific and technological communities as a whole. Open source software is all about the sharing of ideas and concepts.
Hmm, I mostly agree. But I thought open source software was about reducing the cost of software development by having your customers fix all the bugs for you;)
don't call GPL "viral", call it "tit-for-tat"
by
sethg
·
· Score: 5
A while ago, someone on/. posted a pointer to a Web page by David Rysdam -- I unfortunately didn't save the link, but the title was "Open Source as ESS". For those of you who are familiar with the iterated Prisoner's Dilemma (see Axelrod's The Evolution of Cooperation if you're not), I can summarize the article as follows:
Computer programs competing with each other are like players in an iterated Prisoner's Dilemma game.
Letting another program copy your code is like playing "Cooperate" in the game.
Refusing to let another program copy your code is like playing "Defect".
Closed-source programs are playing the "Always defect" strategy.
Programs with a BSD license are playing the "Always cooperate" strategy.
Programs with a GPL license are playing the "Tit for tat" strategy.
In simulations of the iterated Prisoner's Dilemma, tit-for-tat players usually do better in the long run than players who always cooperate or those who always defect; therefore, GPL programs are likely to displace BSD programs in the long run.
I have some reservations about Rysdam's model, but I would love to see more analyses of this type.
I think we need to see an objective comparison between the two licenses. Free Software Foundation texts which compare the GPL to other licenses are always written from the FSF's point of view, and their hardline politics comes through in their articles. This article suffers from the same problem, just from the opposite angle. For example, here is a quote from the final section of the article, in which the author expresses his opinions on various licensing issues:
It is my opinion that the General Public License is not so much about ``keeping free software free'' as it is about forcing us to accept the extreme Communistic political philosophy of Richard Stallman and others at the Free Software Foundation. The very spirit of the GPL is to attack the very concept of Capitalism and individualism.
This quote seems to me as loaded as the pro-GPL, anti-everthing-else texts published by the FSF.
It seems to me that any article on licensing is going to have some political, ideological aspect to it. We're all human, we all have opinions, and our opinions are guaranteed to show in what we write, to a greater or lesser extent. However, I think it is possible to write a reasonably objective article which doesn't descend into attacking another's ideology.
Peace and Harmony and all that
by
DonkPunch
·
· Score: 5
(Putting flamethrower away) Let's talk.
First of all, my personal opinion is that a person (or entity) who writes code has the right to determine the terms of how that code is distributed. When I write a program, I can release it under public domain, BSD-style license, GPL, or whatever. Heck, I can create a license that forces people to "subscribe" to my program and send me money every year or it shuts down. Nobody is obligated to use my software if they don't like my license.
In fact, I believe that terms of use are a feature of software -- just like speed, ease-of-use, and reliablility. I only wish we had software consumers who were more educated about EULAs and what clicking that "Next" button during the install really means.
I'm very leery of an interpretation of the GPL from someone whom I don't believe is a lawyer. The use of terms like "communist" and "viral" is simply inflammatory.
I do understand why people who favor a BSD-style license are concerned about developers using GPL without considering a BSD license. Thanks to the attention focused on Linux, there's a certain "trendiness" to releasing code under the GPL today. In some cases, a BSD license may be more appropriate and beneficial.
Developing Free Software is often a labor of love. For some, it's their art. I sympathize with a developer who worries that their work will be "embraced and extended" by a corporate entity and they'll never see what happens to it. The GPL prevents this (even for developers who might find the license's introduction a little heavy-handed).
Finally, I think the LAST thing that GPL and *BSD users should be doing is fighting each other. I'm sure there are people growing interested in *BSD as a result of "Linux hype". I'm sure there are people who use both. I'm sure there are people who switched to *BSD after using Linux. I saw yesterday's news about AOL's interest in a *BSD-powered set-top as proof that the attention is benefitting everyone.
Those who favor GPL and those who favor *BSD have more in common than not. They also have bigger opponents than each other.
--
Save the whales. Feed the hungry. Free the mallocs.
Some people in the BSD camp must have a serious chip on their shoulder. There was a great deconstruction of this article by someone on gnu.misc.discuss a few days ago, but unfortunately I cannot locate it on the new and "improved" DejaNews. Some of what I am going to say is taken from that.
.....
First, the article is wrong in some basic facts. Flex is not under the GPL, so it's output is not GPL. The output of Bison was only covered by the GPL because the "output" of bison included a very large chunk of Bison parser code written by Stallman into the output, not just because the the Bison parser spits out code. Additionally, it has been quite some time since this code was GPL'd. It is now under a license that allows proprietary use. These are just a couple of examples.
Second, his explanation of the "meat" of the BSD license leaves out the advertising clause. Whoops. I wonder how he could have overlooked such a wonderful feature
Third, this guy's legal analysis of the GPL is pretty flawed. If you have concerns about the license, I suggest hiring a real lawyer to look it over.
But most importantly, this article is simply an anti-GPL screed full of abuse for the GPL, the FSF, etc. I wonder if Michael Maxwell is a pseudonym for John Dyson? Listen to a few of these things:
-- "the GPL is more concerned with political extremism rather promoting free software"
-- "This clause reeks of political extremism"
-- "If this is the case, then you are not the real owner of your code, the Free Software Foundation is!"
-- "This just states that the FSF couldn't find a way to take control of programs that just happen to be stored on the same media as a GPL'ed program!"
-- "This sounds much like a Microsoft-style license"
-- "Not sure of the legality of this, and could be up for debate"
-- "the General Public License is not so much about ``keeping free software free'' as it is about forcing us to accept the extreme Communistic political philosophy of Richard Stallman"
-- "The GPL is not about freedom."
As you can see, lots of FUD and anger. And aside from its obvious biases, it is full of so many inaccuracies that I urge everyone to completely discount anything it says. I suggest contacting Jordan Hubbard of the FreeBSD project for more clear, accurate, and reasoned information on the BSD community's thoughts on this issue if this article caused you any major concerns.
Here's the email I wrote a week ago when I first read this article. It says mostly things other people have said in these comments, but not entirely.
RMS responded to the email and said, "It is clear that the article you're commenting on was completely confused."
It is my opinion that this article is not, in any sense, a good article. It consists almost entirely of acrimonious accusations and misstatements of fact that can generously be described as gross misunderstandings.
I am willing to have this comment posted as a Slashdot article if the Slashdot gods see fit to do so.
- Computer programs competing with each other are like players in an iterated Prisoner's Dilemma game.
- Letting another program copy your code is like playing "Cooperate" in the game.
- Refusing to let another program copy your code is like playing "Defect".
- Closed-source programs are playing the "Always defect" strategy.
- Programs with a BSD license are playing the "Always cooperate" strategy.
- Programs with a GPL license are playing the "Tit for tat" strategy.
- In simulations of the iterated Prisoner's Dilemma, tit-for-tat players usually do better in the long run than players who always cooperate or those who always defect; therefore, GPL programs are likely to displace BSD programs in the long run.
I have some reservations about Rysdam's model, but I would love to see more analyses of this type.send all spam to theotherwhitemeat@ropine.com
I think we need to see an objective comparison between the two licenses. Free Software Foundation texts which compare the GPL to other licenses are always written from the FSF's point of view, and their hardline politics comes through in their articles. This article suffers from the same problem, just from the opposite angle. For example, here is a quote from the final section of the article, in which the author expresses his opinions on various licensing issues:
This quote seems to me as loaded as the pro-GPL, anti-everthing-else texts published by the FSF.
It seems to me that any article on licensing is going to have some political, ideological aspect to it. We're all human, we all have opinions, and our opinions are guaranteed to show in what we write, to a greater or lesser extent. However, I think it is possible to write a reasonably objective article which doesn't descend into attacking another's ideology.
(Putting flamethrower away) Let's talk.
First of all, my personal opinion is that a person (or entity) who writes code has the right to determine the terms of how that code is distributed. When I write a program, I can release it under public domain, BSD-style license, GPL, or whatever. Heck, I can create a license that forces people to "subscribe" to my program and send me money every year or it shuts down. Nobody is obligated to use my software if they don't like my license.
In fact, I believe that terms of use are a feature of software -- just like speed, ease-of-use, and reliablility. I only wish we had software consumers who were more educated about EULAs and what clicking that "Next" button during the install really means.
I'm very leery of an interpretation of the GPL from someone whom I don't believe is a lawyer. The use of terms like "communist" and "viral" is simply inflammatory.
I do understand why people who favor a BSD-style license are concerned about developers using GPL without considering a BSD license. Thanks to the attention focused on Linux, there's a certain "trendiness" to releasing code under the GPL today. In some cases, a BSD license may be more appropriate and beneficial.
Developing Free Software is often a labor of love. For some, it's their art. I sympathize with a developer who worries that their work will be "embraced and extended" by a corporate entity and they'll never see what happens to it. The GPL prevents this (even for developers who might find the license's introduction a little heavy-handed).
Finally, I think the LAST thing that GPL and *BSD users should be doing is fighting each other. I'm sure there are people growing interested in *BSD as a result of "Linux hype". I'm sure there are people who use both. I'm sure there are people who switched to *BSD after using Linux. I saw yesterday's news about AOL's interest in a *BSD-powered set-top as proof that the attention is benefitting everyone.
Those who favor GPL and those who favor *BSD have more in common than not. They also have bigger opponents than each other.
Save the whales. Feed the hungry. Free the mallocs.