Zed Shaw: Why I (A/L)GPL
zedshaw.com
zedshaw.com
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.
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.
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.
And, come on, he does get the credit. He gets lots of credit. He just wants more credit. Enough to go to the bank, it seems.
You can't just make software, give it away, and expect money to rain down on you from everywhere it is used — it doesn't work like that.
If you want money from your software you need to offer it with a business model coupled with either advertising or a price point. But you knew that already.
Kudos to Zed for giving the hackers code and the businesspeople invoices.
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.
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.
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.
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/
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!
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)
Yeah.
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!).
On the opposite end (in order of increasing ridiculousness) there's libraries for doing basic shit in Python or Ruby, frameworks for sugaring Javascript or CSS, and motherfucking Wordpress themes. Here is where the GPL falls to pieces. Attempt no landing there.
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.
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!
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.
The AGPL solves that problem.
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 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'.
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.
http://www.dreamsongs.com/IHE/IHE-42.html#pgfId-956546 http://www.dreamsongs.com/IHE/IHE-47.html#pgfId-956575
If you want airtight legal advice, only a lawyer can get you that.
http://www.ifosslr.org/ifosslr (via boing boing)
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).
Good place to go for GPL info: the GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html)
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.
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.
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.
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.
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?
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.
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.
By the way, who exactly is "they"? If it's management, they should know that you have to trust knowledge workers to know and do their jobs. Management != programmers.
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).
Some people can live with making enough money to have a pretty good life and not worrying about maximizing their revenue streams while just being happy that their work has meaning to others.
(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.
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!"
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.
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.
point taken though... As I said at the start, I wasn't beating on Meebo, I think they've done a great job.
I'm sure there's other examples, but Meebo was the one that sprang to mind.
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.
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"
http://news.ycombinator.com/item?id=701990
So, I contend that being an engineer/developer does not give you a get out of jail free card. Learning how to engage the public is an important skill for all professionals in this day and age.
I can't tell if I'm joking or not.
(To be clear, I think Zed is awesome, and he has the right to use whatever license he wants. Oh, and we use Mongrel).
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.
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.
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
A license structured as "acknowledge your use or you will be sued," with penalties specified, as opposed to "please acknowledge your use" might have a different effect. I really have no idea.
Kent Beck's post from last month came to mind.
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 only found out Mongrel was written by Zed Shaw when I read his now infamous rant about Rails and its community. (I'm not that a big Rails guy, but I did use it for a project).
Says something, no?
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).
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.
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 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....)
I wonder if Linus is upset with RedHat?
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.
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.
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.
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.
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.
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.
Given the condescending and crude tone of your comment it's no wonder such concepts are foreign to you.
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.
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.
But yeah for a while, it was Mongrel or (ew) Webrick. How far we've come! :P
A large number of the people who shout "Mongrel sucks" have those funny ways of saying "except when it doesn't" under their breath right after.
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.
Haven't heard but favorable opinions of him. persona != personality
Outside of that situation, I've heard nothing of good things about him; and in my (limited, online-only) interactions with him, he's been unfailingly polite/patient/helpful/etc.
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.
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.
Lamson looks very useful. As was Mongrel.
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.
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.
Is he talking about people who modified/improved Mongrel and then didn't release the patches or credit him?
Because I don't see how the GPL would affect people who just use the software in their stack.
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.
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.
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"....
That's why companies typically dual license or charge for support with GPL software.
Good luck getting the Russian Business Network to abide by the GPL!
Why would they need to violate it? They don't distribute any code except trojans and worms.
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.
However what happenbs if Zed gets hit by a truck tomorrow and dies. Is all hope for companies using gpled stuff for their own use gone as well?
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.
Anybody know of a case more along the lines of '[random PHP image rotation library from SourceForge] vs. rtatr.com (rotate your images online!)'?
http://www.gnu.org/copyleft/gpl.html
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.
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.
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.
Huh? So what do you do, re-implement the whole world from assembler up?
Think Open Source CMSs and Javascript libraries. Anybody who's been burned by enough of that sort of thing quickly learns to avoid it. 3rd party Javascript is especially bad in this respect, generally requiring a complete rewrite before it performs the task it was advertised to perform.
Can't argue that most JS examples you'll find on the web are awful, though, or that open source CMSs are typically useless. Or closed source CMSs for that matter.
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.
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.
To put it simply, licensing matters for the same fundamental reason any other legal contract matters and if you care about your company you'd be wise to pay attention.