Eric S. Raymond speaks heresy.
dotcommie.net
dotcommie.net
My instinct is to disagree with anyone who speaks in those tones, until I take time to really dissect what he said (and then disagree on better principles!).
For all we know, he writes books that sound like his blog posts, and these get "cleaned up" in the editorial process.
If you thought fame went to ESR's head, you're wrong; he was always like that.
I don't think he's done much since then that was worth writing home about, but that doesn't take anything away from that particular accomplishment.
CatB, although anecdotal, is trying to make a coherent case from evidence, and the author's ego is kept relatively in check. His later writings became more like opinion pieces, and are constantly self-referential. My irritation with those must have carried over to the original.
Meanwhile, ESR's point is an excellent one.
MIT license has proven to help a project to achieve commercial critical mass, and GPL is becoming an anachronism. Most of recent open source software that managed to build up market- and mind-share quickly was put out under MIT license.
GPL-like licenses are becoming an off-putting factor nowadays simply because you expect to be offered a 'double-licensing' option somewhere down the line. Why would people invest in a project when they are only allowed to play with it, but never to use in a commercial environment? (Until you pay for a commercial license that is).
RMS has been proven right. Software wants to be free, so it does not need chains attached to it, even when they are meant for its own protection.
So why scare anyone away with restrictive licenses when open source will naturally prevail anyway.
But what about the advantage Microsoft gained from basically grabbing a BSD-licensed TCP stack for WinNT? Apparently they recoded most of that stuff since then, but it was probably a great help at the time. All you need to defeat esr's argument is one or two cases where it was proven wrong.
In my opinion, the GPL is not just a legal document but a cultural artifact. When you see a GPL notice, you can feel warm fuzzy feelings of sharing certain beliefs with the authors about freedom and sharing. You can feel the peace that comes with source code.
To paraphrase you, why should I invest my own free time in a project that could be subverted from bringing freedom to its users?
Market- and mind-share are not everyone's measure of success. And I'm not prepared to have you redefine software freedom in the name of RMS today, alright? :)
Let's say I develop a very useful system under a free software model. Work that undercuts the monopoly of the unfree software producers, who fight you tooth and nail for years. They lose, but then they do the standard countermove -- taking the work and doing an Embrace & Extend. They provide a system which is subtly incompatible to all their users, which aims to capture all the benefits of your new idea while wresting control of its future development.
This is the situation that RMS was fighting in the 80s and 90s. It wasn't just Microsoft; most users of any computing platform were in thrall to one dominant company or the other, be it Sun or IBM or what have you, who pulled similar tricks.
Linus Torvalds has said over and over that GPLing Linux was the smartest move he ever made. It created a situation where rival companies could trust each other, since each contribution would always go towards growing the Linux ecosystem for everyone. No one company would ever capture all the benefits for themselves. This has worked so well that Linus continues to use GPL for his newer projects like git.
Personally, I trust Linus more than ESR when it comes to understanding software. Linus is a true pragmatist with real experience running major software projects that are disruptive to the existing order.
ESR portrays himself as both a great programmer and a pragmatist, but the evidence is largely confined to his own writings. I leave it up to others to decide if fetchmail is on the same level as git or emacs. And if you look at his other writings, he's explicitly political. He is the sort of libertarian who is actively against the idea that freedom should come with responsibilities to other citizens. (As the featured speaker at a gathering of Computer Professionals for Social Responsibility, he ridiculed their name.) I say this not to imply he has some evil agenda - he's trying to describe the world how he sees it, and he regards appeals to "responsibility" as an Atlas-Shruggy tyranny of the mediocre. However, much like Ayn Rand, he overstates the case when he alludes to his own work as being definitive, or even academically significant. I don't know of any empirical studies that back up his political ideas, and in this excerpt at least he is not citing any.
That's not true. He merely believes that they have a different set of responsibilities than you'd like.
> As the featured speaker at a gathering of Computer Professionals for Social Responsibility, he ridiculed their name.
CPSR have a politics-laden definition of "Social Responsibility" which he doesn't agree with. Is their meaning sacred or is one allowed to criticize and even ridicule?
http://www.catb.org/~esr/writings/cpsr-speech.html
It may not be the last word ESR has to say on rights and responsibilities, but I think I accurately conveyed his views. I'm not even arguing that they are wrong, although I think they are. My point was perhaps unclear, but I think ESR has a philosophical problem with the idea of a society governed by an ethos of mutual responsibility and obligations. He sees that as a road to tyranny or stagnation, consistent with Ayn Rand and her intellectual descendants.
The GPL is about building a web of such responsibilities, explicitly to force closed-source firms to abandon their tactics and become part of a community. I get the sense that ESR finds such tactics distasteful because of his political beliefs. Which is fine! He's not alone in that.
The problem is that he's still claiming the GPL has held us all back by alluding to economic studies, which I'm not sure even exist. The GPL seems to have done really well by every empirical measure I know of, and it shows no signs of strangling capitalism or anything.
Whether or not your point is unclear or incorrect, it's pretty much irrelevant to whether ESR is correct about GPL.
Reminder: good people aren't necessarily correct on a given point and bad people aren't necessarily wrong on a given point. In fact, good/bad is pretty much uncorrelated with correct/wrong.
Also more or less irrelevant when compared to its competition. As much as I respect the BSD stack and folks - they rock - the BSD operating systems are a market flop.
OSX has some parts that are BSD-free, parts that are GPL-free, other parts that are open-source and the rest is the most heavily guarded proprietary stuff in this industry. The fact it is hugely more successful than the combined presence of its competitors bears testimony to the fact that basing your OS on the work of others without giving much back is a winning strategy while contributing to products that can be used in such way is pretty dumb from a business point of view.
Markets are pretty good at identifying opportunities and the fact there is no Red Hat on the BSD space should suffice as evidence ESR is wrong in this one.
You have to actively choose anything else if you want to run it.
The only reason to contribute to a BSD project is when you dominate the segment, like Apple does with WebKit browsers, and you want more companies to feed around your ecosystem increasing its value for you.
Don't assume Steve Jobs does it out of his good heart. The OPENSTEP OS was one of the more closed (as in "doesn't play well with others") Unix variants of its time.
Let me try to argue not from ideological (closed source being immoral etc.) but from the economic point of view. We are talking about commoditization of software here.
There are two types of software - one that contains competitive advantage for the business, and one that is a commodity. And software has a tendency to migrate from the first bucket to the second very fast. And by the way, 'commodity' is not a bad word. Software may be very smart and complicated, but it would not be unique in what it does.
For example, if you have written the first social network software -- you have something unique and you'd be mad to open source it straight away (or you'd be very passionate about software freedom, like RMS :) . But when there appear tens of social network apps floating around, you should act like ning and give away your software for free. Why?
This seems to be the rational choice for commodity software. To become king of commodities you have to compete on price. 'Free' is the ultimate winner price. And MIT license is the ultimate free license (less restrictions than GPL).
When your free application grabs large enough slice of market share (mind share) it will start paying for itself in many ways. It 'develops and tests itself', it provides free marketing for you etc. And you are free to build another unique value-adding application on top of this commodity layer.
So, for example, 37signals are very happy with RoR being free and under MIT license. They are using it for their in-house proprietary webapps, while it is being developed and tested now to the large extend by the community. I am sure 37signals would be ecstatic if Microsoft decided to 'grab' Ruby on Rails and integrate it into their next OS.
More important, why should I invest company resources on software that could be used to compete against me by a better funded competitor?
All MIT/BSD licenses can. All *GPLs, MPLs can't. The choice is clear.
From the projects he mentioned:
IBM (Linux): GPL Netscape/Mozilla (Mozilla/Gecko): MPL Transmeta (Linux): GPL Sun/HP (Gnome): GPL
There is a pattern to be seen: GPL licenses create vigorous diverse communities around them more easily than BSD-styled licenses.
We want Free software to succeed. If it succeeds at the same time that other commercial endeavors succeed, then that makes the software ecosystem richer, and gives us a broader set of tools and ideas to employ.
That's my understanding of ESR's argument too. One counterexample is Apple's OS X. Another counterexample, in a different way, is mySQL which offers both GPL and proprietary licences; if MySQL used the BSD license, their business model wouldn't work.
I think it's good that there are different open source licenses. People writing open source software can then choose a license that's appropriate for what they want to achieve with the software. It would be stupid if there were only BSD-style licenses, or only copyleft licenses.
this reminds me of this email conversation: http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/doc/...
especially: "I had to put CLISP under GPL because libreadline.a was something I wanted to use and I didn't want to write myself. libgmp.a is similar in this respect, and it may therefore help putting some new packages under GPL.
Building libgmp.a was just too hard work. Other people shouldn't get it for free."
You must be kidding, right? I have 2700+ Linux boxes in our 4 data-centers and I am quite sure we are not playing with those machines. We also have a whole lot of GPL and GPL-ish software deployed on those servers (as well as BSD, Apache and MIT-ish stuff).
I am also pretty much sure our business depends on it.
So, would you please stop spreading this kind of FUD?
And would you please stop using labels.
In the original article there is an arguments that GPL makes corporate clients reluctant to use the software. This may be inaccurate, but this is a fact of life.
We are talking about merits of MIT license vs GPL, not about proprietary vs. open source. On the last issue the debate has been closed some time ago, and open source won.
Please decide. Something can't be a fact of life and also be inaccurate.
Well done.
Got it.
Furthermore, customers get scared off by contracts that they don't understand, because they could be held to some obnoxious clause that's hidden in there. Enforcing contracts is inefficient, and we should stop doing it.
Is there more to ESR's argument than that?
It's real easy to see how a negative hit to someone like Bernie Madoff ruins his career, but he's a high profile individual that many people know on sight.
If I started ripping people off, there's nothing to say I couldn't easily mitigate any negative PR by changing names (or on the internet, just changing handles). In more local endeavors, I could make a mint, ruin my name, and just move to another state (or if pressed, another country.)
Contract law still bears an important role in accountability, IMHO.
Yeah, about $65 billion too late.
It's not even a question about reputation scaling -- which (as you say) it does not do, which it hasn't ever done, since even in 10,000 BC you could travel to a place beyond the range of your reputation. (Maybe the Internet will change that. The jury is still out on whether it can, as well as on whether the negative consequences of that are too great and we'll have to take steps to ensure that the Internet can't destroy your reputation worldwide. Reputation isn't all smiles and balloons. You can destroy innocent lives with reputation. Happens all the time.)
Reputation just doesn't work in all sorts of situations. Madoff is a prime example, but anyone who uses Twitter, reads The Four Hour Workweek or spends twenty minutes watching TV commercials can find thousands of additional examples. Reputation is easily faked. It is easily bought. It is too readily extrapolated from one narrow field of endeavor to another. It is biased toward members of your family, and toward people who resemble members of your family. It relies on past results to predict future results, and thereby mispredicts events that occur on a longer time scale than the acquisition of a reputation. It works by implicitly assuming its own effectiveness and breaks down in edge cases. ("Why would Mr. Jones feed me Kool-Aid laced with poison? Just think what that would do to his reputation!")
Most importantly, reputation is just a predictive tool. When it fails, it leaves you with no recourse: That is not its job. I can use my accountant's reputation to predict whether he will steal my money. But if he does steal my money, reputation is now useless as a tool for getting my money back. That's what a contract is for. The primary purpose of a contract isn't promoting trust; it promotes trust because its primary purpose is to give me recourse after trust breaks down. I can try to take my money back from my account -- and if that doesn't work I can attempt to take it out of his insurance company, his auditors, or even people he has previously paid (look up clawback in the dictionary -- my accountant just explained it to me).
That said, I am all for court enforcement of contracts. In fact, I wish that the courts would respect, if not enforce, far more contracts than they do.
Erm... Microsoft?
As I understand, the idea is that market and open source are friendly forces and actually support each other in the long run. The GPL may prevent open-source software from being market-friendly.
On the other hand, if your primary concern is starting a project with no intention to sell it, I would go with the GPL to prevent a company from shanking your idea. But as an open source company, BSD is the way to go if you are selling to business.
I'd certainly be in support of not enforcing contracts that can't be broken down into simple statements that a 10 year old couldn't understand. It'd prevent a lot of the problems you see rolling around about now regarding investments people "didn't understand" and the like.
This line of argument has been part of Raymond's strategy for years. When last we saw it, he was arguing that vendors should be allowed to embed binary blobs into the running Linux kernel, because it didn't really matter if we could read driver code --- Linux just needed good device support, so people would accept it.
We get it, Raymond. Nobody's paying attention to you. Here, we'll all fix that now. Feel better?
That's sad.
well, to be fair, he throws code into gpsd at times. not that gpsd is a great codebase.
The GPL is what made it possible for that company to consider open sourcing its product. I'm sure there are other small companies like that as well. It seems like removing the GPL would only be beneficial to large companies (and, to be honest, I'm not a huge fan of the GPL, but I see its value).
Some others have mentioned Apple as a counter-example, and I think they're dead on. By allowing BSD to be close-source forked, the market provided the economic incentive to allow Apple to run with it. They could then close a lot of the difficulties in an OS (arbitrary hardware setups, unwillingness to couple strongly to applications, etc.), and they've made an incredible product out of it. Philosophically, open-source would never make anything like OS X, because of the amount of vertical integration.
There isn't always incentive to move a project back to closed-source, and it's hard to argue that it's a long term strategy, but you can't say that the market universally crushes projects that aren't open-source.
Abiword seems to work just fine in contrast.
I'm the author of an LGPL-ed library. It sees a modest amount of use and my goal in choosing that license is that any changes made to that library be shared back with the rest of the community. It's not GPL-ed, so you don't have to share your application code, but if you change my library, you do have to share your changes/improvements. If you don't want to share, then don't use my library. Simple, right?
Well, every few months I get a note from someone who has noticed an application that doesn't meet this simple test. And I have to send them a dunning notice about the license violation. How many applications are there that I don't get notes about? And absent a license, does anyone seriously think that the mass market would give up "desirable application X" because its creators were bad actors vis-a-vis some embedded library?
His examples are interesting, but of course don't apply to projects that were closed in the first place (adobe/google/microsoft/oracle/ibm - anyone making serious money from selling software). And for closed source projects, dropping the GPL would also change the game as a whole in other ways, perhaps unexpected.
The arguments about scale are interesting. For an IBM the GPL is just fine, they have the size to compete against anyone with value added services on top of Linux. For smaller, open source projects I've seen them prefer apache 2.0, I speculate because it encourages commercial growth. When you're IBM someone has to grow pretty big to pose a threat. For their other closed products they continue to enjoy great revenues. They can put the resources into keeping them best of breed.
At the end of the day I believe the GPL best serves the rights of individual programmers and a moral argument can be made that software, just like mathematics, should be free. Notice that mathematics is also largely a collaborative effort, it's very seldom done well by isolated individuals.
Ordinarily however, IBM considers it's greatest asset it IP, and they see 'GPLing' their software as a threat to their IP. They are actually rather ambivalent towards the FOSS ideology.
This appears to be his only stated problem with the GPL, and I thought the GPL is anti-business meme would have died long ago given the continued success of Linux.
BSD is more inline with original hacker culture (IMHO, obviously). The GPL forces you to believe what I believe to use my code. Dropping it to get rid of viral fears is a very good idea. The more use the code has, the better off we all are -- there are enough other good reasons than force for people to share changes and contributions.
AFAIK, generally US Government developed software is generally public domain (unless it's classified or something) and I doubt that means someone can just "assume ownership" of it.
They can't assume ownership of exactly what the US govt released, but they can create a derived work and own that.
The Slashdot crowd used to hype-love him.
> Effectively putting them under proprietary control, proprietary licensing and
> then tried to make a business model out of that. They generally fail.
It sucks if you see people being charged for your free code by some scumbag freeloader and the users end up with an inferior program. People with that mentality don't mind spam-vertising to push their scams.I used to be pro-BSD/MIT licenses, now I'm pro GPL again.
GPL is the glue that binds the community. Without that everything will fall apart. And ERS wanna go that way. So bad. I'm really disappointed of his view.