David Chisnall casts a critical eye over the GNU General Public License and asks whether it’s done more harm than good for the Free Software movement. “Looking back, has the GPL been a help, or a hindrance? And will it continue to be a help or hindrance in the future?”
The linked article cherry-picks a few examples to push the idea that the code-sharing that the GPL legally requires is counterproductive, because companies would do it anyway and do it better.
Yeah, right, for each of the examples given, I can provide countless others on a 1-to-10 ratio of BSD code that was improved and never returned to its mainline.
So, the article in essence is another license-trolling attempt. People have very clear ideas by now about why they pick the licenses they use and to claim that the GPL has failed in view of the thousands upon thousands of GPL applications which get contributions from a host of companies and people is utter nonsense.
I agree. It’s easy to stand in today’s world of software and criticize GPL and FSF for select issues. But how would the world look if they never existed? GPL/FSF are a stick which was essential in forcing companies to start sharing and keep sharing.
Today many companies see the benefits of open source, but that’s because there’s already a movement with enough momentum in place: thousands upon thousands of FOSS apps and an interlocking FOSS ecosystem, a complete stack, OS kernel, drivers, userland. I very much doubt that this ecosystem would have gotten off the ground if we had to rely on the “honor system”.
One word, a thousand examples: Apple.
Yeah, right, for each of the examples given, I can provide countless others on a 1-to-10 ratio of BSD code that was improved and never returned to its mainline.
Becuase that’s the goal of the BSD, doh.
Yep. But the article seems to be advocating improved participation in the upstream project as an advantage of BSD over GPL, which is what the original poster was objecting too. Whilst quality of contribution and engagement is more important than volume of code released “because we have to”, I still agree with the OP – it’s hard to imagine that the BSD license is *better* for encouraging meaningful community contributions.
In that case contributting by will instead of by gun point its a lot better.
Yeah, indeed. Contributing “because we have to” just produces unpleasant code dumps that, often as not, don’t go *anywhere*.
But the GPL makes the requirements pretty clear upfront, so I don’t think it’s really “at gunpoint”. It’s not like companies only ever – or even usually – contribute to GPL projects because they suddenly find they’re forced to. Sometimes this does happen. But many successful companies have chosen upfront to become part of the community and are only using the GPL code *because* they’re willing to contribute back their code. If they hadn’t wanted to do that, they shouldn’t / wouldn’t have chosen GPL code in the first place.
Using BSD licensed code lets them defer the decision about participating until a later date, lets them be selective about what stuff they do choose to release and possibly requires less compliance worrying from their legal department. So there are certainly advantages to it but, again, I think it’s quite debatable whether it’s outright *better* for encouraging community participation, even though it has some advantages.
I don’t think so, you contribute to GPL because you are forced or get sued by the FSF, to the BSD you contribute because you want to, not forced.
Some may contribute to the GPL by will also, but is better not to be obligated.
Edited 2009-09-02 15:09 UTC
I think you missed the main point of my post – that many companies use the GPL knowingly and therefore are willing contributors. They weren’t forced to use GPL code, they chose to use it because they were willing to release their changes.
Nobody can force somebody to contribute to GPL projects if they haven’t used GPL code in the first place. If companies aren’t willing contributors to upstream then they shouldn’t integrate GPLed code, since it’s not best for them or the community.
The point was that companies need to make a choice up front about contributing back to GPL code, since if they don’t want to contribute they should not use it at all. With BSD they can decide later on. The BSD way is less effort for the company but doesn’t mean they GPL forced them into doing anything, it just requires them to plan ahead if they want to use it.
Plenty of companies are aware of this choice and are happy to make it – they are not being forced into anything if they knew the consequences of working with GPL code in the first place.
I think you don’t understand mine, the fact that the companies are aware of the GPL before contributing, doesn’t mean they do it pleasently, they may be doing it because they have to, not because they entirely agree.
Yeah, OK. I don’t think we are really saying different things, so much as coming from different points of view.
The thing I really disagreed with was the word “force”, which makes it sound like companies have no choice but to contribute source code. They do have a choice because they can decide upfront whether to get involved with GPLed stuff or to use a proprietary or BSD-licensed alternative, so they’re not really being forced into anything.
But they are required to participate in a relatively “expensive” form of “payback” for their use of the code, whereas in the case of BSD-licensed stuff any contributions are more of a “donation”. If they want to use the source code but “pay” the minimal amount of community contributions in return then it’s usually a wasted effort – the random GPLed vendor code that usually gets thrown over the wall in these cases often seems to have very little use to the community.
I would imagine that when companies contribute to a BSD-licensed upstream it would more often be a good faith attempt to engage with the community, which is an advantage. I can’t see it ever being worth a company’s time to just throw some BSD licensed code out and then run away. But the GPL does have other advantages which – to certain companies – may encourage willing good-faith contributions which they wouldn’t have made otherwise. Both licenses have a place, I think.
Both licenses have a place, I think
Definitvely, but I dislike how a bunch of loonies members of the FSF condemn anyone who makes a different choise.
Edited 2009-09-02 16:34 UTC
That happens with loonies from every camp.
I’m absolutely with you on that point! Free stuff, be it GPL or BSD or whatever is always a good thing in my opinion. And there is never, ever, ever anything wrong with BSD licensing something if that looks like the best choice to the author of the code.
Personally, I think the GPL is a great license and that part of the reason it is great is due to the insight and effort put into it by RMS and the FSF. But at the same time, some of the things RMS and the FSF come out with sound ridiculous to me. I don’t always like their politics, though I do respect that they are generally pretty consistent in their positions.
I think the reasons the GPL has been so successful are somewhat different to the reasons it has been created.
And I dislike how a bunch of permissive licence advocates continually whine about the FSF at every juncture. Sure, the FSF would rather you use copyleft licences, but they do acknowledge the Free Software nature of permissive licences.
Meanwhile, with the seemingly endless stream of articles these days featuring ill-informed commentary about the GPL, accompanied by people who take every opportunity to make narrow-minded jibes about “fundamentalists”, “religion” and (your words) “loonies”, one has to wonder who is part of a religion, exactly.
Im sorry, but I don’t argue with intolerant and brainwashed people.
Have a nice day.
Point proved by the OP.
That’s like saying you are forced to use condoms with prostitutes “at gunpoint” because you will get a STD if you don’t.
You (the company) decide to sleep with a prostitute (use GPL code) knowing the license requirements (condom usage) and the consequences for failing to fulfill them: a lawsuit (STD) or license refusal (no happy ending).
If knowing that you still decided to use the prostitute’s services, then that’s your own problem, and noone is forcing you to do anything, much less at gunpoint.
Now that is stupid (sorry, it just is). Who forces you to pick a GPL’d source for your needs? Why don’t you just code your own stuff with the licence you wish, or even never publish it? If you still pick someone else’s work’s results that (s)he chose to GPL, and you know it’s under the GPL, and you still choose to use it and modify it, then you can’t complain about anyone forcing you to do anything. It was you who willingly chose to adhere (in an optimal case) to the GPL.
Forcing you, right. Geez, my hair starts to go gray.
You need to read the rest of my comments.
Yup. GPL only forces you to contribute back in the same way that my local shops force me to give them money – if I get something from them I have to give something in return, but I know that in advance and have the choice to go elsewhere.
I get the impression that Hiev was partly trying to point out that requiring contributions of source does not guarantee quality contributions (compare the random “tossed over the wall” contributions of hacky vendor code various GPL projects get). Whereas a under a BSD-ish license you’ll only get code from the really motivated contributors who actually want to help.
To me that doesn’t make the GPL bad, since willing contributors will – to a certain extent – self select through their use of GPL code in the first place. But I can see the argument that contributors to a given BSD-licensed project are (more?) likely to be working for the benefit of the community than in simply ticking a legal checkbox so they can get access to some free code.
Licenses exist because of antisocial pricks like you who don’t understand basic principles of conduct. Why would anybody complain about a ready made agreement? Because he’d like to subvert it but has no power. Poossy.
Some of the stuff about the history of the GPL is interesting. But it’s all wrapped up in the premise of asserting that because the GPL doesn’t do certain things well, or makes some corporate lawyers unhappy it is therefore lacking. The BSD license (and others) are cited as alternatives.
The guy isn’t necessarily asserting that the GPL is a failure *overall* but that it fails at certain things he believes are important. Unfortunately the article mostly concentrates on these things, which does make it sound like he’s suggesting the GPL is something of a failure overall.
But really, it’s more complicated than that. A number of the failures he cites seem more like failures of the FSF’s sometimes baffling political positions than of the GPL license itself. Much as I like the FSF in some ways, they are infuriating in others. The definition of failure is a bit hazy here, presumably the FSF regarded the prevention of what they saw as infringement by NeXT as being a success, regardless of how useful the code they obtained was.
To a certain extent the end part of the article seemed a bit like another salvo in the spurious license wars. Perhaps the intent was just to point out that the GPL isn’t the be all and end all, which is true. Or that the BSD license might have oft-overlooked contributions to make to encouraging upstream contributions – also true. But, really, I wish people would just accept the the Free licenses are a spectrum of possibilities. None of the popular licenses are “fully free” – they just preserve the freedoms that the author thought most important. Any use that complies with the license is a use that the author implicitly allowed with when they chose it. All of the licenses have advantages and disadvantages for both commercial contributors and private users.
Because this requirement limits the modifications you’re allowed to make to the code, it violates the four freedoms (although that didn’t stop the FSF from recommending it).
What a bunch of hypocrytes.
In my opinion, the GPL is a great license to offer dual licensing. Either the customer uses a GPL version and has to stick with it, or he can have your commercial version (for $$$) and release his app without having to GPL his code.
But for everything else (especially libraries or things that shouldn’t be released with an additional commercial license), I’d prefer BSD licenses for every open source project (instead of LGPL).
Edited 2009-09-02 14:02 UTC
His last comment is that more permissive software is getting more commercial development than GPL’ed software. I find this really hard to believe.
He cites various companies developing for the BSD kernel, but what about the large number of companies that are working on the Linux kernel? 80% of the Linux kernel developers are being paid to do so.
With you on that. IMO BSD licensed code is better for companies to use as a base to build a proprietary product on, nothing wrong with that. GPL code is better when a company doesn’t want to maintain the whole codebase without community support but wants a guarantee that competitors won’t be able to base proprietary code on their contributions.
The idea that BSD-licensed code is more company-friendly is not really accurate – it’s more friendly to certain kinds of companies with certain kinds of development model. For others, GPL projects are a better bet. For others, fully proprietary is a better bet.
Not only BSD is licensed with the BSDL.
http://freshmeat.net/tags/bsd (the original)
http://freshmeat.net/tags/bsd-license-revised (the revised)
http://freshmeat.net/tags/isc (the shorter version)
and there is MIT which is quiet similar:
http://freshmeat.net/tags/mit
This tag
http://freshmeat.net/tags/mitx-consortium-license
seems a bit more populated than the plain MIT one.
Of course this article doesn’t cover everything, but it’s true.
My personal main problem with the GPL is that it tries to force free software. The only problem is, you can’t force freedom.
A lot of developers using the BSD or the MIT licenses developers want to make everything easy accessible.
Recently there was an OSAlert article about EULAs. Most people complained about EULAs being to long and hard to understand. The GPL is IHMO the hardest to read OSI-License.
I also think GPL is the open source answer to all this EULAs.
There are also a lot of programmers writing GPL licensed code, without ever having read it. Isn’t that stupid? The problem is that not everyone is a lawyer and even lawyers have problems with this license.
It’s really bad. Everyone cries about all kinds of threats because of DMCA, patents, … and now the FSF does the same thing with companies.
I mean everyone should use the GPL. It’s a license, like every other, but one has to ask himself, if he wants to to support a GPL vs commercial license war or if he wants to just write free (as in non-forced freedom), open source software for EVERYONE.
I know, this post will get many negative votes from GPL advocates, even if I’m not against the GPL in particular. I just want easy to understand licenses with short text. Maybe the FSF can come up with this.
Last but not least: Stop these license wars! Just write good, free, open source code! You can re-license your code later, as long as all authors are fine about it. See Mozilla, they even have tri-licensed code.
“I mean everyone should use the GPL. It’s a license, like every other, but one has to ask himself, if he wants to to support a GPL vs commercial license war or if he wants to just write free (as in non-forced freedom), open source software for EVERYONE.”
not sure if you’ve written what you intended to, but the GPL in fact forces freedom. So in that case, you can’t really use the GPL if you want to write “free as in non-forced freedom” software.
My personal problem is with people who think that when someone writes some code, (s)he is forced to choose GPL as a license when publishing it. Nobody is forced to do anything, everyone could just sit on their code, or publish it as is without any license, or use BSD or else.
The ones who feel “forced” are usually those people who – when starting some project – pick up some “free” source, happily modify it to their needs, but are suddenly unhappy when they “find out” they should contribute their modifications. Most of these people don’t even know the difference of the licenses out there, I saw this happen a couple of times.
But let’s pretend for a second that this “forcing” issue is real. You say, one can’t force freedom. Right. But one can force free software, in the sense that if I pick GPL, then I “force” every cherry-picker to follow my lead, which I feel is a good thing. You should know by now, nothing is really for “free” in this world, take adherence to GPL as a price you pay for the privilege to use other people’s stuff.
//edit:spelling
Edited 2009-09-02 17:02 UTC
I have nothing against either license. But you need only look at the landscape of open source to see that GPL is the clear winner. Most companies simply do not want to use the BSD license to give away their code so some other company can claim it as their own. As an individual, I personally wouldn’t BSDL any software I wrote. I am all for giving away my code, but I expect the same from the people that use it. But in the end its users choice. I think the author of the article needs to wake up.
“so some other company can claim it as their own”
the BSD license forbids doing so
Really?So tell me, what license is X.org under? Apache? Python? Perl? PHP?
Why would you think the BSD license allow that? The BSD license does not remove your copyright.
No, but it does allow a company to take the work ad make it proprietary without giving anything back to the author. Why would a company want to do that so that their competitors get to benefit for free? Share and share alike is a bit more of a realistic approach when it comes to business.
*EDIT* I should have said look at the landscape of business, since open source includes a lot of open source licenses besides the GPL. My point was that there is far more business interest going on in Linux than BSD from what I see.
Edited 2009-09-03 01:04 UTC
I don’t think that is directly the result of the GPL. I think a bigger factor is the tech press which has been in love with the Linux story from day 1. Linux has gained mindshare and intertia in the corporate world and a lot of it is due to the press. When you have Fortune 500 companies selling Linux based solutions it becomes a major endorsement.
At the same time I wouldn’t call the GPL a failure. The GPL software base has certainly grown since its creation. But Firefox and Apache have also had tremendous growth so I think it is clear that the GPL isn’t needed to have a successful open source project.
How do they “make it proprietary”? The original code is free and always will be.
To each their own.
What company would like to share their own changes and give away their competitive edge?
It’s always slightly amusing how some people spin this. Just remember that that original code is only there because of code contributions, so what you’ve effectively said is that it doesn’t matter if those happen so it wouldn’t actually matter if there was no code there in the first place. Now that’s an irony and a paradox in itself.
Another amusing aside is that taking the code and not contributing back is generally accepeted as one of the central points of a BSD license, which is fair enough, but when BSD drivers etc. are put into the Linux kernel we get a tirade of abuse at the GPL for not allowing contributions back (you can dual license it) when it’s the main thing that it tries to enforce in the license.
There are so many ironies your head hurts after a while.
Using the Linux kernel as a prime example, that tends to happen when a company sees the issue of cost saving and cost sharing more important. It is virtually impossible for any company now to maintain their own operating system and kernel with all the demands placed on it now – new devices, new drivers, 32 to 64-bit platforms…..
The Linux kernel has helped companies share drivers and a wealth of technology between each other, and the GPL has given them all the confidence that what they contribute, and any changes, will remain free to them and others and not give competitors an exclusive advantage.
Yes, it IS amusing how it can be spun into that you can “take the code proprietary”. Stupid nonsense never dies, it seems.
Or because someone wrote it and was ok with the BSD license.
Yah, it’s almost exactly like all the whining we get from the GPL camp when some company does something that is “against the spirit of the GPL” etc.
My point was that it’s two side’s (at least) to the story.
The holes that allow going “against the spirit of the GPL” get plugged in newer versions of the license, just in case someone feels that was something that needed to be addressed. As much as some might dislike GPL3, at least they fixed what they felt was broken, providing an option for those that felt the same.
BSD on the other hand waves proudly the “no forcing to contribute back” flag, hence why complaining about not getting contributions is kinda ironic.
Take a look at this article, for one:
http://www.infoworld.com/print/85922
It asks us whether the GPL still matters, and then presents us with a table that says just over half of all applications they surveyed use the GPL – over 40% more than the next popular license, the LGPL. Even the GPL 3.0 is well on its way.
You can’t just pick out a few projects that don’t use the GPL and expect that to disprove the fact that the GPL is the most popular license. Let’s look at those projects though.
X.org is continually plagued with a lack of developers, a lack of code contributions and a lot of missed deadlines even though every open source desktop depends on it. There is a lack of unity, a lack of clarity and a lack of integrity, particularly when it comes to drivers, and you even have many drivers reimplementing up two two-thirds of the X server stack itself. Now, if you had all those developers and companies involved contributing common code back to one another the odds are that that situation would be vastly improved.
Apache is backed by developers working primarily for companies like IBM, so I can’t see what difference the license would make to it nor what advantages the Apache License provides over others. They do have a page talking about GPL compatibility though which means that they see the GPL as important.
Python’s license works for what they want it to do (namely that you can develop a product with an embedded Python interpreter) given that they’re a development platform. They still talk about the GPL compatibility of the license, however.
Like Pythin, as a development platform Perl is going to need more flexible licensing than the GPL can provide, outweighing other considerations, but it and most CPAN modules are dual licensed with the GPL.
Yes, your copyright doesn’t disappear and headers and attributes have to be kept in place, but try enforcing your copyright under those circumstances unless the resulting source code is open. There’s another ironic paradox.
Which is the appropriate question?
“Has the GPL helped or hurt the Free Software movement?”
or
“Has the GPL appropriately met the desires of the individuals who have done the hard work and licensed their code with it?”
They are very different questions, after all.
I think the real point from this story is not if GPL helps or hinders more. But more to the fact that the GPL is not good for all situations. Giving RMS Polarized Zeal on the topic, it makes it difficult for the GPL followers to realize that their License isn’t a Utopian License which will make the world a good and happy place if everyone switched. But a tool that can be useful when it is useful. Not going GPL doesn’t mean you are turning evil but just the fact it doesn’t work for you model.
One of the best posts on this thread. Thanks.
It’s hardly the GPL’s fault if shitty code gets merged into upstream or if a company decides to not even distribute something publicly.
The GPL wants to make sure that free code stays free and achieves that just fine.
I agree that it’s a bit too radical in some areas but that’s only a problem because of the proprietary hell we currently live in.
I, as an author of code, may choose whatever license I wish, and I choose GPL. The price for using my code is helping me improve it. Don’t like the price, then design and write your own code.
I understand what the author was trying to get at, however, I’ve always found that with a BSD project there is a feeling of a group of people working hard whilst the vultures are swooping down to take pieces off the carcass.
Personally I’ve found that the GPL is far too restrictive but at the same time, BSD far too lose to the point that self interest ends up killing the project as fewer contribute in favour of becoming leeches. Thus I prefer LGPL which provides a balanced approach.
Which projects?
I think the two big ones, openBSD and freeBSD have done amazingly well considering how little corporate funding they have received compared to Linux. I’d trust a BSD server to a Linux for reliability anyday, and Datapipe, the ultra high-end of web hosting agrees.
http://news.netcraft.com/archives/2009/07/01/datapipe_had_the_most_…
Anyways the BSD license is more akin to an open party than a group of vultures eating a dead carcass. You’re free to contribute to the party in any way but you’re also free to just hang out and have some drinks. Just because most people don’t contribute doesn’t make the party any less fun to the people who are hosting it. They didn’t start the party in the first place to make a profit, so no one is disappointed with the results.
Projects that use the BSD Licence.
Which is irrelevant to the discussion.
No, its more like having a party, inviting some friends over in the expectation that everyone will bring something; beer, food, music – some sort of contribution they can bring to make the party even better. What the BSD party reminds me of are some very well meaning people providing a large amount of beer and food only to find that the people they invite come in, drink all the beer, eat all the food, provide nothing themselves, and on the way out they stuff their pockets with food and beer to then sell on the street corner.
There is a fine line between being open to the neighbourhood and another thing entirely where certain people take advantage of a persons good nature by free loading. Sure, he didn’t explicitly state that you have to ‘provide food’ but anyone with some good courtesy would have. To ensure that he isn’t taken advantage of, the GPL is akin to standing at the door making sure all those who enter came with something they can share.
Edited 2009-09-02 20:49 UTC
That analogy would only be accurate if the providers had an unlimited amount of food and beer. When you use freeBSD code in your proprietary software it isn’t as if you are taking something of value that freeBSD planned on selling. The code is already free, so in order to even profit from it you need to incorporate it into something that requires additional work. Can a company save money by using freeBSD code? Yes, but that doesn’t represent a loss in any way to the freeBSD team.
As I stated earlier freeBSD and openBSD are excellent examples of how the GPL isn’t needed for an open source project to reach its goals. If you don’t like the fact that companies can use BSD code to save money then that is your problem.
For BSD programmers and companies it is a win/win relationship. Nothing is lost when your goal is to make zero profit in the first place.
There are the ongoing rumors that the windows networking stack is spattered with bits of bsd code. They are clearly allowed to do it, but it seems somewhat miserly that one of the most open source unfriendly company’s (not to mention biggest) does not contribute back, that is, if they do use the code.
On a technical level I approve. If it is good code then they should use it; NIH is patently silly. On a community level it is clearly exploitative even if bsd developers allow this.
Edited 2009-09-02 23:24 UTC
Who is being exploited? BSD developers create code with the expectation that this will happen. Their goal is to create good open source code, not obsess over where it might end up.
As was pointed out before, there are many ways to profit from GPL code without giving anything to the developers. Hardware companies do it all the time. Are they exploiting GPL developers?
If people checked rather than repeat the rumors, the rumors would cease. There was BSD code in the network stack of original release of NT. Microsoft licensed the code from a company called Spider Systems. Microsoft later wrote their own network stacks for subsequent versions of Windows (IIRC, rewrites occured for 3.5, 2000, and Vista) that contained no BSD code with the exception of some commandline utilities that remained from the Spider code.
Especially with all the issues with software patents, it’s much preferable that a developer abstains altogether from contributing to a free software project, if the alternative is to contribute a patent-ridden minefield which no-one can work around.
At least the GPL keeps proprietary toxic waste away from free software.
I don’t think Objective C is the best example, it’s too rare.
Google file system? Doesn’t Linux already support too many (38+)??
All licenses are overrated, and yes, the GPL is hard to read. Sometimes I feel like we’re wasting time reinventing everything due to license/patent worries. One day maybe we’ll get over that as a society.
Obviously GPL isn’t quite a “failure” in the strict sense because of Linux, GCC, Emacs, etc. (even FreeDOS!).
But let’s be honest, more people “don’t wanna” help than those who can’t due to technical/legal reasons. Despite being totally free, I’ve found that most GPL/BSD/etc. software still lacks enough maintainers, bug testers, etc.
Can’t we all just get along?
I agree with most of the previous posts concerning how the author sort of cherry picked a few examples to try and make his point. What I find particularly objectionable about his methods is that he states the goals of the GPL license as being the same as the goals of the FSF, and then proceeds to make the case that the license is not achieving those goals. Believe it or not, I actually think he makes a fairly good case. But my issue is that he does not address the goals of the developer, which, imo, is all that matters in the end…
The goals of the developer of a GPL’d codebase often have absolutely nothing to do with the FSF’s stated agenda… The prime example is the Linux kernel itself. Linus has repeatedly made it very clear that he does not see eye to eye with the FSF on, well… virtually anything.
The GPL is the best (and often the only) license when you goals are:
1. You want to _discourage_ corporate involvement in the development of your code. Maybe not all corporate involvement, but you want to keep out those who would take advantage of your work and return nothing. This may only be a side-effect of the legal implications of the license, but from the point of view of some developers it is a benefit.
2. You don’t really mind people using your software, you just don’t want anyone else distributing it without your knowledge – and if they do distribute it you want to get their modifications back. Personally I think this is the big one – no other license enforces this as effectively as the GPL.
3. You have a base of developers that are turned off by the notion of working on software that may financially benefit someone else, but not them.
4. You want to dual license so that you can monetize your software if it is used in a product by a commercial entity. This can get hairy as the article pointed out, but dual licensing with the GPL can be a very effective way to essentially get 1 and 2 while still being able to make some money. Of course this is in direct conflict with 3, so it is often a point of contention, but it is still doable if you plan ahead and make your intentions clear.
There are other valid benefits of the GPL when compared to other licenses, but I think those 3 are the big ones. And NONE of them have anything to do with the FSF…
Is it selfish to look at it this way? If you agree with the FSF stated goals then yes, it is probably selfish. But many people (me included) don’t really give a damn about the FSF. I’m a capitalist. RS created a license that I can effectively use to achieve my goals and made it available for anyone to use. I am thankful for that (and emacs sometimes), but other than that I don’t think I ever agree with a single thought that goes through his head and reaches his lips – the guy is a loon.
Edited 2009-09-02 18:16 UTC
The GPL does not prevent this from happening.
And I thought InformIT had met its demise. It’s interesting how Chisnall regards the release of the NeXT sources in a negative fashion – had there been no obligation to release them, the GCC community would have received nothing at all. That the code wasn’t great or that Apple have gone off and funded a rival project is neither here nor there.
One can argue that Apple disliking contributing to Free Software lowered the quality of their subsequent contributions to GCC, but they could take the same attitude with their public contributions to permissively-licensed projects if they don’t want other people using their code. And although people could sling poor quality patches at Linux, they generally don’t if they want to reduce their own maintenance burden. In short, Chisnall moans about the GPL, but Apple’s behaviour is all about being able to pursue a fork of a project, which is a resource issue, not a licensing one (and his tales about Google and Yahoo! even underline this). Even then, at least the source was made available – it’s not as if it had a zero or negative value.
The GPL is all about end-user freedoms and having the code as open to as many people as possible – that’s why people say that it’s all about “freedom for the code”. When Chisnall pontificates about popularity or how business-friendly the GPL is, or tries to teach us a lesson about how “forcing” people to share is bad, it sounds like an apology for letting companies like Apple do the right thing. Since Apple routinely show themselves to be anything but trustworthy (patents, DRM, spurious DMCA activity, harassment), I’d rather have them face off against the GPL, myself.
Although I like the concept of GPL (yeah, the viral nature of it actually) I don’t like the GPL itself because…well its like reading an EULA. It seem to cram everything in there so its impossible to read it all, and it seem more focused on stopping big evil capitalist companies (like the “must stop tivo and microsoft at any cost so lets include clauses directed at them” community surrounding it) rather than sharing…so there are other licenses like the GPL, with the same “must share” nature that are far simpler, easier to understand, that I prefer over the GPL. Even Microsoft got one that I find better for that reason. Ironic, or what?
Are we reading the same License? I always thought it was fairly clear and straight-forward — at least, as much as any legal document can hope to be. I’ve certainly never had any trouble understanding it.
Here’s a simplification for you (numbers in braces refer to relevant sections in the GPLv3).
0. Definitions. [0, 1]
1. Receiving a Licence.
– 1.1. License grant is given upon receiving the Program. [10p0s0, 2p0s0, 11p0-2&7, 3p0]
– – a. License acceptance is implied by modifying or propagating. [9]
– – b. No warranty is provided, unless in writing for a fee. [15, 16, 17]
– – c. Additional liability disclaimers may apply. [7a]
– – d. Additional publicity restrictions may apply. [7d]
– – e. License adherence is not excused by other obligations. [12]
– – f. License termination may result from license breach. [8]
– 1.2. Additional permissions may apply. [7p0, 7p9s0-1, 14]
2. Using the Program.
– 2.1 Using the unmodified Program and fair use are unlimited. [2p0s1-3]
– 2.2 Making and using covered works is permitted. [2p1, 2p2s0]
3. Conveying Source.
– 3.1. Conveying verbatim copies of source is permitted. [4p0s0, 4p1]
– – a. Licensing restrictions may not be imposed. [10p0s1&p2, 2p2s1]
– – b. Patents, if they protect you, must protect everyone. [11p3-6]
– – c. Technical measures may not be enforced. [3p1]
– – d. Notices must be retained and made conspicuous. [4p0s0]
– – e. Additional names and marks terms may apply. [7e]
– – f. Additional liability indemnification terms may apply. [7f]
– – g. Transfer of control requires transfer of rights. [10p1]
– 3.2. Conveying modified source versions is permitted. [5p0s0 parts]
– – a. Above terms of Section 3.1 apply. [5p0s0 part]
– – b. Licensing must be available under this License. [5c, 7p1-2, 7p9s2]
– – c. Notices must be included and prominent. [5abd, 7p10-11]
– – d. Additional notices terms may apply. [7bc]
4. Conveying non-source forms is permitted. [6p0s0 part]
– – a. Above terms of Sections 3.1 and 3.2 apply. [6p0s0 part]
– – b. Source code must be made available. [6p0s0 part, 6p1-6, 6p11]
– – c. Installation information is required for User Products. [6p7-10]
5. Conveying Non-GPL Works.
– 5.1. Conveying linked Affero GPL works is permitted. [13]
– 5.2. Conveying aggregates is permitted. [5p5]
I think David Chisnall forgets that it’s not just about the ideology when we are considering to use GPL or a BSD type license in our project. The GPL is also a legal tool that helps you accomplish your projects/business strategy. Like the dual-license business model for example:
http://www.openeo.biz/dual-licensing/
or just sharing the burden of developing a useful internal tool without the risk of seeing its sources bundled in your rivals closed source product.
Of course the GPL can cause problems like the article author described. But thats more of a case of choosing the right license and strategy for your project. NOT the case if the GPL is evil or good by it self.
The GPL is one of the greatest inventions in the software world, but it is unequal by nature.
As the article author notes, it only applies to redistributing software, so that only businesses of a certain kind can make money with it. This is an inequality, and contrarily to what most of the comments here say, it seems to me that it is more the big corporations that are profiting of the GPL than the independent/small developers (and users). This inequality might also bend the focus (money) towards big industrial computing needs instead of home computing, as this is where you can make indirect money out of it.
Sell indirect services or hardware, and you can do what you want with GPL. Make a living directly out of software, it’s another story. Something’s wrong.
…before I grew a little irritated. “NeXT inherited OC…” blah blah blah. Inherited or not, they should be aware of the licensing, just as they are ACUTELY aware of their own OS licensing (and EULAs) as we have recently seen. And what they did to get around it was what I would call morally shady.
Look at software, read the license, know what it says/means, and if it is good for you, use it, if not then don’t use it. Write your own code, or find code under a more pleasing (to you) license.
GPL has not stifled anything and for the people who use it and swear by it, it accomplishes just what they wanted. Open, shared development of software.
Next time, actually *read* it then… Objective-C was not GPL, but when they converted it to use GCC for the compiler front-end they ran into the problems. Even Stallman had to consult a lawyer during that situation, because it was one of the first real tests of the “user-linking” argument for GPL.
Edited 2009-09-03 03:48 UTC
My bad. I thought it said they inherited it that way.
I agree with the writer on the fact that GPLv2 was far more practical for end user and programmer alike than GPLv3 that was solely made in purpose of boosting FSF ideologism regardless of practical side of things.
GPLv3 doesnt allow running the program, for any purpose…more so if you plan on running it on proprietary hardware and like the writer show you, you cant just send a binary package of your app to a friend for him to use, you need to give him the source code too bundled up or you’re breaching gpl…therefore isnt distributiens using .dep or .rpm breaking GPL?
not if you’re still providing the sources, which is what all the distributions are doing.
The author doesn’t like the GPL, but fails to give convincing real world arguments as to why. Instead, he:
– confuses technological limitations with licensing issues. Ex: Apple is moving to clang not because of GPL issues but because it can be used as a library whereas modifying gcc would be very painful. On top of this they want LLVM because of the possibility of compiling to intermediate code and producing machine code on demand on the users’ computers (think OpenCL);
– assumes companies are willing to publish changes when that doesn’t contibute to their bottom line. They may run away from using GPLed code, but they also take BSD code into their products without giving any credit to the original project whatsoever. In many cases, this credit is more important that actual code;
– talks about how GPL can be circumvented which is totally beside the point. Just because it has flaws, that doesn’t mean we have to choose the alternative (making those flaws the rule);
– confuses the FSF’s agenda for the GPL with the actual reasoning of the developers for using it. These are completely different views, as proven by the utter failure of the GPLv3.
I don’t think the GPL is the end-all be-all of the free software licenses. In fact, I mostly choose the MIT license (an even more permissive license than the BSD) for the code I publish. If it’s something small, I don’t care much about what people do with it. But if it is something bigger (i.e. something in which I spent more than a couple of hours), I don’t want people to go around distributing modified versions without giving me credit and/or letting me see what those changes are (and use them, if I find them useful).
The more permissive licenses give freedom to the code, the GPL protects the developers’ rights over their code (while giving mere users all the rights to do whatever they want with it). That’s why the GPL is *very* popular, and why there wouldn’t be any open source movement if it didn’t exist.
Now, did I mention that the GPLv3 doesn’t fit this scenario and that’s why it is a failure?
So basically Apple couldn’t create a proprietary application with GPL code. I’m not really crying about that. In fact I’m glad that Apple couldn’t just pilfer GCC and sell it bundled as a proprietary product. I don’t really give a rat’s ass if they improved their own version of GCC for years. They should have read the license before they decided to use it. I have just as much a right to piss and moan about Microsoft not allowing me to tweak the source of Windows as anyone else has to complain about not being able to create proprietary software with GPL licensed code.