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.
Is it...
The GPL sucks?
or
The BSD Sucks?
oh well. emacs still sucks. go vi.
Maybe you like stuff to be open sourced, well not everyone shares your opinion. Sometimes closed source is better for many reasons. GPL is like trying to force your philosophy of open source on everyone. LGPL gives people the liberty to choose if they want to open source or close source what they build on your code.
God spoke to me.
It's not just semantics. GPL-advocates such as myself recognize the value of more permissive licenses such as the BSD license and the LGPL. BSD-advocates often fail to understand why the GPL is so successful.
Freedom is free.
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?
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
Yeah, use GPL you bitches!
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.
While this doesn't concern the BSD license in itself, we can analyze WINE and the spinoff project Cedega.
In the beginnings, Wine was X11 licensed, and it meant the derived code could be closed. And that's what happened with WineX, now called Cedega. While the WineX guys promised they would return the code (specifically the DirectX code), 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.
Now let's analyze the other side of the coin: MySQL. It was designed as LGPL, and it was used in a wide variety of projects. Later, the MySQL guys decided to move from LGPL to GPL, demanding huge amounts of money from anyone who used MySQL for commercial purposes. So people now are switching from MySQL to PostgreSQL - which is BSD licensed.
(now I wish there was some alternative version of the LGPL that forced derivative work to REMAIN in that license so that people could use it in proprietary products - but still giving back any changes to the library itself - so we could avoid bad moves like the MySQL one. Best of both worlds, eh?)
So, what does PostgreSQL do to remain free? It's the complexity. No one in his 5 senses would fork the Postgre code and make it private. The project is mature and complicated enough so that it remains free. (But then again, so is Freebsd, and look at what happened with Apple Mac OS X).
Both the GPL and BSD licenses have their weaknesses - but if I'm starting a new end-user project and want all the community to benefit from it, I'd chose the GPL license without thinking it twice.
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.
Give a little credit to the Apple-worshipers.
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.
Under the GPL, the freedom and the protection largely belongs to the end-user; developers burden themselves in order to try to guarantee this.
Under a BSD license, the freedom largely belongs to the developer.
Really, this is not difficult concept to understand.
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.
According to wikipedia, Wine was MIT licensed, not X11 licensed. Sorry.
But these are just word games, like when Microsoft wants to be known as innovative, or Google want to be known as the opposite of evil. In reality, people and companies still have to read the license terms in detail, and choose what works best for them based on the fine print.
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.
Every person who complains about the GPL is a fscking moron.
Listen, you dumbasses, no one puts a gun to your head forces you to use it. If you don't like the license, don't use the code. Live in your little BSD ghetto and let the GNU'tards live in theirs. Stop the stupid "it's not really free" whining, because it's dishonest semantic bullshit, you know it is so, and yet you keep repeating it ad nauseam anyway. You just want to take without giving back, and it pisses you off that there are legal means to stop you.
I just want to mention a variant of the GPL that is often used and rarely noticed. All those standard header files included when compiling with GCC are Runtime GPL. If you take the point of view that the GPL is viral, you can think of the Runtime GPL as the completely non-viral GPL.
Using some variants of the GPL linking exception, it becomes possible to release code that must stay Free (as in Libre) in derived works without requiring every last bit of the derived work to be Free.
It as close as you can get to a compromise between the BSD and GPL licenses as far as I am aware. The biggest downside is that neither side believes the license to be trustworthy. It is too GPL for the BSD folks, and not GPL enough for the GPL advocates.
Insert self-referential sig here.
I really think the GPL vs. BSD license debate really comes down to the differences in the point of view of who or what is actually "free".
In the case of the GPL, it is the code that is free; it is born free and stays free. And modifications will still keep it free. For BSD, it is the person who obtains the code that is free; the person can more or less do whatever he/she sees fit with the code.
So, I think there is a fundamental philosophical difference of which entity the freedom is assigned to.
As someone said: "people paint for free. People do not tend to clean toilets for free". That's why open source projects often lack the style and visual appeal of closed source - because it's boring to code!
BSD allows us to "paint", leaving closed source firms (Apple?) to "clean the toilet", making the project more appealing to user. With GPL, you have to "clean the toilet" yourself, as software company is not likely to build upon your project (not everything can be sold for "support" - think about game development for example).
Coding etudes
If you had licensed your post with either of the the two licenses, I could have fixed it directly using the Slashdot edit fun...
Never mind!
They should make the Latin translation of GPL and BSD licenses the standard. It's a nice old language that no one really adds words or meanings to. I think that'll fix the gratis/libre issue. If it worked for the Catholic Church, it should work for the rms...
That sounds remarkably similar to the argument the RIAA uses to go after file sharers. Not that there's anything wrong with that.
BSD is like free goods. GPL is like free trade. Like aid to a foreign nation, the BSD code is open to those who need it most has few strings attached. We write BSD code because we want people to be free to take what we have done and do anything with it.
GPL and LGPL are like differently-scoped free trade agreements between organisations. You can take my code but you can't release your changes without also making them available back to me.
I see greater certainty in the GPL/LGPL model: A company can invest in a GPL project knowing that although its contribution may benefits its competitors, its competitor's contributions are also a general benefit. I contribute to a project that reduces my cost base but does not produce what I would consider a strategic advantage over my competitors. My competitors may view the project in a similar light.
I know I am going to suffer up-front costs associated with contributing, however I am likely starting from a better base point than if I had re-implemented the project from scratch on my own. I also have the tantalising prospect of not having to pay maintenance costs over the lifetime of the project. If there is enough critical mass these costs will be spread thinly between contributors, or concentrated in a few individuals that hopefully work for someone else ;)
As we each contribute we achieve a better outcome for our customers, and are able to concentrate more of our efforts on points of difference than in re-inventing point of similarity between organisations.
I see BSD as closed-source friendly and "freer". However, I see GPL as genuinely more business-friendly.
Benjamin.
That's a nice theory, but since Apple sells a product, they can always pay programmers to make up the difference. It's hard to measure "goodness" but I don't think there's any reason to believe that Linux is getting better any faster than OSX.
I genuinely want to know.
I find the GPL intriguing, but I cannot ignore how it alienates every aspect of the software business model. GPL advocates always state how "free" stands for "Free as in Freedom, not Beer", but let's analyze a situation where a company decides that they want to charge for their software product (source included of course). Company X has produced a cool program that builds on some existing GPL code. They decide to charge $150 for the program and source. Because it is GPL, anyone can take that source code, change it however they want, and then give it away for free (as in beer). So how is company X, who put in a ton of time and resources, ever going to expect to sell their software when a near exact derivative is available for free?
This brings GPL advocates to state "there are other ways to make money" - namely selling support. I'm sorry, but going from a mega multi-billion dollar industry to a service-based industry is daunting to say the least. Why would anyone ever want to become a software developer is such a world? Sure, there is lots of code to look at, but no one to pay you for your time.
In the BSD license, Company X could opt to close the source on part or all of the code, thus retaining the ability to effectively sell it. Alternatively, they could release the source code under a different license, which would not allow derivative works to be given away (or something of the sort). This is much more appealing to capitalists.
The GPL has done a good job at fighting back against Microsoft, and some of the other monopolists, but I sincerely believe that if it continues as rigidly as it is, one of two things will happen - either it will eventually lose momentum because businesses aren't willing to forfeit their income to the GPL, or, it will take over and software will become stagnant because there won't be anyone to pay developers for their work.
This version of the lemonade metaphor more accurately describes the intent of a GPL'd lemon. "I have a lemon tree. I'll give you lemons if you tell me and all your customers how to make lemonade."
There's an impedance mismatch between physical property and so-called "intellectual property." As such, this and any other metaphor can easily be abused. And frequently are.
I'm glad that we have a choice of licenses.
Let a hundred legal flowers bloom.
But in my prayerful moments I thank the Tao of Programming that gcc and gdb exist, and are GPL'ed. Thank you RMS.
Those of you who were not programmers before gcc became the lingua franca perhaps do not recognize how these two tools have revolutionized computer engineering. Code used to be negligibly portable. Adequate development tooling was once scarce, buggy, and expensive, even for popular platforms such as the PDP-11 and Data General minis.
Wait a minute. Didn't I say that on the other side of the record? I'd better check
It all ends up like this:
All logical debate aside, it is purely personal preference.
Without starting another round, I merely prefer GPL myself. I compare it to the wine vs cedega examples personally. In an interesting philosophy if someone were to be able to combine GPL and BSD into a license, I think we'd be in good shape.
This in fact reminds me exactly of how Israeli Kibbutzes worked as a physical example. First it was "everything is shared, period- 100% communal" but people still wanted ownership of things for themselves, so they'd allow things to be "bought" from the Kibbutz at a price enough to replace said item within the Kibbutz for sharing. As noted, there still isn't an exact solution - everyone has a preference on one side of the scale or another.
Anyone have ideas how having a shared community system where things can still be purchased for the individual would work with both BSD and GPL simultaneously?
GPL v2 doesn't say anything about use. Its all about distribution of the program. You can use it however you want ( See Tivo), you just can't distribute it with out also distributing the source. You might argue that distribution is a use, I would argue, however that use is far too broad a term to apply to the restrictions of the license.
Well.. maybe. Or Maybe not. But Definitely not sort of.
Platonic idealism strikes again.
The code is the closest think to an actual object, because it's what was actually created, while the project is just an abstracted idea of what the code is.
I don't see how anyone can be comfortable claiming to own the concept of something they don't even control, but that's exactly what the BSD license is about.
The world would be so much better if people stopped trying to own ideas.
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
.. it seems to me that someone who releases their code under BSD is not interested where it will end up, whereas someone who releases it under GPL cares. And it does not have necessarily anything to do with being anti-business or communist.
:-)
I for instance have nothing against business as a concept in general as long as they behave ethically. And as ethical behavior I consider allowing every one to see a program and use it as they like, including selling it. My justification for that is that a program - even one written from scratch - is always based on the efforts of previous computer scientists and therefore it is unethical to deny one access to that. It would be, for me, like taking advantage of all the physics research which is property of mankind and discovering a new law and telling no one. I have nothing against making money out of it but i consider it unethical to keep the details secret.
So, to come back to the argument, I consider that BSD does not promote computer science, because it doesn't guarantee that computer science benefits from progresses made in it and on top of previous efforts, while GPL does. There is no linguistic misunderstanding here
Frankly, it's arrogant to say that one license is truly free, and another is not, when they both allow you to share your code with the public.
I don't know why people have to choose one or the other. I use the MIT license for core components so people who like the BSD license can use my code just like the GPL people. My actual projects use GPL. Anyone can use a template engine, but the actual templates will be a bit more specific to that actual project, so contributions to the code will probably have more impact on the actual product itself.
That's why I like lesser licenses. You can always upgrade them later. Pardon my language, but GPL people tend to be a bit bitchy about freedom. I grew up on the Amiga, and everything was public domain back then. It didn't stifle the community one bit -- certainly not as much as Commodore did for their own computers. It took a long, long time for the concept of open source to make its way into other computer markets, even for other 80's computers where everything was new, and enthusiastic, budding hackers were everywhere.
Really, the only reason I use the GPL at all is so I can get other people to help me out. Lots of people won't even touch a project licensed under MIT, no matter how cool it is, so finding contributors is very difficult. People just don't want to let go of code for free, even though they are perfectly capable of releasing it under the GPL later.
I've found that people who argue against MIT are similar to those who argue against open source in general. They don't want to make it [b]that[/b] open, or else they might lose control. Well, gee... concerning a core code base or tool, that might very well happen, but if a whole project gets forked and then starts to overtake the original project, I'd say there's something fundamentally wrong with the design and implementation of the original project, and not with the license. I don't think a well designed project should use a single monolithic license for everything.
Again, I see people not certain about "free" so I will again try to clarify the differences I understand in the licenses. The BSD license grants you (the recipient) the ability to do what ever you want with what you get. The GPL licenses ensures that others will be granted the same rights as you (modify, redistribute, etc) Which is more "free" is up to you. A paradox is reached for the lack of well defined terms. For Example, Lets say we live in a free society, if that means we are able to do whatever-the-fuck-we-want then I could kill you, but, that would have taken away your freedom (which is "bad"). But if the law prevents me from killing you, then my freedom is taken away because I can't do what I want (which is "bad"). As there is no real solution to this, we humans attempt to draw the line based upon our own experience and beliefs. The GPL errs to one side and the BSD to the other.
The question isn't "which is the better philosophy". Both licenses are simply tools. Choose which one works for you. Some programmers like what the GPL does for them, some prefer BSD.
Some BSD advocates like to claim the BSD license attracts better programmers.
Some GPL advocates like to claim the GPL license attracts more programmers.
The entirety of Mr. Chemisor's post is flamebait and can be safely ignored.
BSD is like a fruit with a seed that the animal can choose to chew and destroy. However, it is a magical fruit that ALSO remains on the tree even as it is plucked, so was anything really taken?
This issue is a bit more complicated than you think.
That's it... /. is over. Here we have a car analogy in a flame war about software licenses which mentions Apple, Microsoft and media players.
Now what is there to live for?
I don't therefore I'm not.
If you are getting paid to do it, it is not open source. ...did you read OP? He said, specifically: "If I am paid to do open source"
Which kind of implies that's already been sorted.
Your post is basically re-stating what he said, badly.
Try thinking in terms of a library. You write a library, then someone else uses it in their own project, and in the process fixes a bug. They don't bother sending the fix back to you, and you later run into the same bug. Is that fair?
You might argue that library is a gift, and the giftee has no obligation to use the gift to the giver's benefit. That makes perfect sense if the gift is from one person to another person -- the spirit of giving and all.
A GPLer however would say that the library is a gift to the commons. If one walls off that part of the commons for one's own private use, then one steals from us all. You may participate in the commons or not, but if you participate then you must treat the commons as the commons, and not as your private property.
This is a good journal entry, and has some interesting points. Unfortunately, there's obvious bias towards the BSD license throughout it, which detracts from its impact.
I really like the code/project distinction. I think Chemisor has made a good insight here. BSD license advocates are certainly more protective of their project than they are of their code. This is obvious, because they don't mind if their code is used in closed source projects.
But, and this is the major fault with Chemisor's analysis, GPL advocates are not necessarily vice versa. GPL coders can care as much about their project, as the code they write. In fact, I believe the level of importance would more often be equal than different. Any coder would have to be passionate about the project, if they create or contribute open code, no matter what license they put it under.
No license is right or wrong, they are just different. The license reflects the philosophy of the coder, and that is all. We can all agree that code "belongs" to the coder, so it is their choice in how they open it to everyone, if they want to do so.
Personally, I'm glad that any coder opens up their code, no matter what license they choose. It has certainly helped me with my understanding of computing.
---
ducks and covers.
What? So you are saying that GPL advocates are worst coders than their BSD counterpart? How can a license choice make a coder choose bad code and write a wrapper around it just for the sake of re-using that bad code? There might be bad coder doing that weird thing whatever the license used for the code.
Nice try, but your opinion about the whole subject has no value, to me.
Well, that's just what makes me... weary of GPL. Actually, no, of GPL zealots, starting with RMS himself. The semantics games, redefining words, and bullshit propaganda wording.
Note that I'm not against the GPL as a contract. You want my code, I set a price for it. Lemme see you give something back if you want it. Perfectly fair. No arguments there.
What I'm getting sick of is the whole "freedom of speech" and "free as in speech" bullshit. Because, like any such abuse of buzzwords like "freedom", "free speech", "democracy", etc, just to mobilize the masses, it devalues the real human freedoms and ideals that those words were supposed to mean.
"Freedom of speech" just means the government will not send you to Siberia for saying something. (Political.) You can say "Bush is a retard" and Bush can't send the secret police to silence you. Or that's how it was supposed to work. In terms of code, if you see the code as speech (which seems reasonable), it means that you can write that code and publish it, and the secret police won't hunt you down for it. That's it. That's "freedom of speech".
It's also worth pointing out that the first amendment was about your relation with the government. It's even spelled out clearly. You know, what with those guys having just had to take up arms against good ol' Mad George to make their point. But that's it. It says that the government can't forbid you to say something. It does not say that someone else has to carry your speech, or help you spread it, or contribute to it, or anything. Applied to code, it just means the government won't try to stop it. It doesn't mean and wasn't supposed to mean that you can make a corporation do anything for your speech or your code. The related concept of "freedom of press" applies to whoever owns the press, btw.
Bullshit speeches about immoral corporations stealing your code from you and locking it away from you, are equally bullshit. Once you've published that code, and assuming it doesn't infringe on anyone else's IP, nobody can take it away and make it disappear. It can stay there for ever on some FTP server with your name on it. And it's trivial to prove that you published it first, should some copyright or patent troll try to use that to steal your code. But at any rate, even the GPL doesn't prevent that: if someone were to claim that you copied his copyrighted code and slapped a GPL on it, you're back to square one, they have to prove that your code contains a substantial amount of code they wrote first.
What SCO tried to do, that's basically that kind of theft. They tried to claim that a bunch of code in Linux is really theirs. The GPL did jack squat to prevent that. With any kind of license whatsoever, from closed source to BSD to a freeware "just take it and do whatever you wish with it" license, the same would have happened: SCO could still sue just as well, and they'd still have to show a judge the lines of code they claim ownership to.
What someone might do is use it without contributing something back. You know, as in really free. All the GPL does is put some conditions on it. You know, as in _less_ free.
Again, I'm not against the principle. You can ask for whatever you wish in exchange for your product, and the market should decide whether they want to pay the price. You want code in return for your code? Fine. Seems fair enough.
I'm just saying let's just have an _honest_ discussion for a change. Drop the bullshit "freedom of speech" slogans. Present your license as what it really is.
A polar bear is a cartesian bear after a coordinate transform.
The BSD is almost true freedom for (wo)man to choose what they will do. One can opt to place a more restrictive license - as a human you have more freedom to choose a choice of action under BSD than GPL.
The True Freedom is public domain, where the taker can claim they are the author of the new work (see commentary of Disney and 'their stories' as an example.) True Freedom is the freedom to be an antisocial ass. Or to contribute in a sharing, positive way - whatever floats ya boat. (I'd insert something about the freedom to choose ones path being biblical or being like God allowing the choice of following Satan but I'm sure the person who wrote 8000+ words to compare BSD to GPL on slashdot already did that.)
And isn't maximizing being human the most important thing in todays de-humanizing electronic world?
You can have GPL Healthcare for free, with certain conditions; You can't smoke, you can't be fat, you can't be too old. Oh, and you can't buy your own healthcare because all the doctors can only provide GPL healthcare.
The article points out an apparent inconsistency between disgust with copyright and use of copyright for GPL.
The disgust is not so much with copyright as a concept, but that copyright has been horribly misused. We don't like how the rules have been warped, but we will happily turn those same rules to benefit the commons that has otherwise been all but abandoned.
Basically, if you want to play with us then you have to play fair.
I think the market of selling software just can't survive. Once you accept that, its natural to use the GPL license and let the free code profit to everyone on the long term.
You want to sell software for a living? You can, but it get cracked in hours, distributed easily and efficiently with bittorrent, or much better: a free alternative exists. From all the listed things I don't think any will ever disapear, just the contrary in fact.
By the time you lose energy fighting against software crackers, commercial or free alternatives, the free alternatives will get solid and featureful enough to be used instead of your commercial product.
As far as I'm concerned the author totally misses the point with the GPL.
I don't care about "my code being free" the way he expresses it. What I care about is to create a level playing field between free and proprietary software and nurture the existence and proliferation of free software. With BSD-style licenses the proprietary software developers always have an upper hand in the race for consumer mindshare and userbase since they can take any BSD code but doesn't need to (and most often doesn't) contribute anything back. They can always stand on our shoulders but we can't stand on theirs so they will always be a head higher.
For free software to proliferate, which is a personal goal for me for many good reasons (freedom to tinker, freedom and savings for enduser, privacy protection, establishing of standards, sharing of wealth, better for developing nations, faster inovation etc) we need a bigger userbase which currently is occupied by proprietary software.
We will not achieve that by remaining upstream providers for proprietary projects, which BSD-licensed projects often become.
The BSD-licenses have their place in certain projects where it is more important to advance the technical field for both proprietary and free software than advancing the marketshare of free software.
Without marketshare we are always bound to play catch-up with standards, hardware support etc. and as a community remain marginalized. The GPL, with it's restrictions against inclusion in closed projects, helps us to gain marketshare.
Most(?) people completely miss the point. The main motivation behind both GPL and BSD licenses is to avoid paying tax.
For example, SW Company develops a useful program. SW Company donates said program to a charity controlled by said SW Company, and write itself a tax receipt for umpteen gazillion dollars. SW Company can now avoid paying tax for umpteen years.
When something doesn't make sense, follow the money.
Excuse me, but please get off my Pennisetum Clandestinum, eh!
Bullshit.
Apple is working to eliminate GPL'd code from their system. For example they are using the BSD Licensed LLVM and clang projects, funding them actually, to replace - eventually - the GCC compiler currently used in MacOSX. Now they currently say that they don't plan on replacing the GCC totally but you gotta know it hurts BSD OS projects to have to build their binaries with GCC; in fact it stinks. Yeah for LLMV! Corporate sponsors are putting the code back much to the disdain of the GNU ilk who think that they are only ones who contribute code back since THEY ARE FORCED TO BY AGREEMENT. BSD folk don't have to yet they do out of their own interest and good will, no FORCE needed.
Apache is another example of a project with BSD like license with code being contributed back successfully.
Apple can and will avoid icky linux GNU crapy code.
This seems to be just an issue of whether you want Microsoft to be able to use your code. I for one, could care less, so I use BSD. I am happy if some other person or organization takes my code and utilizes it in their product. I have not a care in the world that it may be a closed-source project.
Also, if someone forks my project and does a better job than me -- wonderful, I can go and work on something else.
I want others to use my project and I don't care what they do with it or who they are. If they can take it and make something that is useful to someone else, I'm satisfied.
I would never restrict other developers by releasing my code with the GPL. However, if they want to incorporate it into their GPL project, so be it.
In no way do I want to restrict other's use of my code. I don't think it gets any more free than that.
p.s. If someone becomes a billionaire by releasing a closed-source version of my code, I'm fine with that too.Now, this is a small sample size (7 developers I know), but potentially interesting for fuelling futile discussions:
100% (4 of 4) of those releasing the code they have been paid for to develop (company's decision) do it under BSD.
100% (3 of 3) of those releasing the code they did on their own time (while getting paid to flip burgers or do database consulting) do it under GPL.
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.)
But I won't code for free. That's the real difference.
I'm happy to let you use things I've written, but if you're not willing to reciprocate with what you do with it, you'll need to cut me a cheque.
I think both licenses are great and I use them differently depending on what my commitment is to the code over time. If I have a long term interest in a project were I am happy to maintain it for a while I go with either LGPL or GPL. If I have no interest in the code (one of hacks etc) I just put it under the BSD license and let it float away into the ether that is the internet.
Licences are for suits and suits just get in the way.
cb
=== GPL ===
GPL folk are interested in having the source code always be open primarily for the end users (or developers downstream) and as such place restrictions upon what developers using the code can do with the code.
GPLer folk want freedom for their code above all other costs or considerations INCLUDING OVER the considerations for potential developers for which they care not.
=== BSD ===
BSD folk are really interested in FREEDOM FOR THE DEVELOPER.
BSD folk are interested primarily in providing DEVELOPERS with MAXIMUM FLEXIBILITY and FREEDOM OF CHOICE in how they use the code.
=== TWO MEANINGS OF FREEDOM ===
Two entirely different notions of what constitutes freedom and thus the confusion when discussing "freedom".
This difference and dispute over "freedom" goes back to Richard Stallman's unfortunate choice of meaning for the words "free" and "freedom" that is use to propagandize GPL/GNU code.
The words free and freedom has many potential meanings as this link demonstrates, get used to it:
http://www.google.com/search?q=define%3Afree
http://www.google.com/search?q=define%3Afreedom
=== CHOOSE FREEDOM FOR HUMAN DEVELOERS ===
I choose freedom for DEVELOPERS since we are sentient human beings while code isn't!
If you write code under BSD license, you probably get your funding from somewhere else: academic grants, state grants etc. As such, your income is somewhat coverred, therefore you don't care if others make money off the project while you dont.
GPL is the opposite= you do it for free. And you do mind if others make money off your work while you don't. That's why most succesfull GPL projects are dual licensed.
-Alex
http://revj.sourceforge.net
A BSD advocate ranting on GPL ... news at eleven.
Does this really help in discussions of GPL vs. BSD?
"""
The argument is that GPL adherents desire the freedom of their code, while those on the BSD side want freedom for their projects.
"""
This is where I stopped reading because it's wrong. The GPL is about freedom for the user (i.e. RMS' definition of free NOT the dictionary definition). It has nothing to do with freedom for the code or any such thing. BSD is about freedom as an absolute (dictionary definition).
Btw, BSD code always stays free in the same sense as GPL code (given the dictionary definition). As in, as long as someone has the code it will always remain BSD similar to the GPL (even GPL code can go away if the file ceases to exist/CVS taken down/etc). That's how licenses work no matter how much RMS says that they don't.
The actual difference is that RMS' ideology is shoved down others throats with the GPL whereas the BSD gives others actual freedom. I personally like actual freedom and abhor people trying to shove things down my throat which is why I choose the BSD.
That being said, it all depends on ones goals. For instance, IBM (among others) give tonnes of stuff to Linux. It would be naive to think that this is selfless. What they are doing is promoting there hardware, which is what they sell, by way of giving software away. In the long run, it's going to be cheaper to pay a few people to get Linux to run on the Cell, create libraries that give easy access to the SPEs, so that Scientists/hobbyists can run stuff on the Cell than to market it in a traditional way.
On the other side of the fence are companies like Redhat/etc (newlib - non-linux targets) and Insomniac Games (Nocturnal Initiative) that have BSD/MIT licenses. Because, they are in it for the betterment of all. Not just people that think like they do. Not to sell any products.
The flame wars are all about not recognising the above and attempting to get people to believe the way "you" do. Kinda like the crusades. Because, of course "you're" right, right? Because, "you're" infallible, right? They way the truth and the light, right?
The main benefit of the GPL over the BSD license is that it requires improvements in software to be given back to the community. I think that a hybrid model that allows for commercial exploitation might have a better chance, basically a BSD style license with time limits on proprietary releases. After 5 or 10 years, any software modified under the license would revert to the original license, allowing improvements back into the free software community. It's just an end run around the insane copyright terms that are the norm now.
Probably the ideal situation would be a dual license under both the GPL and the time limited BSD style license so that after the time period has expired for proprietary incorporation of the software, the modifications are relicensed under the dual license, so that neither the GPL or BSD camps would ever lose any code. An obvious practical benefit is that GPL and BSD projects could begin sharing their code under the dual license as well.
Such a dual license would improve developers' freedom to use free software, and end users would eventually obtain full rights to any proprietary modifications made by the developers. Terms could also be included that would automatically terminate the proprietary license if the availability of support or patches was removed, or if the company went bankrupt.
Would anyone argue Microsoft are obligated to let others use their code outside the company? They don't even let others see it.
I think of the GPL community like a company. It has company assets. The difference is, anyone can join as long as they fulfill all their requirements.
You want my hobby code, you pay me. I accept cash, cheque, and free software as methods of payment.
Seriously, Trolltech FTW.
That said, I use different licenses in my different projects, generally not because my hand is forced but because of my intent. Cool library I want to become standard? BSD. hard work I don't want getting ripped off? GPL.
The whole "linguistic" discussion (free, viral, stays free, whatever) is missing the point. You shouldn't choose license from which has the best sound-bites, but from which best supports your goals. Here is a seven year old article about how to choose a free software license that should be much more useful. The specific choice of licenses may have changed, but the reasoning hasn't.
Exactly! GPL doesn't require you "to give back" anything. This is an illusion. GPL requires you to free of charge (except for reasonable handling cost) give the receiver of the derived work the source code. If it pleases the receiver to put it in his safebox and never use it, nobody else has any claims to it. How is that helping the original project?
This is in contrast to all the misguided rubbish along the lines "If I write some software, I want to get my code back, if somebody build upon it!" Well, I take your code, make some changes, sell the derived work to a company for $10^12. I am sorry, but you cannot have it back! You can write the company and ask them to claim the source code and give you a copy, but if they don't have to. They can say: "We payed a bazillion bucks for this derived work, and we think it will hurt our stand in the marked to have this code out in the wild", and it is perfectly in order with GPL.
If you want the give-back part, you must use a license like the one Sun is using, and it is not kosher as a FOSS license.
:-) = I am happy
:^) = I am happy with my big nose
C:\> = I am happy with my OS
I'm currently working on a commercial project and we're *thinking* of incorporating a GPL data charting component (I won't elaborate for non-disclosure reasons). If we create a wrapper for it and modify the original code to fix some bugs and/or integrate better with our system, do we then need to make ALL our code GPL? This would suck hard given that our project is currently measured in millions of LOC. I don't understand why we can't just slap in the Help->About: "We based some of this code from , thanks for that."
I can't see why the GPL and similar licenses can't just be "we don't claim ownership of this code, kudos to <author>."
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
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.
Maybe people choose a license for these reasons but they shouldn't. Just like IP law in general the best license is the one that leads to the most benefit.
In some cases the GPL will likely be the better choice as it may encourage more derivative works to be released and thus greater overall efficiency via reduced duplication. Indeed, it's hard to believe that as many corporate contributions to open source would have occurred if all the gnu utilities had been BSD licensed.
On the other hand BSD derived works, by allowing inclusion in more projects, can reduce unnecessary duplication of code. There is plenty of BSD licensed utility code out there that has saved huge numbers of man hours through it's inclusion in projects with GPL incompatible licensees that would have simply been rewritten to avoid the GPL in each case in which it was used. Moreover, in some cases the BSD license attracts corporate support that otherwise might not have existed.
Intellectual Property is merely a legal fiction adopted to encourage technological advancement and idea reuse (patents require disclosure for a reason). Especially when writing open source we should understand this and choose licensces based on long term social benefit not inappropriate emotional responses based on bad analogies with physical property ('stealing' code etc..)
In particular we should understand that we all benefit when it costs less for companies to develop programs. Every man hour spent duplicating code that has already been written elsewhere is an hour that wasn't used writing other code or otherwise improving society. Choosing not to let companies use your code just because you don't like the idea of someone making money off your work is the moral equivalent of refusing to be an organ donor because you don't like the idea of someone else using your liver without paying. There is no justification for making someone else do more work with no benefit to anyone. However, on the other side it's no better to release code in an overly permissive fashion when a more restrictive license would yield greater benefit in the long run by encouraging sharing.
Which sort of license will be the most beneficial in which situation is what we should be arguing about not this sort of thing.
I personally think that one of the worst things GNU did was disfavoring the LGPL license since this provided a useful middle ground that yielded the best results in some cases.
If you liked this thought maybe you would find my blog nice too:
Well, not really, but he uses non-copyleft free software licenses when he believe they best serve the cause of free software.
For example, the compression code from gzip was separated out in the zlib library, and made available under such a permissive license, because it was deemed more important to remove dependency on software patents (which affected the compress and gif file formats) than on non-free software.
So the license "hate" between BSDL and GPL is mostly one way only, from BSD-fanatics. If you want to be loved by everyone, go with BSDL. Even Microsoft will love you.
> Wot? You make money and I can't?
Most programmers don't care about "making money" directly from their software. They program to solve a problem, because they are paid for solving problems. Most of them aren't even professional programmers, but engineers, scientists, or something similar.
If they use some software that, with a small improvement, could be even more useful for solving problems, it makes sense to submit the improvement to whoever owns the software, so the improvement will be part of the next version. No matter what the license is.
Ohh and I want to add that this is a horrible way to argue about anything.
We know damn well what both the BSD and GPL licensces allow and don't allow. When we fight about whether the BSD leaves the code under the owner's control or if BSD code is free as in beer or as in speech (horrible analogy, free speech is a protection from governmental restraint) we aren't actually arguing over any facts. Both sides are just trying to grab ahold of appealing rhetoric not make a substantial point.
I mean it's just like the argument over whether a virus is alive. There is no fact at issue just a deciscion about how to use language. Just ignore these stupid issues and define your own terms if you want to communicate.
If you liked this thought maybe you would find my blog nice too:
If you like the BSD License you accept that not all software has to be BSDL'ed, so the GPL shouldn't be a problem for you, since its just another non-BSD license.
If you like the GPL on the other side you are free to incooperate BSDL code into your GPLed application and you should simply welcome the additional free code out there.
No need to fight, everybody should be happy with the way it is.
A futher distinction to make would be projects that adhere to the stricter GNU guidelines that require signature to transfer rights to a (certain) foundation, and the projects that merely adopt GPL.
I say this because I saw this formalism often hinder minor contributions in the GNU case, and the impossibility to adopt GPL codebases by GNU where the ownership is not 100% clear and put on paper.
I would agree, but I would refocus just a touch.
- BSD ensures that the *next* recipient of the code may do what they want. ...conversely...
- GPL ensures that *every* recipient of the code may do what they want.
- BSD ensures that the *publisher* of the code can take received contributions to the code and make them part of a private domain if he chooses.
- GPL ensures that each *contributor* to the code can ensure that the publisher cannot incorporate his contribution into a private domain.
I would say that BSD code is far less encumbered than GPL code. The BSD license is effectively a release to the public domain. Given that you have to leave the copyright in place but you don't ever have to give out the code, makes the provisions of the BSD as toothless as a declaration of abandonment for downstream use. The BSD does however require symmetric abandonment by contributors moving patches upstream.
In contrast the GPL requires democratic fairness of all parties. Fair isn't Free, just as "freedom isn't without cost".
Consider:
1) guy makes skeleton of project under license X
2) guy collects contributions to project under license X
3) guy takes skeleton, contributions, and additional code F and produces a binary for sale.
if X == BSD guy is capable of charging contributors to use their own contributions to his product (3) unless they can deduce all contributions from 1+Sigma(2)+F [framework plus all contributors from step 2 plus code F]. Similarly all derivations of the new (3) state can be kept secret from contributors(2) etc.
if X == GPL then the distribution of project(3) is now accompanied by the source. The guy _could_ charge at least one contributor for their work, but that contributor, having protection under the Fairness doctrine is now able to re-level the system at state (3), possibly making guy irrelevant if he was dealing unfairly.
So...
BSD -> more free, because anybody can grab from the pot with no duty to fair exchange or fair dealing no matter what the subsequent circumstances.
GPL -> less free, because anybody can grab from the pot but if they want return to the audience with the results, they have to go _public_ with them.
so really
GPL => I care about the future of this no matter where it goes.
BSD => I don't care about what happens to this once it's outside of my immediate control.
or even more snarky...
GPL => I care about this work as its own, permanently public thing, and I like to have my name on it, permanently and publicly.
BSD => I care about this work as a public thing, but only when I can see the light shining on it and back up onto me, and I can live with only imagining my work hidden in all sorts of places.
Really the people who are passionate about one license and who think the other has no role, are generally one or the other sort of egoist.
Funny thing is, lots of people put something out BSD, then discover it's in some very valuable product, and only _then_ go "hay! where is my cash, or at least my applause? They _stole_ my work!" and then suffer in their misery. The GPL guys can pry their applause back out of the "offending" company.
It's just a happy accident, or perhaps a diabolical plot, that when the GPL guys get to pry into the company for "not playing fair" a whole bunch of other stuff comes out in the wash as well. Like bad DRM and cheap tricks used to rip people off by forcing them to pay $20 for $2 worth of stuff. etc.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
If someone directly copies and pastes some code into their closed-source application, and distributes that, I don't care about the "derived" work. The original code is no longer free to be modified in that situation. If you were to come across it in the wild, you would not be free to modify it. You would be free to modify the original, by itself, but that's useless if you want to do so in order to change what happens within the closed work. Not touching someone else's code at all, just touching your own original code. But in this case you can't do it because someone has said "No. You can't change your code when it's here."
I suppose the difference might be that you're considering every time someone types "cp" to be a wholly new work, no matter how little of it has changed. Where do you draw the line between "code" and "project"? A useful function? A library? a shared library?
-- 'The' Lord and Master Bitman On High, Master Of All
Dumb n00b. My points do not "appear" obvious and right, they are.
As to "failing" to understand why the other party is so stupid, speak for yourself, wimp. I fully understand why they are so stupid - they are stupid, because they disagree with me!
Morans and poopheads.
THIS! I thought I was alone in thinking GNU software was a sluggish bloated mess compared to BSD. If I weren't concerned about what would happen if I ripped out the GNU underpinnings (coreutils etc.) from my Debian installation I prolly would replace more of it with BSD code.
-uso.
What you hear in the ear, preach from the rooftop Matthew 10.27b
Oh sure, everyone's eager to contribute, that's why nobody ever complains about the GPL's rules or looks for loopholes. FSF certainly didn't need to resort to a lawyer to get NeXT to release the ObjC frontend. And nobody would even consider yet another proprietary Apache fork, wasted work which will never see the light of day.
Oh come on, guys. It's really easy:
* The BSD licence(s) ensure the freedom of the developer, particularly the downstream developer and including the freedom to take the code proprietary.
* The GPL ensures the freedom of the user.
Neither licence is wrong or right; they're different tools. I have made my choice for my own projects by thinking about whose freedom is more important to me, and I know others have thought about the same thing, come to a different conclusion, and made different licencing choices.
And both my choice and their choice is perfectly fine.
(And note that I did not say WHAT I chose.)
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.
Cisco for instance is making a push to use a FreeBSD derivate in all of its consumer products--displacing in some cases existing linux based hardware.
The people lose. They could have had control over their own hardware. They could have had the ability to share fixes that the vendor doesn't care to bother with. They could have had the ability to opt out of vendor-desired crap.
Gee, thanks BSD crowd... :-(
The first major one is:
Duh!
We've kept saying that. GPL protects the USER from being restricted. BSD protects the RECEIVING PROGRAMMER from being restricted (though there are still restrictions such as keeping copyright and disavowal for damages et al with the BSD).
Second is right at the end:
"The GPL ensures your code will never be used by a closed-source application."
is wrong. Or at least worded in such a way as to be pejorative.
"The GPL ensures your code will never be less free than it is now."
When copyright expires, GPL code will be usable in closed source applications. If your code is de minimis or not expressive, it will be usable in closed source applications.
The GPL and BSD are equally good for the business that uses the code.
(as an aside, Chemistor has it wrong: the major reason for talking past each other is the overloading of "USER". BSDers think of the user as the one using the code to make their own code, GPLers think of the user as the end user, using the program to achieve a task)
BSD is better for the company that wants their developers to use the code in their own work than the GPL.
Exactly. These licenses are about society, not code per se. Developers make applications to give people power -- either in exchange for monetary gain, or simply for the good of empowering people. While anyone tries to explain their motivations in terms of code, they will never get it.
Personally, I tend towards the BSD style. Compare the two styles to pieces of wood. BSD gives you a piece of wood and says, "here you go, build what you like". GPL (seems to me) says "here you go, build whatever you like but bear in mind that anything you build from it, must be replicable by other people".
Nowhere does it say that BSD code MUST be hidden away in a proprietary binary. There is still plenty of wood out there anyway. We all get the same chances. It's what you make from those chances that make the difference between success and failure. I might take a piece of BSD licenced code, create a closed source program, then when it's finished and working exactly the way it should, I could then release that code as BSD, GPL, whatever. If I can make a bit of cash along the way, by delaying the release a while, then fair play to me. I'm not preventing anyone from doing what I did, and anyone who really wants to can probably figure it out anyway. Philanthropy dictates the release of the source.
As for duplication of effort - this is how evolution has done it for all time.
So in essence it does come down to a project versus code based approach.
If you discovered the answer to unlimited free energy, would you expect to be better off for knowing it ? Would you just let the government and/or large corporations take it and ruin it ? After all, you would be no worse off, but with (hopefully) lower energy bills. Personally, I would say FTW, I should be rewarded for such a life changing addition to humanities existence. After all, there are many rich bastards out there who made their money building guns and bombs, why should I wear a hair shirt for ending one of the biggest problems we face. I don't want much, £10M would do.
I realise that that was hyperbole, but only to try and illustrate my opinion. BSD does not mean forever, and provides more incentive to innovate. If it was all that bad, there wouldn't be any BSD code available in the first place.
BSD = Do what you want.
GPL = Do what you want, but...
TdR: YOU CAN'T GPL MY CODE!!!! If you do, how can I use that code in my OpenBSD? What? You want to hide the code instead? Go ahead, my friend!!! No worries, I don't have to put your code in my OpenBSD as long as I can't see your code.
PS:
BSD nice for people who are developers recieving the source code
GPL nice for people who are recieving the binary
>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.
That's entirely wrong. It's not the code that comes first, it's the people. Code doesn't have to be free! Code doesn't life, code doesn't have feelings... in short code doesn't care to be free or not. It's the people who uses the software who should be free. With the GPL i can ensure that every person who uses software i have written is free. With a non-copyleft license i can't ensure it.
That's for me the big difference: People who uses copyleft licenses want that everyone who uses their code has the same freedom. People who uses non-copyleft code want that the code get spread as much as possible and that the code is as free as possibel ("do with it what you want even if it means that the people who come after you have less freedom")
Both concepts are OK, because wether you do it with a copyleft license or with a non-copyleft license you do always free software and that's good. I as a copyleft advocate see also benefits in using non-copyleft licenses. There are situation where spreading is more important than everyones software freedom by using this particular code. E.g. if you want to make Open Standards popular like Ogg Vorbis or ODF. Than i think it is more important that everyone can use the reference implementation in his products than that every user of a product with this reference implementation has software freedom.
Support Free Software! Join FSFE's Fellowship: http://fellowship.fsfe.org
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
The original authors of any Apache fork are well within the license to make use of the Apache code as they see fit. It's NOT up to YOU who decides, it's the owners of the Apache code who decided. If you don't like it that's fine. I don't like the decisions of many authors who release under GPL but there isn't anything I can do about it other than simply use their shit. I certainly won't develop it further since I'm FORCED then to release it if I want to distribute it. I most certainly NEVER CONSIDER any GPL'd code for commercial projects for clients if any of the code will be modified in anyway other than trivially. Certainly I'd never consider using an GPL licensed module. Maybe a LGPL but it would have to be the kick ass module and then it's likely to be a second choice to any BSD licensed code even if that's not as kick ass. Freedom for me the developer is more important to me than freedom of the code. The code is already FREE - both BSD and GPL - what really matters to me is MY FREEDOM TO CHOOSE LATER ON whether or not I release code. With BSD I have that choice at anytime. With GPL'd code I have to choose up front and can't choose later without tossing away my code changes which might have cost me a lot of time and money to develop.
It's not for you to decide if others work is wasted, that's for them to decide. You've overstepped your boundaries you socialistic communist.
Because a license saying that is called "BSD".
So, go ahead and find one. Write one if you like, if there's no BSD one out there. Put your code out there under the BSD so that someone will be able to do as you wish.
Now, when you sell your product is it OK if I just copy the CD, crack the protection and leave written on the CD "this code belongs to $COMPANY, kudos"?
If not, I'm afraid I don't understand your license :(
The BSD folks want their code used by as wide of base as possible so they use the most liberal license. They don't mind folks making a buck off of their work to accomplish this.
GPL folks on the other hand, figure that being able to have the source is way more important than having a wider user footprint. If you're going to make a buck off their code (which is perfectly fine) it will cost you as much as it cost the author of the code in question.
Personally, I like the second option. By having the code free, when the entity maintaining my favorite manifestation of it, let say uh... Apple, goes belly up, then I can still move the code to my new platform, I can still use the years of data I've accumulated.
If the code is locked in Apple's vaults, I can't do that.
-- Many men would appreciate a woman's mind more if they could fondle it
Well there is a huge gap between "everybody contributes" and "nobody contributes" and BSD lives very good in that space.
The explanation provided by the author would be useful.
On a side note, I spoke to a freebsd committer a few days back about how and why he chose BSD over linux. He just said that he saw the code, and liked it, and stuck to it.
Then I asked him if he didn't think that the GPL was a better licence.
His reply was very simple. Unscrupulous companies and users abuse the terms of GPL all the time. He also said that hardly any users want the source code to begin with. He was also cynical about that fact that big companies just end up using his code for free, whether it's GPL or BSD dosn't matter.
Reflecting on his comments I couldn't help thinking that it's fairly easy to just steal GPL'd code, and I believe it happens all the time. Except in BSD, it's not called stealing, it's actually allowed. But the end result is the same in either case.
Can't see Hindi?
Contracts are bi- or multi-lateral actions in which every party gives up something in exchange for something else. Copyright license is not contract.
"My opinions are my own, and I've got *lots* of them!"
...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.
True. You have no rights to or over the lemonade since you gave away the lemons, but how is this related to the issue of BSD and GPL licences?
I believe your analogy is flawed since you could actually dual licence your lemons (GPL and commercial).
Tell the kid: sure, you can have as many lemons for free as you'd like, but if you sell lemonade made from them, I want 10% of that.
Imagine you actually did go through all the hard work to pick those lemons to give away to people for free. Would you then like it if some large food chain drove up to you on the curb and started loading your lemons on to their trucks, to sell in their stores?
She made the willows dance
> A shell script calling the converter
> is no different than a closed source program
> embedding it.
Like hell it is!
When I call the converter from the script I'm entitled to its source code, should I ever need to modify it or want to start something using it.
If the converter is (wrongously in this case) hidden away in the viewers binary, how do you propose I do that??? I might as well never have *known* that there was a potentially very important (as in useful) piece of code hidden away.
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
Is this whole post flamebait?
1. I don't imagine all GPL users view things the same way, but this is written as if they do.
2. Let's assume they do.
3. Which individual user's view would most likely align with this group think? Hint, he wrote the thing... 10 seconds... RMS! Yes!
4. His assertions of the GPL man's views don't seem to match with what I gather from RMS.
5. For instance, RMS states that in his view, non-Free code is... wait for it... oh, you know... IMMORAL!
6. RMS plainly states that the GPL is an attempt to set copyright on its ear.
7. Does it not make more sense to see the issue as one of not wanting to participate in or have one's works contribute to immoral things?
8. Do we still want to assert that all that prefer the GPL to BSD see things this way?
all the best,
drew
FreeMusicPush If you want to see more Free Music made, listen to Free
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.
I drink your lemonade! I DRINK IT UP! *SLUURRP*
It would be better to say that to a GPL advocate, the code is the application. They are one in the same. The code therefore deserves to be protected under the GPL for the sake of the application.
Most applications are dynamic. They grow and change over time, and if they stop growing they usually fall out of use. A person choosing the GPL for their application wants this growth to happen openly and freely. The author of this article/rant talks about applications released under BSD 15 years ago that are still free even though they are useless. Perhaps if they'd been under the GPL, some of those applications might have stayed alive and kept growing.
Your spouting a bunch of bullshit trying to make up for no defensible position.
GPL people have specific political ends they seek to achieve along side their projects. If you want to use their stuff outside the GPL, then you better pay them.
The BSD people I know are good programmers in high level jobs who want one thing : the ability to appropriate any code they wish for their professional purposes. In general, they are good programmers who could write it themselves, and they do give the world BSD project, but ultimately their logic is that they'd rather "steal" for internal projects because the "stolen" code is more well tested.
If you share the GPLs political goals, great use the GPL and advocate. If you think people might want to license your code, great just use the GPL. But don't try to tell people they shouldn't push GPL political goals. Their reasons are at or more noble than yours.
In the end, GPL advocates would be happy with changes to patent and copyright law that made their license obsolete, including limiting copyright terms, requiring disclosure of source for copyright, etc.
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
After I posted, I thought a bit more about the question and decided to throw in a different analogy.
Next time you could think still a bit more and decide not to throw in any analogies. Thanks.
GPL protects the freedom of the many (the *recipients*), since almost all *producers* are recipients of code for any used libs.
Let's all adopt the word "libre" which apparently means 'having freedom' and call it "libre software" (or would it be "software libre"?). The issue is that the english language does not have an unambiguous word for this. Let's just fix the language by borrowing a word from another. BSD and GPL camps will still argue about who's more libre, but at least the confusion about "zero cost" might be resolved.
I think I'll use the BSD license for my wife; I can give her away and anyone can do what they like with her. If I use the GPL, I'll get back the 'contributions' they made to her. Eww.
I think we should call GPL'ed code
Community Software.
I think this name would describe the reason behind the code really well:
1)Is developed by a community
2)Can be freely shared community
3)Denies the right to take it away from it by anyone
This separates it from the word Free, and its good because its not freedom if you are told what you can do with it.
...it's necessary to do it the correct way.
With the GPL code, you may not link the binary "object code" into a final executable file that isn't GPL-licensed itself. The GPL stuff must remain in its "own entity".
It's perfectly fine to make it a .dll or shared library that's dynamically called, as is running it as a service or daemon that's accessed via a socket, "exec call", or RPC of some sort.
Another mechanism you can make is to write your wrapper code and keep THAT on the "GPL Side" of the divide. Or contact the owner of the GPL code and negotiate a propreitary license.
As for "I can't see why the GPL and similar licenses can't just be 'we don't claim ownership of this code, kudos to .'" the reason is self-evident - the developer's work product isn't yours to use any more than a commercial library is.
Ask yourself one question: how would your company react to someone taking some modules out of your project and bundling them into their own without taking out a license from you?
Or how would your company treat a proprietary-licensed library that made development easier? You would probably pay the fee, the royalties, and abide by any terms. GPL is the same, except that its "fee" is measured in participation, not dollars.
The GPL was formed in a world in which proprietary software was using lawyers to stop users from fixing buggy code in software that they had paid for.
In order to attempt to make a political stand against this kind of licensing the GPL was created to protect the freedom of every end user to modify the code in the products they use.
The GPL is designed specifically to defend against the following scenario:
1. a free application is written and becomes a killer app
2. by paying developers a proprietary software company improves the code much faster than a small team of volunteers can
3. as a result nobody uses free software application and as interest wanes the project is no longer actively maintained
By forbidding this the GPL provides an added guarantee that which ever is the most popular version of the application in the future it *must* have the source code freely available. This means that contributors know that their code will be only used to help the free software cause along.
On the other hand, a developer who works for a company that insists on developing closed source applications in unable to make use of the otherwise freely available GPL'd code.
BSD advocates argue that this restriction of freedom undermines the GPLs claim to be "free".
The GPL advocate suggests that ensuring that the code will be open for any product derived from it's source code gives the population a net increase in freedom. This makes up for the loss of freedom for a individual developer in the circumstances described above.
BSD advocates are in a sense more charitable; they make the code available to everyone provided that the license stays intact. They don't care what happens to derivative works.
As someone mentioned in an earlier comment, I suspect that libertarians are drawn to BSD and socialists are drawn to GPL. Where BSD focuses around individual autonomy the GPL focuses around collective strength.
At the end of the day both licenses are heaps more free than the equivalent closed source product which has no public source availability at all.
The original ranter doesn't understand traditional tangible property law. He claims that being able to control what happens to his lemons after he sells them is absurd. In traditional property law, it isn't absurd. The retained control has been limited, but many of those limits have been extended/abolished in recent years. As a seller, you have a right to not sell to someone who you think will use the property in a way you don't like. You may also set a condition which would require return of the property. So the concept is not absurd. That's what licensing is all about.
The GPL is essentially an unsigned contract (and doesn't have to be signed because of copyright law).
The absurd thing is calling GPL communistic when it is actually taking advantage of traditional capitalistic laws.
BSD is truly FREE 100%
GPL is FREE up to the point you want to integrate it into something.
(i.e. you must become one with the BORG)
so to me, the only difference between MS license and GPL is you can read the GPL code.
flame away penguins, you are still and always free to be wrong!
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.
But you could for example give him the lemons for free with the condition to do the same if he makes lemonade out of them. He can accept or refuse the deal, but it's a deal nevertheless, it's just a different type of deal. In one deal you give away or sell a product and then you don't care what happens with it, in the other case you give it away with a condition.
"It is our choices, Harry, that show what we truly are, far more than our abilities." -- Prof. Dumbledore
In a perfect world, all my code would be BSD but we live in an ugly world so I defend my Freedom with a shotgun and the GPL.
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.
You see it as a problem, but BSD advocates see it as the system working as designed.
The OP to whom I was responding asked for the source to be packaged with Windows.
To me, the question is:
Which is more free -- the freedom to do anything (including taking away the freedom of others), or the freedom to do anything EXCEPT taking away the freedom of others? I don't think it's a question that really has an answer -- it's more of a philosophical question that individuals have to answer for themselves in various situations.
That said, I think the author makes some good points. Freedom of the code/project is another way to look at things, although strong GPL proponents would emphasize that it's people we are trying to provide freedom to.
Software sucks. Open Source sucks less.
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
"The first disagreement I wish to address concerns the statement "BSD projects are free, but GPL projects stay free" .. SNIP ..
Personally I don't have a philosophical position on either the BSD or GPL license. I do know that in order to use the code, you have to abide by the license. The rest is is just so much verbal back scatter. If some people have linguistic problems understanding it, then I respectivly suggest reading the license(s).
davecb5620@gmail.com
Comment removed based on user account deletion
Nonsense.
I know a company that pays non-employees to write open source GPL3 software for them.
The payer does not get to decide if/when/how it becomes open, the author retains the rights.
The payer receives a conveyance/distribution of the GPL3 code from the author.
Sam
blog.sam.liddicott.com
I'll be bookmarking this and referring people to it for a very long time. Oooh, look, project re-use! :)
No.
BSD license is intended to maximize freedom for programmers. GPL is intended to maximize freedom for users.
As a programmer, BSD licensed code gives you exactly what you want, no matter what you want. Your derived work can be Free Software or it can be proprietary. There's almost nothing you can't do with it.
As a user, GPLed code gives you exactly what you want: the ability to use and maintain the software with nothing holding you back.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
We also expect you to have enjoyed your experience and feel satisfaction in a having shared your code with the world. Us getting rich is just a nice benefit.
The truth is that the BSD guys are the angry ones with the GPL because when, in a GPL project, we incorporate BSD code and modify it, it becomes GPL and they can't use it anymore under a BSD license (however they could ask the author of the changes to dual-license them under BSD). So they are the ones with a problem with the GPL. I find it rather strange, because BSD code gets incorporated into proprietary code bases every day, they don't see a line of code of it and they don't complain the least.
:p -- for political reasons like giving a state-of-the-art software stack to third-world countries, educating users, ...).
The fact that this one-sided article was started by a BSD license guy just confirms my statement (even if you somehow tried to see the GPL point of view, you miss most, like it has been said in other comments: notably the goal of the GPL to have a full Free Software stack by "actively convincing trough effective measures" -- I prefer that than the "viral" FUD
Nightmare scenario
If by chance, one of the BSDs had become the dominant free OS instead of LINUX, it would have been already attacked by MicroSoft using embrace, extend, and extinguish. That is, MicroSoft would have created a windows/BSD hybrid capable of running both windows and BSD programs. As time went on, the BSD side of this monstrosity would have been extended thereby extinguishing the original BSD!
The GPL stops hybrid monster creation!
If proprietary code is mixed with GPLed code, in a distributed product, then by the terms of the GPL, that proprietary code must be released under the GPL. This is totally unacceptable to proprietary developers. The proprietary nature of their code is the indispensable basis of all of their tricks and traps and it is the only reason they get paid! To them, it is sine qua non. This stops hybrid monster creation. It is also the true reason that the GPL is hated by proprietary developers and their lackeys!
As it happens, Apple are not that keen on gcc, for (I gather) both technical and licensing reasons. That's why they are funding the clang project. It's a new compiler for C, C++ and Objective C, with lots of great technical features. It's original aims include licensing designed to allow it to "be used for commercial projects". I would not be suprised to see clang and llvm supplant gcc one day.
This is the sort of case that the BSD folks either aren't concerned about, or aren't thinking about. It isn't a matter of whether the "project" or the "code" is free, it is a matter of whether the users of the project or code are free.
The other aspect this discussion overlooks is the payment-in-kind model; a person who gives away their hard work in software development using the GPL is expecting other people who modify that work to "pay in kind" and give their code changes to the original author in "payment" for the code he gave them. So by giving their code away, they get code changes, bug fixes, etc. back. Sort of a GPL enforcement of the Christian/Buddhist "Give and ye shall receive" ideal. Folks who modify BSD licensed software are under no compunction to send modifications, improvements, or bugfixes back to the original author. I suppose you could say the BSD folks are relying on actual philosophical principles to be repaid for what they give away, rather than license clauses...
- "History shows again and again how nature points out the folly of men" -- Blue Oyster Cult, 'Godzilla'
It's simple:
BSD gives freedom to people, and GPL gives freedom to software.
To clarify:
With BSD, all people are free to do whatever they want to with the software, even if it results in some copies of the software becoming non-free.
With GPL, all copies of the software remain free, even if it results in some people not being able to do what they want to with the software.
--------
GPL advocates say: "All copies of the software must be free in order to claim that it's truly free". GPL advocates are willing to restrict people's freedom to achieve that goal.
BSD advocates say: "Only one free copy of the software is sufficient to claim that it's free". BSD advocates are not interested in restricting people's freedom, because their goal has already been achieved.
--------
It's interesting to note that GPL requires endless vigilance to fully achieve its goal. All users of the source-code must be watched, because the existence of just one non-free copy means that the source-code is not truly free.
In contrast, BSD requires only one simple act of publishing to achieve its goal. Nobody needs to be watched, because the existence of a million non-free copies does nothing to harm the freedom of the orginial.
The GPL prevents the recipient from doing what they want. The GPL is about spreading the GPL at all costs, including limiting the freedom of people who recieve the code. The BSD license is about giving away your code for free to help make the world a better place. They want companies like HP to use openssh in their switches, because if HP wrote it themselves it would be a buggy, exploit riddled pile of crap. BSD is about making the world better, GPL is about RMS's ideal of all code being forced open forever, and there never being any proprietary code.
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.
I'm not really sure I understand the problem here. BSD isn't exactly dying, whatever netcraft suggests, but in fact is growing fairly well even if in a less obvious manner than Linux.
Excuse-me, but where the hell did you see the word "dying" appearing in my post ?!?!?
The only thing I was referring about is that back in the old days (when Microsoft "stole" the BSD network stack), BSD used an older license which required developer using their code to put a specific text (in the about box for example) telling that part of the software was built on previous work of the BSD developers.
Today that clause isn't here anymore in modern BSD licenses.
That's the only thing that I meant by "old BSD license". Nothing about Netcraft randomly confirming that ${whatever} is dying.
The OP was saying he wanted to get the source code packaged with Windows ; and I was pointing the fact that the only requirement that old BSD license had back then was that mention in the about box, no requirement to publish the code - thus no fat chance to get the code packaged with windows.
And I know that BSD isn't dying at all : Of course, the main layer running above the microkernel and also the largest chunk of userspace in Mac OS X *are* derived from BSD (due to the NextStep heritage of that OS)
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
- Vi vs Emacs
- Windows vs Linux vs MacOS
- GPL vs BSD
- USA vs Iraq
- ?
So if I understand correctly, under a BSD license anyone could change a few names of characters from the Harry Potter books, put his own name on them, and make lots of money selling them at discount, with no acknowledgment to JKR.
" Say I'm giving away my lemons and someone opens a profitablt mystery-drink stand just around the corner. "
I'd be curious, wouldn't you? The original lemons-to-lemonade illustration was misinformed to gain rhetorical advantage. Seeing a self-evident lemonade stand across the street is all the information a GPL advocate would require. No attempts to govern recipe or even price would be made - I'd simply know what it is.
---
Real world experience: I need GPL (v3!) and more. It's absurd to think someone can't learn by reading my public "code" -whatever the license- but my "projects" also suffer vigorous scamming in their entirety. (Whiteout-ware, malware-injected redistributions, even selling my original untouched binaries as their own. Extensive uncredited reuse in Chinese outsourcing, plus real corporate identity-theft with no reuse of any code at all.) As a practical matter I want to best protect my users, even if I have no real objection to blocks of code ending up just about anywhere useful.
Oh, and adding a lot of ancillary Creative Commons Attrib-NonCommerical-ShareAlike artwork helps protect the "project" while freeing the "code." But no license protects against people who disregard them.
BSD, generally speaking, is a gift to the world. BSD makes the creation of all software, including GPL software, easier. BSD also 'occupies the field' so that a profit-oriented developer cannot assert copyright over subject matter already developed by BSD developers.
GPL is a gift to the user. However, GPL is a bargain between developers: You can use my stuff if the world can use your stuff. The GPL is oriented toward creating a community of GPL developers who can create useful code that all can share and maintain.
It seems absurd to me that a GPL advocate would flame a BSD advocate. That's like flaming Santa Claus. It also seems absurd that a BSD advocate would flame a GPL advocate. That's like flaming Mahatma Gandhi.
Why should Mahatma Gandhi and Santa Claus fight it out while the Evil Empire looks on menacingly?
This applies only when "you" are the first-tier recipient of the original code. After that, BSD allows re-licensing under any terms carrying any new restrictions. GPL does not, because that can interfere with the end-user's freedom.
Simple exercise: can you, as an end-user, engage in all possible GPL-mandated behavior with regards to software that originated under the BSD license? Not with regards to any such software that has been redistributed under proprietary terms.
What is mistakenly referred to as the 'viral' nature of the GPL is simply the insistance that the code remain under it's original license if anyone wishes to exercise the freedom the license grants to redistribute it. There's nothing unreasonable, viral, or communistic about that.
The GPL establishes and protects freedom for the end-user, that I understand. I really wish someone with the opinion that the BSD license is "more free" than the GPL would explain to me who the freedom granted by the BSD license is intended for, and how that freedom is protected by the license. It doesn't make any sense to me to say that "the code" is more free, because code is inanimate and cannot in any way exercise freedom. As far as I can tell, the only freedom granted by BSD that is not granted by GPL is the freedom to restrict other people's freedom. The GPL simply doesn't allow redistribution of the code in ways that do not pass along the same freedoms the re-distributor received when he got it. What's un-free about that?
But in doing so, it only effectively insures this choice one teir down from the licensor. Once the recipient of BSD code exercises the option to redistribute it in terms that do not pass along that freedom, their recipients do not have this "choice" you say defines freedom.
The GPL extends freedom to all downstream recipients down to the last end-user.
One license extends freedom to all recipients of the code, and the other allows direct recipients to restrict the freedom of people they redistribute to. Tell me again which one "has to be more free", and why?
I've tried to come up with the most inflammatory analogy I could and here's the best I could do. My apologies that I was unable to invoke Godwin's law, but perhaps someone can do better.
BSD is like Jesus: give, but don't expect back and turn the other cheek if someone takes advantage of it. If someone takes your cloak, give him your tunic too.
GPL is like an Indian giver: give, and expect back and if someone doesn't comply, hit them over the head with copyright law.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
Perhaps GPL are afraid that Microsoft will use there code to push people around with there monopoly.
The no-MMU patches were accepted a long time ago. I think it's been years already. Linux supports several different architectures that lack an MMU.
According to GPL advocates:
BSD licensed code is susceptible.
Commercial licenses are the incurable viruses. Code infected by them requires constant, expensive therapy to stay alive.
The GPL license is the vaccination.
According to Bill Gates:
BSD licensed code is susceptible.
The GPL license is an incurable virus that spreads through all code it touches.
The Microsoft Commercial License is the cure.
there is no god but truth, and reality is its prophet
I find the article insightful, and appreciate the value of the BSD license, but ...
Recalling the seminal incident of the proprietary printer driver that RMS could not fix, I think he would not despise a license that said "only we can sell it, but you can see the code". However, the whole market would have to be changed that way. One thing the GNU license is doing is changing the marketplace.
By the way, the use and derision of the philosophy of copyright and intellectual property is not a curiousity, but acknowledged irony as the best available weapon, turning copyright on its head.
"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."
Except we're not talking about property laws in any way, shape, or form. We're talking about copyright law. Copyright law gets lumped in with other laws under the label of intellectual property, but still has nothing to do with physical property law. Analogies between the property law and copyright helps sustain the massive level of confusion and sloppy thinking about copyright law.
Under copyright law if you take my copyright protected work and incorporate it into your work, it is a derivative work. As a derivative work, I share the copyright on your work.*
Now, this is built on the assumption that I should get control over derivative works, but that's the law as it stands. That's also the assumption that many GPL fans have. It's the foundation of the GPL. As it's the same assumption that international laws and entire content industries are are built on, it seems a reasonable baseline to build from. You can disagree with it and believe it should be changed, but you should recognize it as the current situation.
(*Excepting fair use, obviously.)
Search 2010 Gen Con events
"The BSD is the license that allows you to restrict freedom. The GPL doesn't allow that."
Restrict whose freedom? Certainly not the end user. The end user of BSD code can do damn near whatever he wants with it, all with the permission of the originator of the code. That's not freedom?
The GPL is far different, and while I won't deny that much good can come from GPL'd code, to say that the GPL license is freedom while BSD is not is nothing but Orwellian Newspeak; up is down, left is right, war is peace. No one is making you use GPL'd code, but once you choose to do so, there are heavy strings attached, strings that the BSD license does not require of the end user. Do not confuse "Public Good" with "Free"... they're not necessarily the same thing. Comparing the BSD license to legalized slavery is partisan silliness of the worst kind.
Life is hard, and the world is cruel
It doesn't matter how much good Linux will become if you can't use it in your commercial *software* products. This is why we (linux users) don't have commercial drivers/plugins.
Another even bigger problem is the idea that all software should be "free". This discourage almost all software companies to develop software for Linux. This is why we don't have Photoshop, Dreamweaver or similar tools.
In conclusion i think the GPL license is the main reason that prevent Linux to become a successfull OS. I also think that software released under such a restrictive license should be called "free for non commercial purpose" or "almost-free" software.
BSDL, on the other hand, is not about driving innovation or compensation. It's more about plagiarism: "Don't claim my work as your own; Give me the credit I'm due for making your project quicker and easier"
Both contribute to the community at large by reducing the need to re-implement some needed functionality in complex (or not so complex) projects, but the GPL takes that one step further by requiring more from its users.
There really can't be any debate about this. Whether you think Socialist/Communist are pejorative terms or not, they definitely fit here. The GNU project (and the FSF, by extension) are founded on a set of explicit Communist principles.
http://en.wikipedia.org/wiki/From_each_according_to_his_ability,_to_each_according_to_his_need
In the ideal GNU world, all software would be given away for free to anyone who needed it, and programmers would donate their time and effort out of the the sheer joy of doing useful work. The anti-commercial bias of the FSF and other "free software" advocates is completely out in the open.
Seriously, have you even read the GNU Manifesto?
http://www.gnu.org/gnu/manifesto.html
First, it's a "manifesto" - that's, like, 10 bonus communism points right there. It also makes references to "solidarity", "comrades", and various other well-worn Communist catch phrases.
Or this essay:
http://www.gnu.org/philosophy/my_doom.html
Where RMS compares working on proprietary software to lying under oath, or committing murder (really!).
Yeah, I had a hard time reading the article because Theo De Raadt, at least, believes that BSD code can be used in any project *except* for GPL-ed projects. So while the original developer claims he doesn't care about what later people may do, he most certainly does.
I'm a somebody and I DO NOT CONTRIBUTE TO GPL anymore. I did, I think once with a tiny program that is also BSD licensed plus another almost BSD license to conform.
Had the GPL not existed on projects that I like I'd have contributed.
GPL = DO NOT CONTRIBUTE.
It can be used in a commercial product, and it can be used alongside a proprietary product, but if they use it *in* a proprietary product, they have to open it up.
Commercial != Proprietary
The community certainly does get something back when free code is used in a commercial product. Consider all the hackable routers like the Linksys WRT's.
Basically, people use the GPL because they are thinking in terms of Capitalism--that is, they are doing work and wish to be compensated for it. The compensation in this case is the "price of admission" for deriving from the code.
BSD/etc. people, on the other hand, are thinking in terms of Communism--they work on their projects with no thought of (enforced) reward. Or I suppose you could call this altruism.
Personally, I think either of these approaches is perfectly reasonable, although up to this point I've chosen to be "selfish" and license my projects under the GPL.
"Not an actor, but he plays one on TV."
n/t
and to stretch your terrible point a little further, use that wood to create a nuclear bomb and you'll find out that, no, you can't do what you want with it because the government will stop you.
I think the market of selling software just can't survive. Once you accept that, its natural to use the GPL license and let the free code profit to everyone on the long term.
You want to sell software for a living? You can, but it get cracked in hours, distributed easily and efficiently with bittorrent, or much better: a free alternative exists. From all the listed things I don't think any will ever disapear, just the contrary in fact.
By the time you lose energy fighting against software crackers, commercial or free alternatives, the free alternatives will get solid and featureful enough to be used instead of your commercial product.
I think the market of selling software just can't survive. Once you accept that, its natural to use the GPL license and let the free code profit to everyone on the long term.
You want to sell software for a living? You can, but it get cracked in hours, distributed easily and efficiently with bittorrent, or much better: a free alternative exists. From all the listed things I don't think any will ever disapear, just the contrary in fact.
By the time you lose energy fighting against software crackers, commercial or free alternatives, the free alternatives will get solid and featureful enough to be used instead of your commercial product.
So the question then is, what happens when more-or-less all proprietary software is gone and everything is GPL? Where does the money come from to pay developers? What you end up with is complete stagnation in the market, and no incentive other than "goodwill" to create great software. Right now the GPL seems like a great thing, but that's because a lot of the major projects are funded by companies with big wallets. That won't always be the case because GPL software will eventually be viewed as a money pit.
I advocate the BSD license over the GPL, because people who want to create free software can do so, and people who want to innovate and sell software that builds on existing system libraries are also welcome to do so. And regardless of what GPL supporters state, my BSD-licensed project will always be free. I don't care if someone wants to innovate on top of it and sell it. That doesn't in any way make my contribution less free.
The main point is that the GPL is a two-edged sword. Enforcing a GPL license on all derivatives is a great way to fight against Microsoft, but when all is said and done, the GPL will prove to be more like a set of shackles than freedom because when the market cools and free software stagnates because there is no money behind it... something like BSD unix will come to the rescue, providing libraries that commercial software can build on and once again bring innovation to the software industry.
"But proprietary software is the reason the industry stagnated in the first place" you say. Competition is what prevents stagnation, not whether or not its free.
As for crackers, there will always be people who feel justified in stealing.
Slashdot ate the credit. Those were words from a friend, Mirabile.
The best way to predict the future is to invent it
It's not really about projects vs code it's users vs developers. GPL is about the rights of the users to make sure that they have certain rights, the right to redistribute, the right to access source code, the right to fix, the right to redistribute the fix. BSD is about the rights of the developer. The right to modify and redistribute how they wish. GPL doesn't care if developers are restricted if the user is free. BSD the developer is free to do what they want, even if it restricts the user.
From people who need software that doesn't already exist. It's called "work for hire", a practice older than capitalism.
Some people worry about "how do I rest on my laurels and get paid again and again for work I already did?" They are trying to exploit a market failure. If they go broke, I approve.
Freedom for the users is more important to the rest of us than your freedom to screw them over.
Try libertarian. Your users are thinking tool users with inalienable rights, and the control you exert over their capabilities is disgusting.
Why would innovation only come from commercial competition? I think innovation come from the need of better software, not from someone willing to "improve" a product only to make cash from it. Antivirus application are a good example of software that begun simple but always grows in size and features and bloat to gain market share. I don't call that innovation.
Why what is good now won't be in the future? This way of developing software produce a very great quality of code and I think those big wallets companies understand that. I also think this cost less for these companies to produce that quality that if they were trying to achieve it in a proprietary way.
As long as someone need a (free) software to be better and cannot code it himself, why not hire somebody to code it, and share the result afterward? Thats the only reason why the software was so useful and solid at the first place. Its common sense to encourage the spread of that quality. Of course, you might be sorry not doing any money directly with the code produced by selling it, but thats a ethical choice: more people happy, some rich guys a bit less rich.
Mozilla Firefox licensing: MPL/GPL/LGPL/Mozilla EULA (for binary redistribution)
PHP has stopped GPL licensing since PHPv4 and offers this response in their FAQ:
http://www.php.net/license/
Q. You suck! I'm going to take the last version of PHP 3 that was distributed under the GPL and fork! How would you like that?
A. With fries.
Well, there are a lot of great GPL-licensed projects written in PHP, so I won't worry about the choices made by the PHP developers for now, but I'll be paying more attention to the direction of PHP in the future because I already didn't like the way the Zend Optimizer is licensed.
Mozilla Firefox is still one of the flag-ship GPL-licensed projects. If that ever changed, I'd find another browser. To me, one of the important parts of the GPL is the preamble, which gives voice to my thoughts and feelings on the subject of software freedom.
Another license may be GPL-compatible or acknowledged as meeting the criteria for the definition of Free Software, but I'm pretty enthusiastic about the socially-engaged vision of the GNU project. I tend to be drawn to projects which, by their choice of license, extend the reach of the FSF/GNU message.
Freedom is free.
>Freedom for the users is more important to the rest of us than your freedom to screw them over.
So for you Users-Freedom is more important?
I'm a user so my freedom is more important therefore I can do what I want and that is to take a package and develop it further and publish it and make money off the effor of MY labor and value that I added. OH but wait, which package did I choose?
A GPL package requires that I GIVE ALL *MY* work back to the *COMMUNE-TY" so that EVERYONE can have it FOR FREE AS IN FREE BEER! Typical HIPPY COMMUNE-ISTIC values.
A BSD package requires that I have freedom to choose what, when how much, and if I contribute to the community. I as a user and a developer user are TRUELY FREE TO CHOOSE which it will be. Yea for freedom.
So the BSD style of licence provides FREEDOM for users which after all is what you said is more important to you.
I don't see how it's "screwing them over" to take, say Apache, and modify my own version and then sell it. The license provides for that as intended. If I don't share the code for my version then I'll get no feed back from other developer users that they found a bug and fixed it for me, or any other benefits of sharing code.
What "screws me over" all the time is the GPL since it PREVENTS me from making use of it in my own projects. Sure I use code under the GPL strickly as a "USER" never a developer altering it other than a minor mod here or there to fix or adapt it, but never for distribution due to it's restrictions of sharing BY FORCE.
GCC is needed since it is what it is. When LLVM+clang is complete and sufficiently GCC compatible it will be great to hold a GOOD BYE GCC PARTY! I'm sure many people will attend to welcome in the era of LLVM+clang.
Why is it FORCE THAT THE GPL USES? Well that's a good question; it's force since if I want to use a GPL code package I'm forced to live with RESTRICTIONS on my options of what I can do with the code. Not really much different from a private commercial package.
If I modify and sell my version of Apache you don't have to buy it. You can always go to their web site and grab your own copy.
The GPL foreces developers who want to use a package, modify it and distribute it to give up their intellectual property copyrights in that work, and have it absorbed by the COMMUNE-ITY.
GPL=BORG
Wrong. EnterpriseDB maintains a proprietary fork that includes Oracle compatibility which they charge money for, and also employs quite a few core Postgres developers. People are moving away from MySQL due to its flagrant ignorance of SQL and how horrible it is it administer, both of which are possibly due to the lack of community caused by the "We own (and will make money from) your code" copyright assignments MySQL requires. The license is not the be-all and end-all of a project, community management is also important, ask ooo-build about OpenOffice.org.
The GPL is about freedom for the user, as discusseed here and (if that is your goal) this means that you cannot allow your sw to be used in non-free (free as in freedom) derivatives.
On the other hand BSD developers could well care for nothing besides their project. If it is used to produce closed sw that traps and locks-in users, they don't care (think BSD kernel->OSX kernel). I am not saying that its always so, but its possible.
As a practical matter a successful cl0osed derivative could bite back BSD sw by making the original project obsolete. GPL sw has no such problem.
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.
There's also some user segments that stands to lose.
In the present market, groups pay for enhancements from a baseline - the present codebase. This is done after the product is developed, by buying the product, and thus the users do not need to take the risk around the development. Users choose to do this when the benefit to them of using the software exceeds the costs of purchasing the software.
With purely GPLed software, users cannot do this. Instead, they have to organize banding together, raising money up front (with the free rider problem meaning that a lot of people won't pay), hire a programmer or programmer team, and then take the risk of whether those programmers will perform.
At least to me, it seems obvious that there will be many cases where users will not do this - and in practice will lose access to the software they could get benefits from.
Eivind.
Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.