I release OSS software myself. So far, Apache 2 only, but decided to switch for everything new to (L)GPL a couple of months ago. GPL makes sense economically, socially, and politically.
Honestly, for me? Viral nature. I don't want to put off a company using my code (well, for most things I do) because they don't want to be bound by the requirement to give away the source.
That's kind of why I'm a fan of Creative Commons, attribution share-alike, with possibly noncommercial depending on what it is and my mood at the time.
The GPL is just a pain in the ass for all involved. At least that's how I see it.
The GPL has a lot of FUD about it, but there's very little actually offensive about it.
The GPL doesn't have that - and as you said, CC-BY-SA is probably the closest - but I don't have to use CC-BY-SA if I don't want to. Maybe I don't care as long as my name's on it. Then I can just use CC-BY.
The FUD you speak of is another reason I tend to shy away from GPL - both in terms of enforcement (shown to be tricky, thought the SA CC license would have the same issue), and it's association with RMS and the culture and FUD surrounding it.
Another thing is that CC lends itself better to things that aren't computer code.
You either want gift the code to the world or you want to do it conditionally. Do tell me which one comes across as a more genuine gesture.
I personally don't feel I'm under any ethical obligation to give away my source code. Sometimes I don't release it at all, at least not unless you're paying for it. Other times I license it under a permissive license, usually when it's something smallish.
And other times I choose to GPL or AGPL it. I see the latter case as a quid pro quo: you can use my code as long as you let me use yours. Unlike in the ham sandwich example, it's not some arbitrary restriction imposed out of taste or spite, but a proposal of what seems to me to be a fair exchange. In return for using my code, you let me use your code, pretty simple and symmetric.
If you don't like the idea of a reciprocal code exchange, we could agree on a different exchange, like you paying me money for a license, or we could fail to reach an agreement and no exchange happens. But I don't feel particularly obligated to give you unrestricted free use of my code with no reciprocation. I could choose to do that out of charity or idealism, but I don't think I'm obligated to.
The GPL doesn't actually say "you can use my code as long as you let me use yours", or anything very similar really. I expect you knew that and didn't mean any deception by what you wrote, but we're talking about a legal document and lawyers are not known for their folksy interpretation and sense of humour.
And the AGPL is a particularly dangerous document that shouldn't be directly associated with any of the other GPL-related licences IMHO. Its scope is broader, because it can have profound implications for anyone even using software distributed under that licence, not just those developing the software.
I don't see what's particularly dangerous about the AGPL, though. It's not that hard to comply with: if you build a webapp on some AGPL'd software, you need to AGPL the whole webapp. If you don't want to AGPL the whole webapp, you can just not build it on top of AGPL'd software. Pretty easy to avoid! And in any case the usual alternative to the AGPL is not releasing code at all, or releasing it under a "no commercial use" clause, which certainly doesn't give you more freedom. Compare Gitorious's code (AGPL) to GitHub's code (not released) for example. In both cases they're worried that if they MIT/BSD'd or even GPL'd their code, a rival SaaS could leapfrog them starting from their own code.
[edited the 2nd paragraph above for brevity]
As with all of these GPL-style licences, there's a lot more risk if you're not an all-GPL house, and quite modest risk if you're intending to GPL your code anyway. But the AGPL is different because it can affect not just developers building on the code for redistribution but also those who are just using it internally.
I can understand why they did that, in the context of network-enabled services, but nothing in the AGPL seems to restrict the implications to only that context. As the example above demonstrates, people do use it for other things with potentially profound implications that aren't obvious to anyone who knows about the much more common GPL and LGPL but doesn't realise why AGPL is fundamentally different. For that reason alone, I don't think the AGPL should have used a similar name.
Not sure what a cleaner alternative would be in that case. Perhaps just state that explicitly? "You can use the free version of Opa to build open-source webapps [define appropriately], but need a commercial license if your app is not open-source."
Making a moral judgement as to the license I release my creations under? This kind of idiocy is why I don't want anything I do to be associated with Stallman and his ilk.
"What's that? I'm evil because I sell software and don't give away the source code? Go fuck yourself."
Now, perhaps you are fine with both of these things. And that's not an entirely unreasonable position to have. But not being fine with DRM or unmodifiable products is also fine, and disliking companies that sell these is completely valid. Disliking proprietary software is just taking the same idea and extending it, which is also entirely reasonable.
Actually, I'd not buy such a car in the first place. But you're really not resorting to car analogies right?
>Or what about companies that sell you content with DRM, preventing you from even doing legal things with it?
Same thing - I don't buy it for the most part.
However, being anti DRM and being a FOSS zealot are two different things.
You'd be surprised how much "unmodifiable" software indeed ends up modifiable when enough people get interested.
In any case, I take great offense at the notion that I am somehow a bad person for not letting everybody in the world use my product for free, hence the notion at the end of my previous post. Which still stands, downvotes be damned.
You can make all the regenerating ham sandwiches you want from the regenerating loaf of bread. The GPL only restricts what rights you have to pass along to anyone you give ham sandwiches to, basically ensuring that you do not have a monopoly on regenerating ham sandwiches.
You might consider that restriction to be just as onerous as restrictions on what you can make with the bread, but I think there is a categorical difference. The GPL only affects transactions with other people. You can use the loaf of bread for making ham sandwiches or biological weapons and the GPL has nothing to say about that.
Because that's what the GPL does . It ensures that the right to modify the (sandwich)program never gets taken away from the next user in the chain.
So really, using the GPL is like donating to a non-profit where using a BST/MIT license is like donating willy nilly to any person or corporation regardless of their aims or practices.
But really, the whole analogy is deeply flawed.
You are not alone.
I find the GPL, but more so variants like the Affero GPL, to be ticking time bombs. And I have followed the development of FOSS over the years and occasionally helped out a project, so I probably have more interest than most people who aren't in the FOSS community.
The lawyers and managers at companies where I've worked were far more pragmatic: it's not worth the time and risk to analyse the licensing implications of every bit of GPL'd code we might consider using as part of our own project, so just blanket ban any development use of such code across the entire organisation and avoid any potential legal risks. In short, using GPL'd code is fine, but doing any kind of development with it is a firing offence, end of discussion.
I think this is a very sad state of affairs, but knowing how complex the legal issues can become, how militant certain FOSS groups can be, and how much damage such a group could cause in PR terms even if they had no legal case at all, I can't say I blame the lawyers and managers for their "not touching it with a 10' pole" policy.
If all your code is either written in house or source you've explicitly licenced on some commercial basis then chances are there's no problem borrowing a bit from somewhere and reusing it somewhere else.
But suppose you've got GPL'd code floating around, and then someone builds something based on it that's used perfectly legally in-house, and then someone later borrows some excerpts from the GPL'd code and reuses them in another part of the system, and then someone else later decides the GPL'd library/whatever isn't needed any more and cuts it out. Now you've got code floating around that you think your organisation owns, but really it doesn't.
Of course it's possible to comply with the rules by diligently noting any reuse of GPL'd code, and of course there are somewhat related issues with giving due credit even with permissive licences or code you've licenced commercially. But in reality, things go wrong, particularly on long-lived projects where developers come and go. Having GPL'd stuff integrated into your dev process if you're not an all-GPL house just seems like a lawsuit/PR nightmare waiting to happen if you run into one of the more militant groups, and short of imposing expensive and time-consuming audit processes there's not really much that management can do to mitigate that risk.
"Chances are" isn't much of a legal defense. If you're concerned about the costs of auditing and compliance for copyleft software, why not more so for software under less permissive licenses?
Firstly, if you're paying actual money for something, someone in authority has necessarily approved its use and any necessary review by lawyers should already have taken place (and this does actually happen IME).
Secondly, if you're paying actual money for the source code to a library and it wasn't very obviously provided for another reason, it is extremely likely that what you were getting for your money was the right to reuse that code as part of your own project. That's just how the industry works. It's not a 100% guarantee, of course, and standard disclaimers about consulting a lawyer apply, but even if you didn't do that the practical risk here is very low, while numerous places have got caught out when a developer "borrowed" some GPL'd code and didn't tell anyone.