There seems to be this whole generation of open source programmers who think that software development is a game. Zed gave away his software to get all kinds of accolades and adoring fans -- which, when you think about it, is pretty bloody bizarre.
Open source software is wonderful because it keeps us programmers from constantly reinventing the wheel. It gives us all the collective ability to improve the infrastructure that our products depend on. It's not really surprising that the most mature, stable, and user-friendly products are operating systems, web servers, database servers, and so on. It's bottom layer that programmers use to build software products regular people use.
Zed's pissed because Mongrel doesn't get mentioned anywhere. I use open source software in my business all the time to advance what we can deliver to our customers; if someone wants to know what we run, I'll tell them. But guess what, they don't want to know!
If all Zed wanted was credit, he should have picked a product with more MBA appeal. Instead he build a web server -- that's infrastructure -- and nobody outside of the programming community gives a crap about infrastructure. It's the final product that matters. Even if Ruby on Rails gets mentioned, most people wouldn't know the difference between it and PHP. All they know is that you're in the same camp as 37 signals. Just as companies that use PHP will say it's the same technology that powers Facebook.
Ultimately, it doesn't matter what license he gives his software for the game he's playing. The rest of us, however, just want to get our work done.
I think a lot of this 'I don't care about infrastructure' is specific to webapp programmers - If you write infrastructure that the SysAdmins like, we do celebrate you to a certain extent. Programmers (well, webapp programmers, and yeah, some of them do qualify as 'real programmers' in spite of the stereotype.) seem to be more MBA-influenced than SysAdmins, which I guess makes sense, if your business model is to build something cool and then have a MBA buy it.
Web app programmers care about infrastructure; hacker news wouldn't exist if we weren't constantly talking about it. Hell, even this rant from Zed is now on the top. Zed gets all the credit he can possibly get from Mongrel -- hell, I'm not even a RoR developer and I know he's the primary author. I use Apache, but I couldn't tell you who's in charge of it right now.
It seems strange to me that, as he says: "when I would try to get work, it was impossible for me to explain the magnitude of Mongrel’s impact". Who was he talking to in these companies? My point is that MBA's don't care about Mongrel. HR drones don't care about Mongrel. If that's who he wants to target, stop building the next mail server and start building to next twitter -- it's probably less technically interesting but you'll be more popular.
SysAdmins care primarily about infrastructure; webapp programmers, well, you have a point. I mean, the top two stories of this moment are clearly infrastructure. But they care about other things, too. SysAdmins exist so that developers don't need to focus on infrastructure.
Any webapp programmer worth knowing cares a lot about infrastructure. We might not be in charge of day-to-day operations, but we know it deeply shapes the end-user experience, and end-user experience is our whole raison d'être, whether that end-user is another programmer, a paid client, or somebody else.
sure, you care about it, but it's not what you do. Just like as a Unix SysAdmin, I care very deeply about power. Without good power, nothing I can do means jack. However, I know less about it than an electrician would, and (going back to Zed's comment) I wouldn't be able to name the people/companies who are famous for coming up with the high power switching technology required to keep my data center on-line.
Zed gave away his software to get all kinds of accolades and adoring fans
That's a straw man. There is no mention of his original reasons for giving away his software. Only now, in hindsight, he realises it annoys him that of the great many users, not only do none credit him, but some even blame him. That's pretty harsh.
Only now, in hindsight, he realises it annoys him that of the great many users, not only do none credit him, but some even blame him. That's pretty harsh.
Is it? How many people using Linux know who, say, Ulrich Drepper or Alan Cox is? How many of the Apache installations in the world give Brian Behlendorf "credit"? That's just the nature of writing open source software -- IMHO the whole idea is to write something that other people find useful, and give it away.
And honestly, Zed complaining about a lack of attention and props is outrageous. The guy must have an enormous ego. Compared to most authors of open source software, he is far from anonymous.
How many of the Apache installations in the world give Brian Behlendorf "credit"?
And Brian's the highest-profile contributor to Apache. What about Rob McCool, Robert Thau, Roy Fielding, Ralf Engelschall, Rian Hunter, Rainer Jung, Rasmus Lerdorf, Rüdiger Plüm, and in some sense Randy Terbush? And those are just the contributors whose names begin with "R": http://httpd.apache.org/contributors/
That's just the nature of writing open source software -- IMHO the whole idea is to write something that other people find useful, and give it away.
You can charge a redistribution fee or something else instead of just giving away the software. Don't you dare suggest that people are unwilling to pay either, a lot of people buy Mac apps that do the simplest things. Those suckers don't even get access to the source code!
Zed has what is known as "open source remorse"... he should be honored that people respect his code and want to use it in their apps... doing so was (in hindsight) a risky proposition b/c he abruptly stopped supporting Mongrel after a petty (and embarrassing) spat with others in the Rails community.
Fortunately, Phusion stepped in and wrote Passenger which now handles most Rails deployments.
Bottom line: Zed is a talented hacker but he's maybe 1 in 100, not 1 in 1000 or 1 in 5000. If he hadn't written mongrel someone else would have, and he'd just be another anonymous guy with a chip on his shoulder and a bit of DHH envy :)
Any work should be fulfilling in itself, and one should wish to do it with or without pay. I think the MIT license is the one that best embodies coding as art, and I have tremendous respect for people with the balls to license their code under it.
You basically just said that Phusion wasted their time re-inventing the wheel instead of supporting Mongrel and making it better. The whole point of releasing the code is to stop wheel re-invention...If you want to rely on Zed or any other Free software developer for support, start paying them.
Not at all. Phusion uses a different approach with different design goals... It would have been a lot more work to rewrite mongrel to handle those additional goals.
I don't care about support, but for Zed to be mad that nobody wanted to hire him as a consultant for mongrel is a bit absurd considering that he abruptly quit maintaining the product. What's to say he wouldn't just walk away from a consulting gig if his feathers got ruffled.
He's not being held to a different standard. Microsoft doesn't get credit for every memo or power point presentation! Why should Zed get credit for every web site? It doesn't make sense. He wrote a cog.
Microsoft, on the other hand, gets paid for every memo and presentation, even though they just "wrote a cog". It's not unreasonable for Zed to desire something in return for writing a cog, even if he perhaps has not been using an optimal strategy for achieving it.
Microsoft gets paid because they're a business. It is unreasonable because Zed is not running a business. Running a business is hard -- a lot harder than just writing software and releasing it to the wind.
You know the GPL doesn't have (and expressly forbids adding) any sort of advertising clause, right? And you know how all those fly-by-night VC-casino startups prattle on about 'cloud' and don't generally distribute software that you execute on your own computer? (and when they do it sure as fuck isn't Ruby or Python)
I don't really see anybody needing to 'convey' software that uses lamson. Not only is nobody going to want to buy a license from you, are you really going to get copyright assignment from all contributors before relicensing their work?
On one end of the spectrum, the Linux kernel, the GPL works perfectly! There is a nice crystal clear boundary between kernelspace and userspace already, and the gray border region of closed commercial drivers works itself out due to the companies' desire to maintain one codebase (it's not a derived work if the same blob is used in Windows!).
There is at least one guy (quoted in the article) who wants Lamson under a different license so he can "use it at work". Zed further implies that many VC-backed companies are skittish about GPL software -- even if their services are entirely "in the cloud" -- most likely because it limits their options.
For example, lots of in-the-cloud companies offer locally hosted versions of their services. Does that count as "conveying"? If the company goes belly-up and it needs to sell off its software assets, does that count as "conveying"? How about if the company and its software is bought outright?
I'm guessing these are not questions VCs want hanging over their business deals, and that they are willing to pay money so that they don't need to consider them.
Selling locally hosted versions is absolutely 'conveying' and the GPL's text is quite clear.
Selling the rights to the software or the company itself is straightforward -- just because it's licensed under the GPL doesn't mean the company doesn't own the copyright! The GPL text is intentionally unclear about this, as the FSF pretends that everyone is going to assign copyright to them for 'safekeeping'.
Granted, selling the software outright would be conveying, but what if the company leases their service on a remotely administered box colocated in a local data center? I think it is not totally clear that software has been conveyed, especially if it is under GPL2.
Regarding selling rights: you perhaps misinterpreted the scenario I am proposing. I am supposing that a company has written a proprietary "cloud" internet application that incorporates Zed's GPLed Lamson component -- which you say they can do because no software is conveyed. However, if they want to sell their software or (potentially) their company, I am saying that -- cloud or not -- they will be interested in acquiring a non-GPL license from Zed because the sale of their non-GPL software without such a license may run afoul of the GPL... which is why Zed's use of the GPL is relevant even in a "cloud" context.
The 'Affero GPL' -- which is intended to close the software-as-a-service 'hole' -- as thus it is used by noone, and promoted only by the nuttiest faction of the FSF.
As barely realistic as complying with / enforcing the GPL's terms are (especially in v3), it's nothing compared to the fantasy-land that is the AGPL. The GPL at least has copyright law to piggyback off of / fall back to -- The AGPL is just a shitty EULA!
It's true that GPLv3, the original AGPL, and AGPLv3 are not as well tested in court as GPLv2. However, they do not depend on "clickwrap" contracts, as your profane comment appears to imply; they are written solely as unilateral copyright licenses, not contracts ("agreements", which is what the "A" in "EULA" stands for). It's possible that a court might invalidate them, but they are grounded in the exclusive rights reserved to authors under regular copyright law.
The AGPL is not as popular as the standard GPL, partly because it's somewhat new. Laconica is probably the most popular piece of software that uses it.
I don't think the FSF really has factions. People who disagree with Richard tend to just leave.
Email and messaging services are just as essential today to the network infrastructure as are operating systems to desktop computing environments. There also exists a nice boundary between the service providers and users.
But the network infrastructure is all 'cloud' and shit, increasingly wrapped up with the software being provided as a service, and that boundary between service providers and users makes the GPL pretty useless. The service providers never redistribute the software!
I only see two groups of people trying to make money distributing the software itself: spammers, and sellers of shit to pile on top of Exchange.
Every time I think I understand software licenses, I immediately think I don't. The posts I've seen today have only served to confuse me more. Is there a simple, understandable, maybe even FUN, required reading page on this subject? I'm looking for "talk to me like I'm a 3 year old" but also "don't waste my time". Suggestions?
As a partial answer to your question, I for one thought that Zed's final point made sense (and made me better understand the GPL):
Open source to open source, corporation to corporation.
Basically, you can do just about anything with MIT- or BSD-licensed software. But the GPL tries to make everything around it GPL too. If you build software that integrates with a GPL'd library, you have to release your software with a GPL (or similar) license.
So Zed's plan is to offer his software under a GPL license for free (open-source to open-source), and also sell it without the GPL license for pay (corp to corp).
In the case of mongrel or lamson, I don't see the difference. All of the binding clauses of the GPL apply to distribution. It isn't until I distribute it that I have any responsibilities at all.
So if I use mongrel or lamson I'm not distributing that code in binary or source form. Thus, if I want to use the code I can do whatever the hell I want (modify it, use it, print it out and bathe in)... until I distribute it somehow (which a typical web-app never does) it makes zero difference.
I'm VERY confused after reading this rant as to what Zed thinks this actually does.
say Zed released Mongrel under a BSD-license, then any big company (or any person really) could come in and modify it, make it better and then sell it. And Zed would be left with nothing.
That's what GPL is for, adjusting it is fine, but you can't make money out of a redistributed modified version.
The best single work I've read on the subject is Van Lindberg's _Intellectual Property and Open Source_ (http://www.amazon.com/dp/0596517963/). I don't think it's quite "talk to me like I'm a 3 year old" territory -- it assumes a basic understanding of code and property -- but I don't think it's a waste of time.
I released a piece of web software that had a postcard license (to use or distribute it you had to send me a postcard). I never once received a postcard even though I can easily google and find plenty of people using it.
The closest I have ever gotten to something like that is when someone sent me a dvd off my amazon wish list for my netflix recommendation framework which was pretty cool.
Maybe he could word it like this: advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors.
What makes Zed so special that he should "get something out of" his freely released software — while the developers of all the other parts of the system that are required for everything to work, don't?
A list of all the developers whose free software contributions are necessary for a website to be used would not be short. It would be absolutely ginormous.
Zed's not special. People who write code should be rewarded for their work: "the labourer is worthy of his hire," after all. This is why BSD-style licenses in a world where multimillion-dollar companies make a killing off of the code you write don't make sense for the individual developer -- especially when you're a star contributor.
Not everybody who uses Mongrel is a multimillion-dollar company.
Maybe if it wasn't free, nobody would be using Rails and Mongrel - everybody would be on C# and Mono. There is always competition, so "should be rewarded" is really determined by the market. You can't just work on anything and then demand money for it.
Mongrel that costs money would be a different product from Mongrel that is free.
Not everybody who uses Mongrel is a multimillion-dollar company.
Yet they can afford to hire employees who know how to deploy Mongrel and Rails. Programmers and sys-admins aren't cheap, neither are executives, marketers, salespeople, etc. Even if you're running a tiny Web startup, you should be able to afford small donations.
edit: You can treat the donation as a "license fee" if that makes the accounting easier to deal with
You've done a lot to increase his reputation. Look, you just said that the web server he wrote was good enough for your production work and that you believe other web servers to be inferior.
By mentioning Mongrel you increase the visibility and reputation of Mongrel, which increases his visibility and reputation. Now, when he introduces himself to someone he can say, "I wrote mongrel." And they will say, "cool!" instead of "what's that and why should I care?"
I must admit, I am not quite sure what his problem is. Surely if he would want a consulting job, he would have no problem to get one, with Mongrel as a reference?
I remember he used to rant about something like not getting a job, but he can't have been serious? Maybe he is asking 1000$/hour, or his ego really makes him unemployable (which I doubt). But even back in the "big rant day" I think there was a footnote somewhere where he said he basically was fine and didn't need a job.
Maybe without Mongrel, nobody would listen to his rants to begin with. (I guess he did lots of other awesome stuff, but I only know him for Mongrel).
Someone has to say it: Zed shaw is a cock. He doesn't get the recognition he thinks he deserves _partly_ because of his rotten public image, which he carefully crafted himself: crass, erratic, unprofessional, needy and infantile. The last damn thing a startup would want to do is to say "Here's Zed Shaw - we use his software, isn't that great?".
I say "partly", because the other half of the equation is that he doesn't deserve the reputation he thinks he deserves. He is high-profile due to controversy, but plenty of other people have done more for the Open Source community with less kudos.
Please, avoid the ad hominem attacks. If you have something to say about the article, say it about the substance of the article, not the tone, or the character of the author. This is hacker news. http://www.paulgraham.com/disagree.html
Zed makes some interesting points about the abuse of open source software in startups. If you read some of his other writings, and don't bite on the troll/flame bait, you can see that he's been pretty upset about the lack of contract work after releasing mongrel.
I think that's a fair topic for a good rant. I'd be interested to hear the perspective of other devs of the django/rails crowd weigh in on this topic. How does your contribution to open source contribute to your bottom line?
I don't often agree with Zed wholeheartedly, but in this instance I do. I've said pretty much the same thing repeatedly on various license threads here at HN (and I work on projects under both BSD-like and GPL licenses, because the two licenses do result in very different results in the market of ideas and money).
Regardless of whether we can name lots of people who've done more (there's always somebody better, no matter what the qualifications, and they're probably better than you and me, too), Zed is absolutely right in this case, and if fame and fortune is part of his motivation for doing this stuff, he should choose licenses that are amenable to that.
A major part of the content Zed's post is his own appraisal of himself and how wonderful he is and how he never gets any attention for what he does. When he makes it the topic himself it's a perfectly valid to discuss whether it's true or not.
IMHO his attitude and public persona absolutely may have to do with what he experiences wrt his software. He's obviously brilliant and does great code, but I know I wouldn't hire him as even a temporary contractor because his personality is just incompatible with the needs of a sane business environment.
I'm not sure that you have an authority to make such judgments. The way he is on his personal website may have nothing to do with his professional behavior. We are wired in, so we see his rants and internalize them, but that doesn't mean that they present an accurate picture of reality.
I had a heck of a time trying to get my company to use one of his excellent libraries. Why? Because they saw Zed's "professional" home page for the library and documentation and didn't want to be associated with that kind of persona. "It's all about the image," they told me. I disagreed with them, but there you have it. None of these folks were "wired in".
Meebo is a multimillion dollar company (est $200m), built mainly off libpurple. I really don't understand how the libpurple developers can look at that situation and not feel hard done by. Tireless work reverse engineering protocols, which is then taken and silently used without real credit, to build multimillion dollar companies :/
I had a discussion about this with some hard core free software people, and they just said they thought libpurple would feel "proud". Well I'm sorry, but if someone was making millions from work I'd done, I wouldn't feed proud in the least. I'd feel like an idiot.
(I'm not saying meebo is bad to do this at all. I'm more saying that I don't get how anyone could be motivated to work on an open source project like libpurple without some protection in place).
Whenever I hear about some open source volunteers who "did the hard part" and then someone else came along, "slapped a GUI on it" and made big bucks, I wonder why the original developers didn't bother to do that part. Maybe the real value isn't where a lot of people think it is.
After reading all these stories, I conclude that if you build only infrastructure you are going to get nothing back. Maybe the DHH approach is better: Build an app and then factor some infrastructure out of it later.
if someone was making millions from work I'd done, I wouldn't feed proud in the least. I'd feel like an idiot.
You should probably clarify. I bet if you were getting a kickback you wouldn't care if someone else were making money. Like if you were a writer or musician and your agent were making a healthy cut, you wouldn't care if you were getting paid too, right?
So it really comes down to being jealous other people figured out how to make money from your stuff when you couldn't.. right? That skill has value and perhaps they deserve to be making the cash.
:) That wasn't my intention. I said I would feel like an idiot. Everyone has different viewpoints, and maybe they're happy to donate their work both to end users, and to multimillion dollar companies. The issue I see is that in the case of Meebo for example, a large part of that $200m worth undoubtedly comes from their ability to work with IM protocols - which has been largely 'donated' to them, from open source folks.
(Again, I'm not saying Meebo is bad for doing this, I'd do exactly the same).
Lets suppose you reverse engineered skype. Would you open source it? Or seek to make at least a little money from it. If you chose to open source, it's likely many others would make money from it instead of you.
How on earth would I make money from reverse engineered Skype? I can't even fathom it, the amount of work it would take TO make money from a reverse engineered protocol for communicating with Skype servers. I would not even know where to start.
Here's what I think: the $200MM going to Meebo has NOTHING to do with them using the libpurple library. My reasoning: Any other web based chat company would have the same capability to exploit libpurple in their strategy. Web companies don't get funding for their technology ever. They get funding for their eyeballs and stickiness.
Finally, on the subject of backhanded insults: Imagine that you were physically speaking with a group of libpurple developers and said, "Boy, if I were in your shoes, I'd feel like a bunch of idiots!"
>> "the $200MM going to Meebo has NOTHING to do with them using the libpurple library."
Without the libpurple library, Meebo may not have existed. Or at least would have been far far harder to execute afaics. libpurple isn't just another framework, or webserver. It's very valuable reverse engineering effort.
As I said, [I] would feel like a complete idiot, if I worked my ass off to create something, only to see a company exploit+monetize it. That is not in any way the same as calling libpurple developers idiots.
>> "How on earth would I make money from reverse engineered Skype? I can't even fathom it, the amount of work it would take TO make money from a reverse engineered protocol for communicating with Skype servers. I would not even know where to start."
Seriously?? There are many many ways you could monetize the ability to communicate over the skype protocol. You could build cool plugin services. You could build something to make peoples voices sound like robots - disguizr.com or b2b stuff, voicemail, you could build your own skypeout competitor. etc etc etc you could build conferencing services ontop of it. Prank/joke call things. Voice recognition bot services. I'd say at least one of those would work. If you sat down and thought, I'm sure anyone here could come up with some killer applications.
Other people said it, but you said it better: "his rotten public image, which he carefully crafted himself: crass, erratic, unprofessional, needy and infantile."
But yeah, there are a lot of people who are little-known but who have written a lot of the software we use every day, and even successfully built communities around it. Ian Lance Taylor, Rob Savoye, tom lane, Lou Montulli (!), Jacob Kaplan-Moss, Raymond Hettinger, Margo Seltzer, D. Richard Hipp, Ben Tilly, a cast of thousands.
Thanks for the list. And for people like me who don't know much about (some of) them, here is a primer:
Ian Lance Taylor - gcc maintainer, creator of GNU UUCP
Rob Savoye - primary developer of Gnash
Tom Lane - member of the core PostgreSQL development team, standardization of JPEG
Lou Montulli - co-authored Lynx, came up with HTTP Cookies and HTTP Proxying
Jacob Kaplan-Moss - Django maintainer
Raymond Hettinger - core developer for Python
Margo Seltzer - Berkley DB architect
D. Richard Hipp - architect and primary author of SQLite
Ben Tilly - developed a bunch of Perl modules
Edit: Added standardization of JPEG to Tom Lane's intro.
He was also responsible for several browser innovations, such as HTTP cookies, the blink tag, server push and client pull, HTTP proxying, and encouraging the implementation of animated GIFs into the browser.
This is the Internet age. Everyone with a Facebook, Twitter, or even email account are all in PR. Ask Zappos. A customer or a partner will hold the whole company responnsible for any interaction they have with any if their employees.
Normally I wouldn't reply to my own comment because it has been downvoted to death (that happens), but I'm watching the votes go up and down and that is interesting.
I'm not casting judgment on Zed Shaw here, just the immediate comment I replied to. It's important to remember that everything we do or say in public on the Internet adds to or detracts from our reputations. If we are doing so on behalf of another company, then it is the company's reputation that benefits or loses.
I took objection to the idea that engineers don't have a PR responsibility. Where I work, all employees do customer support, including developers. How they treat customers matters in how our company is perceived. We just had an interesting discussion on this at Hacker News, in fact: cf. "If You Want to Write Useful Software, You Have to Do Tech Support"
As much as he makes good and bad points I think some of the commentary here is unfair; I think Zed is just explaining why he wants to use GPL license from now on.
As someone who has been "burned" on some minor pieces of code I agree with him somewhat. If, for example, I laid down some pretty useful code and open sourced it - then a startup came along, used it to bootleg their code and made millions I'd be pretty upset. That's not what it was open sourced for (because no one benefits from their millions).
Perhaps no money required but it is nice for companies in those situations to say "yeh and we built it on the awesome XXXXX (link to site)". Because that means more people can find something that is useful to them.
I'm sorry, if you released the software under a liberal open source license then you weren't "burned". I don't get what it is that makes people release software under licenses that say "do whatever you want with my code" and then suddenly get all self-righteous when someone actually does that. Be pleased and flattered your software is being used - if that wasn't your original motivation then you chose the wrong license to begin with.
I didnt hugely mind the use of my code. It just sucked that after beign asked they refused to push fixes and improvements back into the public branch. That's takign advantage of the permissive license IMO :)
>Be pleased and flattered your software is being used
No one is suggesting this isnt the case :) it's possible to be flattered by some and frustrated by others (indeed if they refuse to add code to the "pot" I dont consider their use very flattering....)
Zed's a great guy, hell of a programmer, and from what I've read of his, he's got a good heart. However, he sure makes it hard to like him.
I'll admit that the GPL is, at its heart, a cynical license, and that's what makes it so useful... But christ, the GPL is also the centerpiece of a community based around a certain large amount of altruism, I'm unnerved to not see that mentioned, though given the fact that it's Zed writing I can hardly say I'm surprised.
Do you even know what altruism is? It bothers me how easy people use this word. Do you really think open source programmers are "disinterested and selfless for the well-being of others"?! They want recognition for the contributions because it's in their self-interest to be noticed, respected and validated by their peers.
Maybe its wrong for GPL to be by the center of that community. I think it holds that place for mainly historical reasons, maybe its time to move on. Time for other licenses not to be seen as selling out - because it seems one of the main uses of GPL is to sell commercial licenses and restrict other developers.
I think that HN is read by a lot of people who want to start a company and make a lot of money. There aren't that many business models (which I know of) to build software, give it away for free and make a lot of money. If that is your goal, then I think some people perceive GPL as a road block rather than a help. (I mean, if you want to build proprietary software, then it would be a lot easier if everything was licensed under a BSD license.)
I'd like to hear more about why the GPL would be a roadblock.
If you're writing code and see the GPL as a roadblock, then you can use a different license.
If you want to use code that is under the license and see the license as a roadblock, no one is forcing you to use that code. It's either compelling enough code that you'll deal with the licensing, or it's not compelling enough and you'll have to roll your own. It's basically just a non-monetary price point then, isn't it?
Am I missing something or is there some kind of assumption that people are entitled to other peoples work if they GPL it?
(Not saying that you make the assumption personally, but that you might be assuming that is what is stopping others)
I'm all thinking aloud / genuinely interested in what the issues are here.
In a perfect world where developers have chosen exactly the license they want then there is nothing really worth discussing. However I think a lot of times people put their software under the GPL because of its position in the open source world, and the rhetoric of the FSF.
There is a continuum from having your code used in a completely non-commercial project to being used by Microsoft in some terrible software. The FSF seems to be still in a mindset where software was controlled by these large companies who are the enemy. I think we've moved on, and I would like the community to reflect that a bit better.
Surely you are not suggesting that people who can write kick-ass code (enough so that more than a handful of people want to use it in their projects), cannot choose their license properly? After all, regardless of GPL rhetoric, the BSD, Apache and MIT licenses are also very popular and someone who does a little digging can find exactly the license he is looking for.......unless he/she intentionally chose GPL!
Also, I dont believe anyone today is silly to believe that Microsoft or "unknown large corporation" will really steal their ruby/python/java code. Most big companies choose their libraries and tools very carefully and are more concerned about lawsuits as opposed to spending some developer time to re-write some library.
Surely you're not suggesting that anybody besides you understands the differences between any of these 30 open source licenses. I've been writing software professionally for 15 years and I can quote you the initials of a few of them, but not even the names. I honestly don't have a clue as to the contents of those licenses, and I just plain don't care.
Sure I've contributed a fair pile of open source software. But it's just code that I've put out on the internet, with no silly license attached. It's entirely possible that some of the places I've stuck that code have presented me a list of checkboxes to randomly select a license, so one of them probably got checked. I can't quite understand why anybody takes this stuff seriously enough to spend even 5 minutes comparing licenses.
Thanks for the explanation. Agreed that BSD is the license of choice for people building proprietary software. Except for 2 points:
- In my lurkings on HN (for a few months now), I have seen that most folks here are pretty fair. Surely then they realize that choosing a license is the prerogative of the author. This is nothing to hate or get angry about.......just respect the writer of the code. There should be plenty of similar projects with more acceptable licenses if someone digs around. And if more people start using them, they will, in time be more popular than their GPL counterparts. After all, what is an open source project without a community?
- Writing webapps (as a lot of projects on HN seem to do) does not require one to open source one's backend application.
I don't think people hate the GPL per se.
It's more about the way GPL is promoted ... in the name of freedom and all that shit, when in reality GPL is more likely to be used in instances where the company wants to sell commercial licenses.
What I don't like about the GPL is that it limits the choice of license for derived works ... where "derived" has a very broad meaning (if your software uses a GPL component, and that GPL component has no replacement, no matter how trivial it would be to implement one, than it's a derived work).
This is in contrast to .NET for example, which is proprietary and doesn't permit changes to the code base and it's not developed in the open ... but it doesn't restrict your choice of license.
Another bad example ... Qt's licensing may have been good for Trolltech, but because of that Gnome / GTK+ happened. As a result there are more third party applications (both proprietary and open-source) written on top of GTK+ / Gnome, although it is an inferior technological choice. Qt got LGPL'ed (finally) but I think it's too little, too late (regarding the Linux desktop).
The GPL (not talking about LGPL) is a good license if used for the right purpose. But it is promoted as being the backbone of software freedom, and looking unbiased at its current usage, that's just not true.
Summary: My code didn't make me rich and famous so I use these licenses so people have no choice.
Fair enough, but I think the biggest reason people didn't give him respect and piles of money because of Mongrel or whatever wasn't that they wanted to steal his awesome code and exploit him, but it was because he was a douchebag to them and everyone else. Who wants to deal with someone that toxic?
But, no no, it's not his fault. It's those meanies that jacked his code and didn't tell anyone. Jeez.
Which part? The only thing I found cogent was his assertion that he, as the author of the software, gets to pick the license, and if you don't like it you can go and write your own code.
I think it is actually a mistake to think that a reciprocal license will lead to recognition in the form of accolades or money. Look at the accomplishments of the apache software foundation or the vast bsd communities.
From the various companies I've worked with and consulted with over the many years, I'd say that the success or failure of the software released had nothing to do with the open source or free license chosen and everything to do with the utility of the software and personality of the releasing developer.
Hmmm, I don't think that's true at all. Zed may have played this card online, but in reality, he's very professional and friendly when it counts. I would've loved the opportunity to work with him, and enjoyed every time I chatted with him (mostly at conferences).
Yes, in person he's been nothing but courteous. But he has a bit of "The Facebook Dilemma" on his hands in that people who are likely to hire him will Google him or know him from his caustic posts already.
So, rather than creating an opening for people to get to know him, he's managed to wall himself off in a nasty little shell. I'm sure his image reboot, what with going into Python, ditching the whole "ZSFA" moniker, and generally being a level headed guy will fare much better for him. He'll catch more flies with honey than vinegar, if you will.
Yeah and I also think he's missing the point that people use mongrel not because it's awesome like Zed, but because they don't have choice. Having deployed several mongrel-based servers I personally think mongrel is a crappy server, and is in fact one of the reasons we switched to python/django.
For the people on here who hate the GPL, you need to realize that you can make large (sometimes even massive) contributions to the open source community and still run a multi-million dollar business. I've written about this before. See a previous discussion here: http://news.ycombinator.com/item?id=527660
Also, even if you are a cold selfish human being, realize that your continued success depends on the success of open source software. Those servers you're running? You'd have to use Windows Server if it wasn't for open source. And let's not even get into what you use for your backup strategy, version control, and text editing. It's a classic situation where you are focused on short term profit and no attention is paid to what is necessary for long term success. The open source developers will leave if they have to, or just license everything under the AGPL like Zed suggests.
I find the dynamics of venture-backed (vs. bootstrapped) companies to be telling. I mean, not everyone who runs a venture-backed company is shallow or trying to fool you, but there is definitely a much stronger emphasis on appearance, when you are using other people's money.
Personally, I would be fine working for a venture-backed startup (I mean, if I needed to work for other people, which is something I'll avoid if I can.) But when it comes to my own company, really unless my investor is someone I'd want as a partner without the money, I'd rather get a dayjob.
He's not doing anything others haven't done before. It's what TrollTech did with QT for example, and how ghostscript was distributed. Use the GPL-ed version for open source software; pay money for a proprietary license for proprietary software.
"I believe that whatever the author wants to do with his or her works is their right."
That right there is all the argument I think he really needs. It's his damn software and no one else has the right to get pissed off at him for his choice of license.
That being said, I don't think it's going to get him what he wants. People will still be able to use it in their web apps without giving him credit. And who's going to risk hiring someone who (at least gives the impression of being) as caustic and erratic as Zed. He's probably not like that in person but the risk that he might be would be to high for most people I would have thought.
Investors don't give a shit what software you're running, so long as it doesn't introduce liabilities. I don't think Mongrel's GPL status really caused this; instead, the VAST majority of web servers are still Apache etc.
One thing he can hang is hat on is that by giving away mongrel for free he really helped legitimize RoR by providing a stable platform, which helped the spread of RoR, which itself spawned many more applications, coded more quickly, and for less money, that themselves went out into the wild and helped to organize people's lives, or save them time, or money, and so contributed to the well being of humanity itself and perhaps brought us one step closer to the Singularity. So he's got that going for him, which is pretty good.
Thanks for sharing, but I do definitely disagree on a few points. Primarily, and boiled down, it's a fundamental disagreement on the motivation of open source software. Where I totally agree with your sentiment of wanting compensation for your generally great karma, there's also no guarantee when you release your code that it will ever profit you in any way other than notoriety and useful code.
I think the way the open source model works is by creating a business (support or consultation) around your software, or by writing open source software from your own needs (often in support/consultation).
We often associate ourselves too closely with our software, both in its failure and its success. We should make sure to keep ourselves somewhat disconnected. We do this in part by releasing something as open source, but that's just the first step.
Everyone has their own motivations for writing open source software. Some of them just feel that if you are using help from others (using GPLed software), you need to pay back in kind (under certain conditions).
In the end, GPL does not care much about the developer's right. It cares more about the rights of the end users. (That's why it mostly kicks in upon distribution). On the other hand, BSD does not care about its developers, nor its users. Otherwise Theo De Raadt wouldn't be writing caustic emails on how Sun bundled his software without giving him a cent in return...............
And in a way I agree with Zed. Instead of bad mouthing GPL, people will do better to let the market deal with it - if enough coders do not want to use GPL, surely it will die a natural death.
Zed's damn right. I love free software as much as the next guy, but damn some people complain. If a man sits down and codes something, it's his decision to license it anyway he wants, and that includes NOT open sourcing it if he sees fit.
Personally, I don't know if I have the patience to run an open source project. The attitude of many users implies that the developers owe them something. Be bloody grateful, or STFU.
A guy named Mike develops free audio plugins for linux. (linuxdsp.co.uk) Obviously well done, and based on what I've heard, they sound good, but the only thing some people can see is the fact it's not open source. Reminds me of the doctrinal wars I used to participate in when I was a Christian.
And hey, the Bible does say "the labourer is worthy of his wages"....
The only problem I have with this article is that Zed assumes that the software is given away for free. You can charge whatever amount you like for GPL software, it's just that a lot of developers feel bad about asking for $$ like that.
It's true that you can charge for GPL software. It's just not a particularly good strategy. Because invariably, that software will wind up easily accessible on the Internet for free, maybe even with a higher page rank than your own page.
That's why companies typically dual license or charge for support with GPL software.
For an example, see the hilarity of when Sveasoft tried to sell subscription access to GPL linux router firmwares -- it actually worked for a little while when they were the only game in town, but quickly disintegrated. Eventually they just started ripping off OpenWRT and died.
Today, musicians make products (music) that can be easily duplicated at no cost. We acknowledge their value by compensating them through the purchase via proper channels (CDs, iTunes, concerts) and express our appreciation by being fans.
Software creators are not unlike these musicians; you pretty much need to have a record deal in order to get the money and the mainstream fans.
In Zed Shaw's case, he's basically using GPL ensures that other people are not using his work to get the record deals.
Does anybody actually read, let alone abide by these open source licenses? I can't imagine actually picking through one of them and making strategy decisions based on them. Has anybody ever actually been called on it? Are there really companies that have open-sourced their entire product just because they use some random little GPL library?
I tend to avoid using 3rd party code, as it invariably ends up being garbage, but I'm happy to use the odd open source software package to do my work. If any of those packages stuck some silly gotcha clause into their license agreement, I wouldn't know about it. And I certainly wouldn't spend my time worrying about it.
Does anybody actually read, let alone abide by these open source licenses?
Of course. If you don't, you can't use the code. Thousands of companies and millions of individuals are abiding by these open source licenses every day.
I can't imagine actually picking through one of them and making strategy decisions based on them.
Then you can't use the code. You'll have to buy non-Open licensed code, or write it yourself.
Has anybody ever actually been called on it?
Yes. Though it rarely comes to lawsuits. The GPL is a pretty strong license, from a legal perspective. The people who've tested it aggressively have suffered the consequences (SCOX, for example). Some others (The Artistic License, for example) are more questionable and less strong from a legal perspective, but even the weak ones have proven to hold up pretty well in court (there is an ongoing trial involving the Artistic License, though sort of indirectly, but it seems to be holding its own in the eyes of the law).
Are there really companies that have open-sourced their entire product just because they use some random little GPL library?
You've already admitted to being willfully and proudly ignorant about Open Source licensing in multiple posts in this thread. So, why are you being so damned pushy about sharing your ill-informed opinions on the subject?
You are assuming the GPL is intended as a trap to lure unsuspecting businesses into being forced to open their code. It is not, and it's a symptom of your ignorance that you think it is. It is a license that allows anyone to use the code, provided they share the results under the same terms. In the event of a license violation (which is in no ones best interest), there are many possible outcomes, only one of which is opening of everything the code ever touched. Law, including copyright law upon which the GPL (and all other software licenses) are based, has many shades of nuance.
I tend to avoid using 3rd party code, as it invariably ends up being garbage
This says more about the limits of your experience than about Open Source software or licenses, and is not relevant to this discussion.
Are you sure you represent the typical developer? Knowing this stuff in the detail you just provided would seem to put you near one end of the spectrum. I would suspect that most people simply don't think about it.
I think of places I've worked in the past and the people who worked there. Would your typical VB developer in a typical corporation know about this stuff? If he did a google search for a code snippet to perform a task, and ended up on SourceForge, would he read the license or would he simply drop the code into his project and get on with his day?
I think hanging out on sites like HackerNews, filled with some of the smartest programmers around, clouds our perception of the "typical programmer". I've worked at a lot of shops over the years, and I can count on one hand the number of devs who I might ever expect to find here.
Possibly not (I have been involved in Open Source in the context of a business for over ten years now, so my experience is perhaps longer/deeper than some, particularly in the areas where business and Open Source bump into one another), but I rarely meet a developer that doesn't at least know the basic differences between the GPL and a "BSD-like" license. Knowing those two is actually most of what you need to know to develop with Open Source software without handing the legal stuff over to luck.
But, saying "the typical developer doesn't understand" software licenses is no excuse for not abiding by the terms of the license. That is the price you pay for admission to a wide world of awesome software that is enthusiastically free. You either pay the price and learn what the licenses of the software you want to use mean, or you simply can't use the licensed code. It's both an ethical issue and a legal one. I can't force anyone to hold to any particular ethical standards, but, the copyright holder can certainly make your life difficult if you don't follow the legal requirements.
I think folks who don't take licenses seriously don't understand how strong copyright law in the United States (and most of the developed world) really is. If someone comes after you with a provable claim of infringement, it could cost you a lot of money. I've been involved in a copyright suit, and the results were that the infringer ended up settling for $30k, even though no money was being made on the copyrighted work (I was giving it away for free, and so there were no losses on my part; but copyright law allows for multiple layers of penalties and had it gone to trial it would have cost them at least that much).
If he did a google search for a code snippet to perform a task, and ended up on SourceForge, would he read the license or would he simply drop the code into his project and get on with his day?
Sure, people violate copyright all the time. People also pirate software all the time. It doesn't make it OK, and sometimes folks get caught doing it and it costs them or their employer a lot of money, time, or both.
I think hanging out on sites like HackerNews, filled with some of the smartest programmers around, clouds our perception of the "typical programmer".
Open Source programmers tend to be towards the smarter, and more importantly better informed, end of the scale. That doesn't account for the problem you mention of proprietary programmers "borrowing" liberally from Open Source projects without abiding by the license. But, when those things happen and they are exposed, there's usually a shitstorm over on Slashdot and the company in question gets harangued and ranted about and blogged about and occasionally sued until they comply with the license (either by rewriting the offending code and making a monetary contribution to the FSF of EFF, by way of apology, or by giving back their changes and using the software according to the license). One such case was discussed here on HN just a couple of weeks ago.
It happens all the time, and only a small percentage of people who use Open Source software without abiding by the license are ever caught. But, I'd like to think that things are getting better as awareness of Open Source increases.
I needed a wrapper for the Native WLAN API in Windows XP/Vista, and hey, there's an open source (LGPL) library available. I ran the license by our lawyer (we actually produce packaged software), and while the LGPL would have allowed us to use the library in closed source software, he thought the inclusion of the LGPL license regarding a library could have potentially scared our users (who need to maintain the integrity--and secrecy) of the data our software is used to collect.
This wasn't ideal from my perspective, because now I had to write the wrapper knowing that the code existed and I could just sit there and copy it. But I didn't. And I probably know more about the Native WLAN API because of it.
I highly suggest you read the GPL one more time. If you're hosting a web app that rotates images for people, that random library is running on (effectively) your server. You're distributing the end, not the means. The GPL does not restrict you in this regard. If, however, you wanted to package up your app ('Run your own image-rotation service!') and distribute it to folks, you have to release it under a GPL-compatible license.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
The GPL (v3, at least) restricts conveying.
GPL v2 states the following:
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
So long as you do not distribute your modified copy, there is no need to abide by the conditions following that section.
I think you misunderstand: 3rd party code, not 3rd party software.
Can someone please explain to me why people care so much about licenses? I mean, what prevents people from actually going forward and using Zed Shaw's GPL code in a startup? How could he possibly find out? I mean, srsly...
If you're releasing source code, you're pretty much giving away your software for free with no guarantees of acknowledgement whatsoever. Period. End of story. Deal with it. Licensing it with the GPL will not give you magical special powers over the code and prevent people from making evil money from your lost nights of coding. It is a especially futile endeavor if you're writing software that runs on servers.
It sounds like Zed Shaw is pissed because the entire RoR community used his server and he didn't get any money from it, or any cool job, even. I, for one, think Mongrel lacked a good deal of branding, and Zed's online personality doesn't seem to have helped much. Compare Mongrel with Ruby Enterprise Edition and Passenger. These guys are fucking geniuses coz they wrote awesome opensource software and had an awesome business-y site to accompany it.
Sure. I just don't think it would have been all that much different if Zed had licensed Mongrel with the GPL to start with. It would still have been a mostly unmentioned piece of software atop many other unmentioned GPL-licensed software startups still use. My point is that if you're looking for proper recognition of your work, licensing it the GPL is not a totally effective path to take, in all practicality. Or rather, it's not the /only/ thing you need to do. Actually, it's surprising how many business-y people I know have no idea about what the GPL really is and how BSD/MIT etc differ from it.
If the goal is to be properly /financially/ recognized, i.e., make money from it, have a restrictive commercial license, like it's been done on all kinds of other software for the past 20 years or so, 'open source' or not.
I understand Zed's motivation, I just think having it GPL is a futile effort to prevent other people from abusing his work, coz even tho there's "quite a lot" of decent people out there, there are also "quite a lot" of people who simply. don't. give. a. shit.
fwiw, all the code I write is either BSD-licensed or Python-licensed. Let's just be real.