Linguistic Problems of GPL Advocacy
Reader Chemisor advances a theory in his journal that a linguistic misunderstanding is at the root of many disagreements over different licensing philosophies, in particular BSD vs. GPL. The argument is that GPL adherents desire the freedom of their code, while those on the BSD side want freedom for their projects.
"It is difficult to spend a week on Slashdot without colliding with a GPL advocate. Eager to spread their philosophy, they proselytize to anyone willing to listen, and to many who are not. When they collide with a BSD advocate, such as myself, a heated flamewar usually erupts with each side repeating the same arguments over and over, failing to understand how the other party can be so stupid as to not see the points that appear so obvious and right. These disagreements, as I wish to show in this article, are as much linguistic as they are philosophical, and while the latter side can not be reconciled, the former certainly can, hopefully resulting in a more civil and logical discourse over the matter."
Click below for Chemisor's analysis of the linguistic chasm.
The first disagreement I wish to address concerns the statement "BSD projects are free, but GPL projects stay free." GPL advocates cannot understand why the BSD advocates are not getting this point, and BSD advocates make accusations of Communism, which are then argued to death by both parties. The problem with the statement above is the different interpretation of the word "project." I, and I suspect many other BSD advocates, generally separate the concept of "project" from "code." While code is what projects are made of, I do not see it as valuable as the useful product a project provides. When I write a program, be it a site scraper, or a todo program, or a UI framework, I think of my project as the entity that matters. The fact that I may have copied some code from one to another is of no concern to me.
A GPL advocate sees an entirely different situation. To him, it is the code that comes first, and the applications built from that code are a secondary consideration. Even a single line of code is precious, whether it contains a complex spline formula or i += 2;. As an aside, I would expect this mindset to be more prone to reusing other people's code instead of reimplementing it. Where I would scoff at a piece of code, call it utter garbage, and rewrite the damn thing from scratch, a GPL advocate would probably wrap the garbage in another API that he finds more palatable. In my opinion, this leads to bloat from wrappers, instability from the garbage that is still there, and loss of skills. What programmer from the current generation is up to the challenge of reimplementing libjpeg? But, I digress. I am here to explain, not bash, so please excuse this little rant.
The two different viewpoints outlined above lead to different interpretation of the expression "stay free." To a BSD advocate, his project will always "stay free," and to assert otherwise is ridiculous. Once it is published, what could possibly make it go away? I have projects that I wrote fifteen years ago which are still hosted on ibiblio.org FTP site and mirrored around the world. I no longer maintain them and think them useless, but they'll persist forever, and anyone at all who wants to download them still can download them. The fact that some company can take it, write a little bit on top of it, and sell it, does not in any way affect my project.
To a GPL advocate, the project is not important; the code is important. So he looks not just at the project distributions he has made, but also of other projects that may incorporate any line of code he ever wrote. In his mind there is no distinction between his original work and its encapsulation in a derived work. He still thinks of both as "his code," and as an entity that must stay free. Naturally, any non-free derived work will anger him, because his code in it will no longer be free, even though his own copy of that code and his entire project will still be free.
The code/project distinction also leads to a different view of what it means to "use" a project, although this point is seldom argued explicitly. A GPL advocate makes a rather arbitrary and vague distinction between a human using his code and a computer using his code. Consider a situation where a user has a GPL-licensed program that converts a JPEG image to a GIF image and his own program (which he sells, or distributes under some other incompatible license) that can only view GIF images. It is legal for him and his customers to call the GPL program from the command line to convert JPEG images and then view them with his program. Suppose he gets fed up with this sequence and writes a shell script to do both operations in sequence. Is this legal? Probably. But what if he cuts out the conversion part of the GPL program and embeds it in his viewer? That would make his viewer a derived work, and so illegal to distribute under anything but GPL.
From the GPL advocate's view, this is perfectly logical. It is his code, and he wants all instances of his code to be free. The instance can not be free if it is embedded in another executable that is not free, since it can not be easily modified, which was Stallman's gripe and the reason for the GPL's existence. From the BSD advocate's view, the situation is absurd. His project is still free, and he does not really care how a user wants to use it. A shell script calling the converter is no different than a closed source program embedding it. They are simply different ways for a human to use the program. Whether the object code for the project stays hackable is also irrelevant, since the human's use of the project through a derived work project is just another way of use.
These different views of derived works are another bitter point of contention. GPL code can only be legally embedded in GPL projects, and if a non-GPL project wants to use GPL code, it must either not do that, or become a GPL project. This is why BSD advocates call the license viral, and thus elicit vehement denials from GPL advocates, who retort that nobody is forced to use GPL code, which lead to useless arguments over the meaning of "forced" or "viral" with no meaningful result. It must be reiterated that the GPL advocates look at code, while the BSD advocates look at projects, and the "viral" debate can only be resolved by examining both viewpoints. A GPL advocate sees a derived work as "his code" combined with some "other code" in a package, and his concern is that the package always be openable. "His code" always remains his code, and he sees any use or distribution of the whole package as a kind of use or distribution of his code. As a result, he feels justified in placing restrictions on how a user may use or distribute the derived work, even though he "owns" only a small part of the whole package. This is following the philosophy of copyright and intellectual property, which, curiously, is a favorite target of derision of these same people. A copyrighted work can never be wholly owned by the user, it is only rented, and so subject to control by the original creator.
A BSD advocate sees a derived work as his project being used by another project. The derived project is wholly owned by whoever wrote it, even if it uses other people's code. This is similar to the property laws of the real world. For example, suppose I sit on the curb and give away free lemons. A kid next door might get the bright idea to get my lemons, make lemonade, and sell it. The lemonade is clearly a "derived work," since it is made from my lemons, but it is absurd to suggest I have any right to tell him what price to put on his lemonade or how much sugar he can use in it. By the laws of private property in the real world, my ownership was relinquished at the time when I handed him my lemons. Just as I do not own his lemonade, neither do I own the derived works he makes from my BSD-licensed software.
These distinctive views of ownership combine with considerations of money, and GPL's anti-business mindset, resulting in accusations of Communism, and worse. But I'll save explaining that for another article. For now I will simply suggest that GPL advocates should change their language a bit, to make themselves more easily understood by people who do not subscribe to their philosophy. Specifically:
"BSD code is free, but GPL code stays free."
It would be better instead to say:
"BSD code is free, but the GPL ensures all derived works are also free."
or
"The GPL ensures your code will never be used by a closed-source application."
These alternatives clarify that you are talking about derived works, rather than the original project, which, of course, will always stay free anyhow. Also, do keep in mind the other points brought up in this article and make at least some effort to ensure you are speaking the same language before becoming too upset. I will never agree with your philosophy, but at least you'll know you were understood.
The first disagreement I wish to address concerns the statement "BSD projects are free, but GPL projects stay free." GPL advocates cannot understand why the BSD advocates are not getting this point, and BSD advocates make accusations of Communism, which are then argued to death by both parties. The problem with the statement above is the different interpretation of the word "project." I, and I suspect many other BSD advocates, generally separate the concept of "project" from "code." While code is what projects are made of, I do not see it as valuable as the useful product a project provides. When I write a program, be it a site scraper, or a todo program, or a UI framework, I think of my project as the entity that matters. The fact that I may have copied some code from one to another is of no concern to me.
A GPL advocate sees an entirely different situation. To him, it is the code that comes first, and the applications built from that code are a secondary consideration. Even a single line of code is precious, whether it contains a complex spline formula or i += 2;. As an aside, I would expect this mindset to be more prone to reusing other people's code instead of reimplementing it. Where I would scoff at a piece of code, call it utter garbage, and rewrite the damn thing from scratch, a GPL advocate would probably wrap the garbage in another API that he finds more palatable. In my opinion, this leads to bloat from wrappers, instability from the garbage that is still there, and loss of skills. What programmer from the current generation is up to the challenge of reimplementing libjpeg? But, I digress. I am here to explain, not bash, so please excuse this little rant.
The two different viewpoints outlined above lead to different interpretation of the expression "stay free." To a BSD advocate, his project will always "stay free," and to assert otherwise is ridiculous. Once it is published, what could possibly make it go away? I have projects that I wrote fifteen years ago which are still hosted on ibiblio.org FTP site and mirrored around the world. I no longer maintain them and think them useless, but they'll persist forever, and anyone at all who wants to download them still can download them. The fact that some company can take it, write a little bit on top of it, and sell it, does not in any way affect my project.
To a GPL advocate, the project is not important; the code is important. So he looks not just at the project distributions he has made, but also of other projects that may incorporate any line of code he ever wrote. In his mind there is no distinction between his original work and its encapsulation in a derived work. He still thinks of both as "his code," and as an entity that must stay free. Naturally, any non-free derived work will anger him, because his code in it will no longer be free, even though his own copy of that code and his entire project will still be free.
The code/project distinction also leads to a different view of what it means to "use" a project, although this point is seldom argued explicitly. A GPL advocate makes a rather arbitrary and vague distinction between a human using his code and a computer using his code. Consider a situation where a user has a GPL-licensed program that converts a JPEG image to a GIF image and his own program (which he sells, or distributes under some other incompatible license) that can only view GIF images. It is legal for him and his customers to call the GPL program from the command line to convert JPEG images and then view them with his program. Suppose he gets fed up with this sequence and writes a shell script to do both operations in sequence. Is this legal? Probably. But what if he cuts out the conversion part of the GPL program and embeds it in his viewer? That would make his viewer a derived work, and so illegal to distribute under anything but GPL.
From the GPL advocate's view, this is perfectly logical. It is his code, and he wants all instances of his code to be free. The instance can not be free if it is embedded in another executable that is not free, since it can not be easily modified, which was Stallman's gripe and the reason for the GPL's existence. From the BSD advocate's view, the situation is absurd. His project is still free, and he does not really care how a user wants to use it. A shell script calling the converter is no different than a closed source program embedding it. They are simply different ways for a human to use the program. Whether the object code for the project stays hackable is also irrelevant, since the human's use of the project through a derived work project is just another way of use.
These different views of derived works are another bitter point of contention. GPL code can only be legally embedded in GPL projects, and if a non-GPL project wants to use GPL code, it must either not do that, or become a GPL project. This is why BSD advocates call the license viral, and thus elicit vehement denials from GPL advocates, who retort that nobody is forced to use GPL code, which lead to useless arguments over the meaning of "forced" or "viral" with no meaningful result. It must be reiterated that the GPL advocates look at code, while the BSD advocates look at projects, and the "viral" debate can only be resolved by examining both viewpoints. A GPL advocate sees a derived work as "his code" combined with some "other code" in a package, and his concern is that the package always be openable. "His code" always remains his code, and he sees any use or distribution of the whole package as a kind of use or distribution of his code. As a result, he feels justified in placing restrictions on how a user may use or distribute the derived work, even though he "owns" only a small part of the whole package. This is following the philosophy of copyright and intellectual property, which, curiously, is a favorite target of derision of these same people. A copyrighted work can never be wholly owned by the user, it is only rented, and so subject to control by the original creator.
A BSD advocate sees a derived work as his project being used by another project. The derived project is wholly owned by whoever wrote it, even if it uses other people's code. This is similar to the property laws of the real world. For example, suppose I sit on the curb and give away free lemons. A kid next door might get the bright idea to get my lemons, make lemonade, and sell it. The lemonade is clearly a "derived work," since it is made from my lemons, but it is absurd to suggest I have any right to tell him what price to put on his lemonade or how much sugar he can use in it. By the laws of private property in the real world, my ownership was relinquished at the time when I handed him my lemons. Just as I do not own his lemonade, neither do I own the derived works he makes from my BSD-licensed software.
These distinctive views of ownership combine with considerations of money, and GPL's anti-business mindset, resulting in accusations of Communism, and worse. But I'll save explaining that for another article. For now I will simply suggest that GPL advocates should change their language a bit, to make themselves more easily understood by people who do not subscribe to their philosophy. Specifically:
"BSD code is free, but GPL code stays free."
It would be better instead to say:
"BSD code is free, but the GPL ensures all derived works are also free."
or
"The GPL ensures your code will never be used by a closed-source application."
These alternatives clarify that you are talking about derived works, rather than the original project, which, of course, will always stay free anyhow. Also, do keep in mind the other points brought up in this article and make at least some effort to ensure you are speaking the same language before becoming too upset. I will never agree with your philosophy, but at least you'll know you were understood.
Face it, this is the internet. Everyone has read your arguments, the counter arguments to you arguments and the counter counter arguments and so on ad infinitum. They've made a decision about this stuff and advocacy won't change that.
If people disagree with you, the correct course of action is to troll them for the lulz.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
A shell script calling the converter is no different than a closed source program embedding it. They are simply different ways for a human to use the program. Whether the object code for the project stays hackable is also irrelevant, since the human's use of the project through a derived work project is just another way of use.
Complete bollocks. Is the freedom to modify code not the entire point of GPL licenced software?
No one is forced to use your code. If they don't want to abide by the license they can write their own code.
This clause should be included in any contract, license or law:
1. Thou shalt not over-analyze the fucking wording of the contract!
Seven puppies were harmed during the making of this post.
Whether this is true or not is up for debate. Only time will tell, the whole software industry is still young. Always good to have linguistic clarity though, I appreciate the post.
Qxe4
I think the differences between the two camps go far deeper than simple semantics. I don't think you can sum up the conflict as a Mars-Venus miscommunication thing. There are some deep philosophical differences between the two camps. GPL guys are more evangelistic than BSD guys. BSD guys are more Laissez-faire about codes than GPL guys.
There's really no direct political comparison, but the closest example to BSD vs. GPL in that context is a Libertarian vs. Social Democrat example. BSD guys know that someone can take the code, not give back anything; the principle of real freedom, as they see it, is more important than whether or not anything is "given back". The public good is an indirect benefit, in their view. GPL guys, however, take somewhat more of a socialist-lite view, with the public good of "giving back" of more importance than total freedom to use the code however the end user sees fit.
Basically, both camps have some very different definitions of what "freedom" is... just like any other kind of politics.
Life is hard, and the world is cruel
Without being a full-time developer, or terribly invested one way or the other in the licensing issues (I've put the GPL on a couple pieces of code, I bet they've never been used by another person), the first thing I think of when I hear these licenses is something like this:
- BSD ensures freedom of the *producer* of the code to do what they want.
- GPL ensures freedom of the *recipient* of the code to do what they want.
We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
Would have been better if you removed your bias, but you did well resisting it in any case.
It is true that GPL advocates consider it important that the user of the software be able to modify the software and redistribute the results.. and that includes the copies of the software the are embedded in some other software.
How we know is more important than what we know.
While I agree with some of the author's points regarding linguistic disagreements obscuring philosophical disagreements, and sympathize with the stated desire to bring clarity to this ongoing flamewar, the actual article spends as much time pettily denigrating the pro-GPL position as it does clarifying the disagreement, thereby undermining the substantive aspects of the argument in favor of partisan score-making.
Or, in short: good job, you've obscured any actual insight with smug self-righteousness.
In what purported to be a rational theory, the rant about GPL-advocates being too lazy to rewrite poorly-written routines and instead simply wrappping APIs around them in the effort to dogmatically reuse code seemed out of place and detracted from what had been up to then a rather promising start.
I'm sorry that Chemisor seems to misunderstand the purpose of the GPL and the culture it grew out of.
The GPL is not communist. It is not anti-business. The GPL simply prevents someone from taking shared code and no longer sharing. If you use GPL-licensed code in your product, you have an obligation to give others the same freedoms you received when you redistribute the work.
This is an up-front permission, however. Nothing prevents someone from looking at a GPL'ed application or library and then doing the work themselves to implement the same functionality, nor contacting the copyright holders of the code and negotiating a custom licensing agreement.
BSD is also a very valuable license, but with different goals in mind. There is no reason for the antagonism between proponents of both licenses.
For my part (and only for my part. of course) my rationale for GPL is simple: I give you permission to use what I've made. You effectively pay for that right by giving identical permissions to use your related code back to me, and by extension to anybody else. It is a quid pro quo.
I don't dislike the BSD license at all. Anybody want to use it is fine by me. But there is no "I used the BSD license so you must too" requirement - the defining part of the BSD licence compared to GPL is that there is no such requirement. So don't get mad if your BSD code ends up as part of a GPL'ed project. It's what you chose to allow after all.
Trust the Computer. The Computer is your friend.
Consider the GPL - it's approved by both. But Red Hat doesn't publish Free Software, it publishes Open Source - and software written by Richard Stallman isn't Open Source - it's Free Software, and RMS is happy to explain the difference.
I'm squarely in Stallman's camp; my audio project Ogg Frog is definitely Free Software, not Open Source.
You see, the distinction isn't the license - it's the purpose behind making the project either Open or Free.
As Stallman explains, Open Source is about efficiency - volunteer coders, and "many eyeballs" finding and correcting bugs and security holes. Free Software is about creating a community - Stallman has made it very clear he hopes to get back to the way things were back in the day, when source was shared openly with no non-disclosure agreements, copyrights or licenses.
Unfortunately, the English language has a problem: Free can mean "as in Freedom", or "without cost". When I speak of my Free Software project to non-techie people, they think I'm just not going to charge money for it, and question my sanity. They have no clue about the meaning behind Free Software.
Spanish doesn't have that problem: Free as in Freedom is "Libre", free as in beer is "gratis". But those words don't make sense to English speakers.
I have developed a convention, but it's too subtle for most to take notice. Perhaps they will if you join me: I capitalize the "F" if it's "Free as in Freedom", but use lowercase for "free as in beer". I think that emphasizes the difference, and maybe if we all wrote it that way, more people would understand.
Stallman is a great man, IMHO, but he has a marketing and image problem: very few non-technical people have the first clue as to what Free Software means. Most think it means "freeware".
But Open Source doesn't have that problem; many who don't know source code from Shinola do understand what Open Source is all about.
Thus I long ago gave up trying to describe Ogg Frog as Free Software in casual conversation. I only say that when speaking to others who will likely understand. Most of the time I describe it as Open Source, but feel guilty in doing so. I feel like Matthew in these verses:
(BTW - there's no Ogg Frog to download yet, not even CVS or Subversion. Out of consideration for my non-technical target market, I'm not releasing anything until it reaches it's planned 1.0 feature set, and is reasonably bug free. At least for non-technical users, I feel The Cathedral is better than The Bazaar.
Request your free CD of my piano music.
Maybe it's just late and I glazed over something, but it seems like he missed the primary difference between the two licenses: WHO the license is free for. With BSD code, it's the developer; developers can do just about anything they want with your code. For the GPL, it's the end user; they are guaranteed to be able to modify/update/fix any incarnation of your code*.
Certainly there will always be the (rather pointless) philosophical question of which is more 'free', but what's the point? They're both pretty darn free, but take their freedom in different directions. Why not just choose the one that fits your vision of your project best, and understand that other licenses have their merits too?
*For those keeping track, this was the primary purpose of the GPL3. It ensures that GPLed software on protected devices can be updated.
> and GPL's anti-business mindset, resulting in accusations of Communism, and worse.
Can someone explain how does the GPL have an anti-business mindset?
Pretty good analysis you've got there. That's speaking as someone who is not a coder, and takes no part in these discussions, but I have watched them several times, never coming to a definite conclusion. That is, I don't favor one side over the other. It would make me pretty angry and sad to find out that Microsoft were making tons of cash from a piece of code that was originally GPL or BSD or whatever. Only because I see it as the big guy profiting from the little guy's work. But I also love the BSD way of thinking, which is absolute freedom. Here, I wrote this. Do whatever you want with it. I don't care. Whatever. I suppose that my political tendencies cause me to lean more towards BSD licensing.
That said, I only found one thing I don't agree with: the lemons analogy. I don't think GPL coders tell other people how to use their code, only that it should be GPL. You could create a bomb with my code, for all I care, as long as the end result is also GPL. That's because (I assume) GPL coders believe that if what you're writing builds upon their previous work, you should give it away with as much freedom as you received it.
So, the analogy would be more like, you give out lemons for free, with the sole restriction that whatever product is made from these lemons should be given away for free, as well. So if these lemons were GPL, the kid would have to... like give the lemonade away? Or sell the lemonade and give away the recipe he used to prepare the lemonade to whomever asks for it. Also, you would be forced by the GPL to divulge the source of your lemons, if anyone asks, because they didn't come out of yourself, so you didn't create them. You're just the distributor, kind of like ibiblio. So that would be like you have to point to the tree you got them from... or the store you bought them at... or something like that.
DirectX development in Wine froze. Years later, Cedega still hasn't returned the code, and Wine just barely came out from it.
This is the kind of issues that the GPL addresses.
You mean, the issue that users get functionality years earlier than they would have if the project had been GPL?
Only users who PAY. And that ain't true freedom.
Could you at least define "successful" before making such a huge claim?
The article is about people using words that are confusing and here you are doing just that.
Sheesh.
How we know is more important than what we know.
And their success is due to their choice in licenses. By similar argument, the success of Microsoft Windows, Office, Exchange and the Xbox must be due to their closed source nature. Ex post facto, Linux must become closed source, if its ever to attain the popularity of windows.
Most politics is "just" word games. The question is not who gets to be associated with the word. The question is who gets to define what freedom means (for software, but also more broadly). That matters very much.
Similarly, "piracy is theft" is an attempt to define piracy as theft - to establish (or change) the meanings of both words. The same is true of the opposing claim that piracy is not theft. Eventually the argument will be settled, at which point the question will be invisible: piracy will be theft, or it will not.
These words are not reflections of some objective meaning "out there" or handed down by God. They are defined by human beings. Their meanings are changed by human beings. Any political conflict involves struggles over meaning. The winners gets to establish their definitions as the "real" ones.
-- Geof, GPL advocate and student of communication
It seems to me that there is enough room for both licenses in this world. There's no need to pit them against each other as enemies. In the end it's the author's code, and if he wants to make a license that requires you to film yourself doing a back flip and send it to him before you can use it, then so be it!
All this shit about communism and Laissez-faire is ridiculous. Both licenses are built upon US copyright law.
LS
There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
This article was really nothing more than a pointless one-sided rant. Why is flamebait being counted as being worthy of being posted?
For all I care BSD fans can release their code under a BSD licence and GPL fans can release their code under a GPL license. To each their own. I use the GPL because I don't want my code to become irrelevant as changes are made by others and I don't want their changes kept locked up from the entire community. If others don't care about these things then it's up to them if it's their code. It's the difference between a sustainable free country and a country that is free for a short while before falling again into the hands of tyrants.
It has absolutely nothing to do with linguistics.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
You should really use BSD rather than just giving away your code. With BSD, you get credit on all derivatives, AND you have a liability clause to protect you from law suits.
Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
I've been dealing with BSD licenses for decades, and GPL licenses since Richard Stallman and his comrades first created them. I'm sad to say that this original post is absolutely full of strawmen. People like *THIS*, who skew the basic terms of both sides, are much more of a source of GPL/BSD license flaming than almost any of the actual software authors and license advocates. It starts with is original statement 'BSD projects are free, but GPL projects stay free'. BSD projects are under the control of the project owners. GPL projects are under the control of the users. The difference is _that_ simple.
He continues iwth his skew: When he says 'But, I digress. I am here to explain, not bash, so please excuse this little rant.', right after insulting the free software process of nabbing snippets from one project to use on another in the GPL world, it's adding insult to injury. This rant is inexcusable, and ill-founded. Most projects do not benefit from a complete rewrite, because few programmers are capable of doing as thorough a job as a few years of evolution and community involvement can provide. If you think I'm kidding, take a look at all the software building tools published, and at how GNU-make continues in such widespread use because the problems that the new developers think are so devastating pale in comparison to the ones we solved 10 or 20 years ago with basic Makefiles, and we know how to scale them and manage them.
Then there's "GPL code can only be legally embedded in GPL projects, and if a non-GPL project wants to use GPL code, it must either not do that, or become a GPL project." Complete nonsense: there hundreds, if not thousands, of dual-license projects in broad use. It's awkward, but effective.
And there's "By the laws of private property in the real world, my ownership was relinquished at the time when I handed him my lemons." Complete nonsense. There is a sign up that says 'If you make lemonade from this, you have to share'. Plenty of apartment-sharing situations and households work this way: when mom or dad shows up with the groceries, and the other one cooks, everyone gets some of the food. It's part of why they bring home the groceries: the teenager does not get to take all the lemons from the refrigerator and make and sell lemonade and expect dad to buy more lemons everyday.
His following claim that "The derived project is wholly owned by whoever wrote it, even if it uses other people's code." is also complete and utter legal nonsense. Copyright doesn't work that way: duplicating paragraphs, or pages, or chapters out of another work can indeed be a violation of copyright. Copyright law is tangled, and such complete disregard for its actual use simply obscures it. Software copyright is particularly nasty: If you look at a typical closed source license, such as a Microsoft End User License Agreement, you'lll see a complex and far more intrusive set of copyright restrictions.
I've worked with BSD licenses on a number of projects: they do have their uses, but this is just insulting to the GPL community. And it makes the BSD license users look bad because it claims to speak for the rest of them, when there are plenty of better reasons to use BSD licenses. (Controlling one's own project, and making money by selling enhanced proprietary components, is a legitimate business model, for example.)
A BSD advocate ranting on GPL ... news at eleven.
Does this really help in discussions of GPL vs. BSD?
There are always two sides. GPL is better for the company that writes the code. BSD is better for the company that uses the code.
I got this far -
"A GPL advocate sees an entirely different situation. To him, it is the code that comes first, and the applications built from that code are a secondary consideration."
Before I stopped reading because the writer is an idiot. This is both inssulting and a straw man argument.
BSD is about giving to the world.
GPL is about changing the world.
I don't think of the code i release under gpl as free (except as in beer), i worked hard on it and if you want to use it you have to pay me back in kind.
This is a joke. I am joking. Joke joke joke.
People often confuse "commercial" with "proprietary".. including the good people at Trolltech.
How we know is more important than what we know.
I've grown a passive disliking of the GPL that's probably quite unfounded. The reason why? Whenever there's an argument about licensing there's always someone shouting about the GPL the loudest with lots of facts and statistics.
It's quite similar to politics where the best argument doesn't always win *if* you lose the voters while trying to explain it to them. Of course in most cases licensing shouldn't be a political decision but a case-by-case breakdown of the features of each license.
as long as they provide the source for the tcp/ip stack and bundle it with windows, i don't mind.
The problem with BSD is that they can get away with it.
As long as they put in some about box the sting that used to be required by the old BSD back then, they are OK.
You won't get the source.
The BSD team may subsequently fix and upgrade the stack, you don't know if Microsoft had followed the upgrade, and you don't know which modification were made to the code so you won't be able to replace the stack with a fixed one either.
Whereas GPL components have a specially crafted license that guarantees that the code will keep all attached freedoms, and make sure that, wherever the piece of code ends, the users will still be free to hack it.
BSD tries to give the greatest freedom *to developer* helping them leverage existing opensource code, without restricting what they can do with it (minus a textual mention that used to be required in the old BSD), even use it in completely closed projects. You, the developer, have the right to do whatever the fuck you want to do with a piece of code, even if that means blocking those freedom for everyone else and making sure you're the single person that can do whatever you want to do.
GPL tries to secure *users'* freedom : no matter what the developer tries, the code will remain free and the user will still have his basic freedoms guaranteed. Wherever the code ends up, you as a user, will still have the freedom to do whatever the fuck you want with it (as long as you pass along that freedom to the next in chain).
Now whichever is best for you between BSD of GPL is a matter of preference :
- Will you mind that someone else will take your code, stamp "(c) Microsoft" on it and no further improvement will be exchanged between the community and that fork ? Preventing forever users to do whatever they want with it ?
- Or is it important for the piece of code you pick to give, the developer total freedom to do whatever you want with it, even use it in a closed source project ?
I personally prefer the GPL because of the guaranteed perpetual freedom (for users to hack it) that comes with it.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
The author is right that the confusion between what the two licenses do is a linguistic problem, but it doesn't have anything to do with the meaning of "code" vs the meaning of "project" -- it just has to do with the definition of freedom, which nobody can agree on.
Some people think the BSD version is "more free"; others think the GPL version is "more free". But people usually ignore the contested meaning of the word and assume that their preferred meaning is the only one, which leads to them screaming things like "how can you be against more freedom?!".
Incidentally (and very interestingly), the same debate applies to political ideas of freedom: political libertarians tend to define "freedom" in the BSD sense; political progressives tend to define it in the GPL sense.
No jokes, please
Then don't use it, and deal with it.
It is also impractical for me to build a Ferrari, I don't steal them.
Ofcourse you can decide what license your code has. You can make it closed source if you like. But then you can't claim your code is more free, can you? You restrict others with your choices.
I know you're not talking about closed source but about GPL, but when I read your post, I realised that this exact same argument works for both. BSD grants freedom to people who want to use your code in their project. GPL and Closed source restrict that freedom. Closed source does it to keep freedom only to the original creator of the code, and GPL restricts freedom of derivative projects (to a much lesser degree, obviously) in order to ensure freedom for everybody else.
But either way, your "deal with it" means that derivative projects have to deal with a limited freedom.
Way to generalise. You may see the value of BSD-style lisences, but that's an exception, not the norm.
I prefer BSD, but I can see why others would prefer the GPL, even though personally I dislike it. I won't speak for anyone else, and I won't imply that I'm the norm. I also won't spout that "it's not us, it's them" bullshit you just did.
The problem isn't philosophical or linguistic, it's that people in either camp have their heads too far up their own asses. Really, who gives two shits if someone else doesn't like your favoured lisence, really? People like to bicker over inane things. You like GPL, use GPL, just don't preach at me. I like BSSD, I'll use that, and I don't really give two shits if people think it's immoral, and I care even less if people use another lisence.
The hilarious thing is that this article is going to result in nothing more than another BSD vs. GPL flamewar, and people either completely missed the point, or have played right into the troll's hands.
It's a copyright lisence, not a bloody religion. Really, who cares if people have different opinions, or if one's definition of "free" differs from another's? It's pointless chest pounding, it's childish, it's petty, and it's a waste of time. Do your thing, let others do theirs. It makes you feel smug and moraly superior, more power to you, just don't force it on others.
Of cource the customer desides the license for the code they pay you to write!
But the discussione might go like this:
I can do this in 200 hours using this and this libary but the result must be under the GPL (if you ever need to redistribute it)
or I can spend 300 aditonal hours reimplementing this GPL-libary
or you can buy this similiar libary from company X for Y$(probaly cheaper than reimplementing, but the we will have to rely on company X for bugfixes)
Why was this modded +5 Insightful?
You don't have to read the article very carefully to realise that this is exactly the misunderstanding the author is trying to fight.
Code != Project
If you don't get this then you'll never have the necessary understanding to engage with advocates of the BSD license in any meaningful way. You can't argue meaningfully against something that you don't understand.
And this is precisely why it has a great deal to do with linguistics.
Some code for the mind, some for the heart, and some for the wallet.
BSD licensing is predominantly for the mind: sheer pursuit of technical excellence, don't bore me with politics and philosopy.
GPL licensing is for the heart, for abstractions that may not play well in the head of another. Technical excellence is fine, but societal "improvement" is the driver.
Proprietary is for the wallet. And let's not kid ourselves: something as tedious as getting the printer driver to work right is something I would need to be paid large frogskins to get excited about. Glad someone else beat their head against those details.
The challenge is to relax and admit that there is not a single motive that models "Why folks do code".
While respecting RMS, I can't reach the religious level of devotion to an idea like the GPL without a fully-worked philosophical system showing how he arrives at proprietary software being "unethical". Un-bright, perhaps.
I use software from all three major flavors of license, and they all have their time and place.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
That is the situation where GPL leads us to. Inability for small companies to profit from mplayer code means that only large companies like Microsoft or Apple will be able to sell closed source video players.
Cry me a freakin' river. Your problem is that you're lazy and want someone to hand you a market.
Here's a novel concept: find something and make a plan to get people to want it. When every TV had rabbit ears, someone figured out how to get people to pay to watch it. When water was free, someone found a way to sell it. The difference between those people and you is that they got off their butts and made it happen. They didn't sit at home whining that someone else was already giving something away.
Can't compete with free? That's your problem. Either give people a reason to pay you anyway, or move on to a market that's not already wrapped up. I hear kids are buying video games these days. Could you do something like that, or would that be too much work for you?
Dewey, what part of this looks like authorities should be involved?
To your picture analogy, the BSD license is more like your signature in the bottom right hand corner, and you tell the person you gave the picture to that they can't crop it out, but if they want to use it in a collage and sell it, it's fine with you, so long as your signature stays on it.
The problem with the frame portion of the analogy is that "changing the frame" doesn't substantively change the character of the work, but using code from a BSD project often (usually?) does.
The only freedom the GPL (of any version) restricts, is the ability to remove the freedoms of others.
It's really that simple. It may seem at first that it's restrictive because you can't distribute binary copies, etc.,etc. But that's just guaranteeing my freedom to inspect and modify the program. If I get a binary copy of a BSD program, even if I'm technically allowed to do anything I want to it, my actual freedom is limited because I don't have the source code. This is far less free than the situation with the GPL.
Give me Classic Slashdot or give me death!
Isn't it nice to have the power to define your enemy? Given a sufficiently inaccurate definition, anyone can be reviled. It's called "Straw Man."
Where I would scoff at a piece of code, call it utter garbage, and rewrite the damn thing from scratch, a GPL advocate would probably wrap the garbage in another API that he finds more palatable.
Wow, kicking the article off with an unsupported ad hominem attack. You're really not seeking common ground here, are you?
I'm not going to analyze the whole piece, because this emotional little rant doesn't warrant it. But the ending is just as illuminating:
I will never agree with your philosophy, but at least you'll know you were understood.
"I will never agree with your philosophy" is the sure sign of a zealot. "At least you'll know you were understood" implies that blame for the vitriol between the contemptable jihadists on both sides can be layed entirely at the feet of your enemy.
This is not a religious war except for those who make it one. Don't frame your argument against the least rational or most distasteful (to you) of your enemy's positions. Seek the most rational, most appealing, positions and try to agree with them first. Then frame a discussion around why a rationally self-interested individual would choose each proposition. It will make a more interesting article, not add to the stick-throwing and name-calling, and as a result you will look less like Bill O'Reilly and more like Socrates.
All that said, the fact that you made an attempt at all and were willing to put it out there to be scrutinized at all is commendable.
Stop-Prism.org: Opt Out of Surveillance
If the viral GPL gains sufficient foothold, than there will be NO part of the market that is not considered a commodity, and there will be no place for the vast majority of programmers to make any money, and software will die.
That's ignorant. Something like 95% of programmers are employed to write in-house software for their companies to use, and those jobs are perfectly safe from "the viral GPL". The only people who would stand to lose are the ones writing commodity software in the first place.
Dewey, what part of this looks like authorities should be involved?