Are you seriously suggesting that a system in which corporations funnel money to campaigns based on politicians' votes, and politicians know this and cast their votes accordingly, is in any material way distinguishable from "trading money for votes"?
Given that the entire point of the GPL is to encourage sharing and collectively-developed code, is it not reasonable to assume that in general there may be many contributors in such a scenario, each of whom would need to be contacted individually for their view, and all of whose views would then need to be reconciled?
Certainly not in the case where the maintainers require copyright assignment.
Even for those that don't, you're getting into low probability scenarios here. Are you aware of it ever happening that the maintainers of a project OKed a particular use and then some small time contributor decided they wanted to litigate over it? It certainly isn't common.
No, I'm arguing that the cost of performing that due diligence is often prohibitively high in the GPL case, while it is typically very low in a typical commercial deal.
I don't know if I can agree with that. I mean the cost of doing the same amount of research is obviously going to be the same, so it can only be that the risk assessment for a dispute is lower. But is it? Nobody wants to have to sue their customers -- neither do the GPL developers -- but it happens. And it probably happens more with proprietary software, whenever a company you licensed from (which already has lawyers on staff) starts having business problems and turns to litigation out of desperation, or just realizes that they gave you way too favorable a deal. If you count the number of lawsuits that come out of proprietary software licensing disputes, I think you're going to find that it completely dwarfs the number that come out of GPL disputes.
Munich represents the one place where despite going way over time and budget they have kept plowing away. Demonstrating what it is actually going to take to move a large enterprise with a Windows culture over to Linux.
I don't know if their experience is going to be that accurate of a measure of what it takes going forward. Certainly it would set an upper bound on the cost, but building the first prototype is always going to be more expensive than the ones made in mass production. It costs more to create a map than to follow it. Munich had to create LiMux. The next municipality to transition will be able to download it, and will have the advantage of all of the solutions Munich forged in the crucible of production use in a large organization.
I've found that the people who think they need Excel over Calc tend to be people who shouldn't be using Excel in the first place. It's not a database, people.
It's mostly a black-and-white requirement, and you can usually resolve any ambiguity that might exist in advance by simply asking the library vendor how much you need to pay in your particular circumstances.
Which is really where the double standard comes in. Why can't you do the same thing, and send an email to the developers of the GPL'd package asking whether your specific use case is acceptable? I kind of doubt they would have much luck accusing you of violating the license by doing the thing they explicitly told you wasn't a violation of the license.
In addition to that, you're essentially arguing that companies have to perform due diligence if they want to use the GPL but not otherwise. That is probably not a good idea. If there is enough money on the table that a screw up is going to cost you big, you're going to want to break out the lawyers regardless of the license. There is plenty that can go wrong, not least of which is that the company you paid to license it had itself licensed part of it from someone else, and you've suddenly got some third party coming after you out of nowhere. Conversely, if you're doing some small potatoes thing, I'm not sure why you feel it's necessary to do more than clear it with the developers ahead of time.
The GPL does nothing to protect you from this kind of competition. Let's say you release an improvement to the Linux kernel or a piece of GPL'd software that runs on Linux. When someone wants a Linux-based system, are they likely to go to you, or to a company like Red Hat or IBM? These companies will happily take your code, modify it, and charge their customers for the modifications (actually, charge the customer for the finished product, but typically less than they'd charge for writing it from scratch).
Red Hat or IBM can do exactly the same thing if you distribute your code under the BSD license, so how is that supposed to protect you any better?
The customer then receives the code under the GPL, but has no obligation to share the modifications with you, or with anyone else - indeed, if they give the provide a competitive advantage then they may persuade Red Hat or IBM to keep the modifications private.
OK...so you're what, promoting the Affero GPL then?
All the GPL does for you here is stop you getting in the door at a lot of companies, who won't touch your code at all because of the license, but would happily use (and contribute back changes they make to) a BSD licensed project.
If your intent is to contribute back changes, there is no disadvantage to the GPL. If your intent is to not distribute your changes whatsoever, there is no disadvantage to the GPL.
Is it your argument that companies irrationally believe the Microsoft propaganda about the GPL, and for that reason nobody should use it? Because my response to that would be that we ought to help those companies overcome their unjustified fear, uncertainty and doubt.
yeah that would have helped open source, but i thought freedom was the point? not just the benefit of gpl and its promoters?
It's a virtuous cycle. It's clear that the GPL allows more freedom than a closed source license: There are some restrictions on distribution, but distribution is allowed in unlimited quantities rather than totally prohibited. Therefore, if open source operating systems are better than the alternatives, more people will use them and they'll become even better, so that more people will use them, etc. And the more people who use them, the more people will have the freedom to make changes to the OS they use and publish them, hence promoting freedom.
Not really. BSD was ported to the PC as soon as practical. Its been argued that Linux only got ahead because of BSD getting tied up in an AT&T lawsuit. That lawsuit would have happened regardless of a BSD or GPL license. So maybe your GNU/BSD would have lagged with respect to progress as it was tied up in court.
It might have (and then we still would have ended up with Linux as a clean room alternative), but that's just historical happenstance that as you say would have had nothing to do with the license. And if the lawsuit hadn't happened under the existing BSD license, I doubt BSD-licensed-BSD would be in a significantly different place than it is now: All the companies that created proprietary forks would still have done so.
I'm not sure why a GPL'd BSD would have been any more attractive to them than Linux.
In the early 1980s when they were just starting out, a free-as-in-beer GPL'd BSD would have been potentially more attractive than paying AT&T what would have been big money to a then-small company. SunOS would then have been what it was, but released under the GPL. Then third parties would have made contributions to it under the GPL and Sun wouldn't have been able to merge them with System V in 1991 to create Solaris without licensing the end product under the GPL, which would have made the merging with System V either less likely to happen or more likely to stay under the GPL.
But never mind Sun for a second. The point is that if any one significant player did it, everybody would have ended up doing it: It's what is happening with Linux now. Every vendor's old proprietary Unix is slowly dying out and being replaced by Linux. Because what happens is this: One vendor decides to start offering Linux (or GNU/BSD or whatever GPL-licensed OS). Somebody else (maybe a vendor, maybe a user, maybe some professor) realizes they can port it to other another vendor's hardware, and they do. The latter vendor thinks this is great because it makes it easier to convert customers accustomed to the first vendor's OS to the second vendor's hardware, so they support the effort. So does every other vendor, and then customers start preferring the portable GPL'd OS over the proprietary ones because it makes them less tied to a single vendor. The fact that everybody supports it and everybody wants it yields network effects and it takes over the market.
The reason this wouldn't happen with the BSD license is naturally that the OS the first vendor derives from the BSD licensed code is not actually distributed under the BSD license since there is no obligation to, so it never gets ported to a second vendor's hardware.
They could have done so with under the BSD license. I don't see why the GPL license would have discouraged forking.
I don't mean to say that there would be no forks in the sense that Ubuntu is a fork of Debian. But there would have been no forks in the sense that SunOS is a fork of BSD. The difference being that when some improvement is made to Ubuntu, it more often than not ends up in Debian and vice versa. Whereas when DEC would make an improvement to Ultrix, it stayed exclusively in Ultrix. It never made it to AIX or IRIX or anything else, or if it did it was because those vendors reimplemented it from scratch.
Eliminating that sort of wasteful duplication and reduplication of effort by each vendor leaves many times more development resources available, which allows the 95% of the code that each distribution shares to advance far faster than code which is maintained by only a single vendor that individually has to pay for every dime of development costs instead of sharing the burden five or six ways or more.
The statutory minimum is $750 per copy! If the court finds it to be intentional they can fine as high as $150k per incident (that is per copy). So a closed source program that violates a GPL and sells a million copies is could be looking at a 3/4 billion in damages easily.
I think if you check you'll find that it's per work, not per copy.
Your argument is that proprietary operating systems wouldn't be as advanced as they are now, because they would either have to duplicate the effort of the BSD people or have to make their operating systems open source. But isn't that good for open source? If BSD was licensed under the GPL then there would probably have been no interest in Linux (and thus no resources consumed on duplicating BSD under the GPL) because there would have been no need for it; it would mean that "GNU/BSD" would have had a more than ten year head start on where GNU/Linux is now. If something as polished as Ubuntu had sprouted ten years earlier than it did, would anyone still be using Windows?
Not only that, you look at something like SunOS... Sun is a hardware company. Today a fair share of their hardware is sold with Linux on it. Ditto HP nee DEC. I kind of doubt that they would have written their own OS from scratch just because BSD was licensed under the GPL. They would either have paid AT&T to license Unix instead of getting BSD for free (with little major difference in result), or they would have just produced and distributed SunOS under the GPL -- they were in it to sell hardware, remember.
At that point the speculation starts to get pretty wild, because if Sun and DEC (and others) had worked together to create a single GPL'd GNU/BSD in the 1980s instead of separate forks, in the way that those companies (or successors) do now with Linux, it would have completely changed the entire history of the industry. Getting a bunch of big players being a single code base would have put it in front of anything a single player could do on their own, at a time before Microsoft had entrenched the Windows monopoly. How that would have played out in the long run is anybody's guess, but I would tend to think that there would be a lot more people using BSD today than there are now, even if you include OS X.
My take is that it's not the specifics of the GPL that usually cause the problems, but the ambiguities. With a proprietary library, once you've paid your cash for redistribution rights, it's reasonably clear that you're OK.
I guess that's what I'm disputing. Proprietary licenses are ambiguous too. It's pretty close to impossible to write something that isn't open to interpretation whatsoever. And if the consequences for an ambiguity going the wrong way are the same in either case (i.e. you're on the hook for copyright infringement) then I'm not sure what can justify the discrimination.
I think there is another point here though: It's probably true that if you're A) planning on distributing the thing you're using GPL code in, and B) not planning to publish your own code under the GPL, you'd probably be best off to check with the lawyers before you do it. But that is far from the only scenario under which a company might use GPL code. They could just use it as an end user without modifying it, or modify it for internal use without redistributing it, or redistribute it but under the GPL.
Even if they are considering distributing their code alongside some GPL code but not under the GPL, they're probably doing some of these other things as well. Which is why I think a blanket ban is silly. Certainly it's no less silly than a blanket ban on proprietary software because proprietary software licenses are ambiguous too.
You're not going to accidentally give away your code
I don't think that's how the GPL works though. I mean you never actually signed anything. If the FSF comes around and says you're violating the license so release the code, you could just release the code and make it go away. Or you could claim you never agreed to the license, and then their response would be that the license is the only thing giving you a right to distribute so if you don't agree then you're infringing copyright... which is the same boat you're in when you violate a proprietary software license.
It seems like all the GPL does is give you the extra out: If you decide the code is worth less than the damages for copyright infringement then you can release the code. But I don't see how they could force you to do that if you just repudiate the license and admit to copyright infringement. Granted I'm not a lawyer, but is that not how you see it?
The original developers of Foo are probably more than capable of creating their own code that implements the same features as the company's proprietary code, are they not? Lest one forget, "Unix SystemV" was proprietary code which was 'recreated' by Linus to create Linux, containing most of the features of SysV.
Oh sure, they can waste several years worth of resources on duplicating the same functionality. I mean look at Samba: Active Directory came out with Windows 2000 in 1999. It's 2011 and Samba 4 (which implements AD) is only now at the release candidate stage. Not only that, it allows the proprietary company to dictate the direction of the software: All that effort spent writing Samba 4 to be compatible with Microsoft could have been spent on actual improvements instead of just duplication. So by the time Samba catches up to where Microsoft was, Microsoft is already somewhere new. Because that's what the BSD license does: It gives closed source the advantage, because it allows them to take all of the good from the open source community without allowing the open source community to take anything from them, which means that the open source community will always be playing catch up. Unless they use a license that doesn't allow that, which allows them to build an advantage and keep it, because they can be the ones who set the standard and make others either join the club or be the ones playing catch up themselves.
The only way that MS has "kicked the crap" out of anything open source is, quite simply, the PATENT system - which might prevent someone from re-implementing their own version of the same thing (without getting sued).
You'll not get any argument from me there, but that's a whole different problem. One thing at a time.
I'm not sure if the simplicity isn't illusory. The problem is that lawyers are pedants. I mean look at the 3-clause BSD license:
Copyright (c) [year], [copyright holder] All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the [organization] nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
[AS IS no warranties block]
It certainly looks fairly simple.
But let's think about the third clause there: You can't use the name of the copyright holder to endorse or promote products derived from it. Now normally you have a first amendment right to make statements of fact. But let's say I go ahead and use OpenSSH in my software, which is BSD licensed, and then somebody in an internet discussion questions the strength of the cryptography I'm using. I respond that it's not even my cryptography code, it's OpenSSH, which is developed by those OpenBSD people who really know security. Oh crap! Have I just violated the BSD license? Or does the first amendment trump the license? Or does it not, but the term "promote" is ambiguous and needs to be interpreted? You end up still needing a lawyer.
Or what about this: The BSD license says redistributions "must retain the above copyright notice, this list of conditions and the following disclaimer." It doesn't say "you must actually enforce these conditions against downstream licensees" and it also doesn't say "the original copyright owners retain the right to enforce these conditions against downstream licensees." Which means that there is an interpretation of the BSD license which makes it a recursive license, where I get code from you, I change it and give it to Bob, and then Bob has a license from me to distribute your code, which only I can enforce against him if he violates it, because I'm the one who licensed it to him. If I then decide that I don't give a crap about enforcing it, the BSD license turns into the public domain license, because anybody can get your code from me knowing that I won't enforce any of the conditions. Is that the right interpretation? I have no idea. But it seems pretty clear that "looks simple" doesn't get you out of needing a lawyer to figure out what the crap is going on.
Is it then? So total anarchy, where anyone has the "freedom" to lock you in a cage forever or enslave you under threat of death is the epitome of a free society?
You're completely missing the point. You can't argue that the GPL isn't "freedom" but the BSD license is, because it depends entirely on how you define freedom. A definition that makes the BSD license "more free" isn't the sole, true definition than the one that makes the GPL "more free." There is no absolute freedom. There is only a trade off between the freedom of B and C and the freedom of A and D. The GPL and the BSD license make that trade off differently. Which is "better" depends entirely on who you are and what you want.
Of course, large companies that want to take your code and use it in their own software without giving anything in return would prefer that you use the BSD license.
The issue is in the double standard. Have you ever read a proprietary software license? Their clearest language is the parts where they make explicit that you have no rights. You can end up in violation of the license by doing completely arbitrary things that users will never consider before doing, like some fifteen-seat satellite office using Windows XP Internet Connection Sharing with more than ten computers. Or just simple oversights like you inadvertently install a piece of volume licensed proprietary software on more computers than you bought seats for.
The answer to these problems is not to prohibit all proprietary software in the enterprise. The answer is for the lawyers to do their jobs and see to it that nobody is violating the license. And that goes no different for open source licenses.
Many companies use software internally. They take that work, profit from it, and give nothing back. How is the GPL any better than BSD under that scenario?
I think the more pertinent question is, how is it any worse?
Start-ups, however, are lured by the idea of being able to close-source everything once their product becomes a smash hit
Then start-ups are confused. What makes people think that having distributed something under the BSD license, you can unilaterally revoke the license from existing licensees any more than you could with the GPL?
And you see large companies that don't want anything to do with it because their legal departments are too lazy to do their damn jobs properly and would rather believe Microsoft propaganda.
Are you seriously suggesting that a system in which corporations funnel money to campaigns based on politicians' votes, and politicians know this and cast their votes accordingly, is in any material way distinguishable from "trading money for votes"?
Given that the entire point of the GPL is to encourage sharing and collectively-developed code, is it not reasonable to assume that in general there may be many contributors in such a scenario, each of whom would need to be contacted individually for their view, and all of whose views would then need to be reconciled?
Certainly not in the case where the maintainers require copyright assignment.
Even for those that don't, you're getting into low probability scenarios here. Are you aware of it ever happening that the maintainers of a project OKed a particular use and then some small time contributor decided they wanted to litigate over it? It certainly isn't common.
No, I'm arguing that the cost of performing that due diligence is often prohibitively high in the GPL case, while it is typically very low in a typical commercial deal.
I don't know if I can agree with that. I mean the cost of doing the same amount of research is obviously going to be the same, so it can only be that the risk assessment for a dispute is lower. But is it? Nobody wants to have to sue their customers -- neither do the GPL developers -- but it happens. And it probably happens more with proprietary software, whenever a company you licensed from (which already has lawyers on staff) starts having business problems and turns to litigation out of desperation, or just realizes that they gave you way too favorable a deal. If you count the number of lawsuits that come out of proprietary software licensing disputes, I think you're going to find that it completely dwarfs the number that come out of GPL disputes.
Munich represents the one place where despite going way over time and budget they have kept plowing away. Demonstrating what it is actually going to take to move a large enterprise with a Windows culture over to Linux.
I don't know if their experience is going to be that accurate of a measure of what it takes going forward. Certainly it would set an upper bound on the cost, but building the first prototype is always going to be more expensive than the ones made in mass production. It costs more to create a map than to follow it. Munich had to create LiMux. The next municipality to transition will be able to download it, and will have the advantage of all of the solutions Munich forged in the crucible of production use in a large organization.
No.
I've found that the people who think they need Excel over Calc tend to be people who shouldn't be using Excel in the first place. It's not a database, people.
You're assuming that they would still have been the two most popular operating systems.
It's mostly a black-and-white requirement, and you can usually resolve any ambiguity that might exist in advance by simply asking the library vendor how much you need to pay in your particular circumstances.
Which is really where the double standard comes in. Why can't you do the same thing, and send an email to the developers of the GPL'd package asking whether your specific use case is acceptable? I kind of doubt they would have much luck accusing you of violating the license by doing the thing they explicitly told you wasn't a violation of the license.
In addition to that, you're essentially arguing that companies have to perform due diligence if they want to use the GPL but not otherwise. That is probably not a good idea. If there is enough money on the table that a screw up is going to cost you big, you're going to want to break out the lawyers regardless of the license. There is plenty that can go wrong, not least of which is that the company you paid to license it had itself licensed part of it from someone else, and you've suddenly got some third party coming after you out of nowhere. Conversely, if you're doing some small potatoes thing, I'm not sure why you feel it's necessary to do more than clear it with the developers ahead of time.
The GPL does nothing to protect you from this kind of competition. Let's say you release an improvement to the Linux kernel or a piece of GPL'd software that runs on Linux. When someone wants a Linux-based system, are they likely to go to you, or to a company like Red Hat or IBM? These companies will happily take your code, modify it, and charge their customers for the modifications (actually, charge the customer for the finished product, but typically less than they'd charge for writing it from scratch).
Red Hat or IBM can do exactly the same thing if you distribute your code under the BSD license, so how is that supposed to protect you any better?
The customer then receives the code under the GPL, but has no obligation to share the modifications with you, or with anyone else - indeed, if they give the provide a competitive advantage then they may persuade Red Hat or IBM to keep the modifications private.
OK...so you're what, promoting the Affero GPL then?
All the GPL does for you here is stop you getting in the door at a lot of companies, who won't touch your code at all because of the license, but would happily use (and contribute back changes they make to) a BSD licensed project.
If your intent is to contribute back changes, there is no disadvantage to the GPL. If your intent is to not distribute your changes whatsoever, there is no disadvantage to the GPL.
Is it your argument that companies irrationally believe the Microsoft propaganda about the GPL, and for that reason nobody should use it? Because my response to that would be that we ought to help those companies overcome their unjustified fear, uncertainty and doubt.
yeah that would have helped open source, but i thought freedom was the point? not just the benefit of gpl and its promoters?
It's a virtuous cycle. It's clear that the GPL allows more freedom than a closed source license: There are some restrictions on distribution, but distribution is allowed in unlimited quantities rather than totally prohibited. Therefore, if open source operating systems are better than the alternatives, more people will use them and they'll become even better, so that more people will use them, etc. And the more people who use them, the more people will have the freedom to make changes to the OS they use and publish them, hence promoting freedom.
Not really. BSD was ported to the PC as soon as practical. Its been argued that Linux only got ahead because of BSD getting tied up in an AT&T lawsuit. That lawsuit would have happened regardless of a BSD or GPL license. So maybe your GNU/BSD would have lagged with respect to progress as it was tied up in court.
It might have (and then we still would have ended up with Linux as a clean room alternative), but that's just historical happenstance that as you say would have had nothing to do with the license. And if the lawsuit hadn't happened under the existing BSD license, I doubt BSD-licensed-BSD would be in a significantly different place than it is now: All the companies that created proprietary forks would still have done so.
I'm not sure why a GPL'd BSD would have been any more attractive to them than Linux.
In the early 1980s when they were just starting out, a free-as-in-beer GPL'd BSD would have been potentially more attractive than paying AT&T what would have been big money to a then-small company. SunOS would then have been what it was, but released under the GPL. Then third parties would have made contributions to it under the GPL and Sun wouldn't have been able to merge them with System V in 1991 to create Solaris without licensing the end product under the GPL, which would have made the merging with System V either less likely to happen or more likely to stay under the GPL.
But never mind Sun for a second. The point is that if any one significant player did it, everybody would have ended up doing it: It's what is happening with Linux now. Every vendor's old proprietary Unix is slowly dying out and being replaced by Linux. Because what happens is this: One vendor decides to start offering Linux (or GNU/BSD or whatever GPL-licensed OS). Somebody else (maybe a vendor, maybe a user, maybe some professor) realizes they can port it to other another vendor's hardware, and they do. The latter vendor thinks this is great because it makes it easier to convert customers accustomed to the first vendor's OS to the second vendor's hardware, so they support the effort. So does every other vendor, and then customers start preferring the portable GPL'd OS over the proprietary ones because it makes them less tied to a single vendor. The fact that everybody supports it and everybody wants it yields network effects and it takes over the market.
The reason this wouldn't happen with the BSD license is naturally that the OS the first vendor derives from the BSD licensed code is not actually distributed under the BSD license since there is no obligation to, so it never gets ported to a second vendor's hardware.
They could have done so with under the BSD license. I don't see why the GPL license would have discouraged forking.
I don't mean to say that there would be no forks in the sense that Ubuntu is a fork of Debian. But there would have been no forks in the sense that SunOS is a fork of BSD. The difference being that when some improvement is made to Ubuntu, it more often than not ends up in Debian and vice versa. Whereas when DEC would make an improvement to Ultrix, it stayed exclusively in Ultrix. It never made it to AIX or IRIX or anything else, or if it did it was because those vendors reimplemented it from scratch.
Eliminating that sort of wasteful duplication and reduplication of effort by each vendor leaves many times more development resources available, which allows the 95% of the code that each distribution shares to advance far faster than code which is maintained by only a single vendor that individually has to pay for every dime of development costs instead of sharing the burden five or six ways or more.
The statutory minimum is $750 per copy! If the court finds it to be intentional they can fine as high as $150k per incident (that is per copy). So a closed source program that violates a GPL and sells a million copies is could be looking at a 3/4 billion in damages easily.
I think if you check you'll find that it's per work, not per copy.
Your argument is that proprietary operating systems wouldn't be as advanced as they are now, because they would either have to duplicate the effort of the BSD people or have to make their operating systems open source. But isn't that good for open source? If BSD was licensed under the GPL then there would probably have been no interest in Linux (and thus no resources consumed on duplicating BSD under the GPL) because there would have been no need for it; it would mean that "GNU/BSD" would have had a more than ten year head start on where GNU/Linux is now. If something as polished as Ubuntu had sprouted ten years earlier than it did, would anyone still be using Windows?
Not only that, you look at something like SunOS... Sun is a hardware company. Today a fair share of their hardware is sold with Linux on it. Ditto HP nee DEC. I kind of doubt that they would have written their own OS from scratch just because BSD was licensed under the GPL. They would either have paid AT&T to license Unix instead of getting BSD for free (with little major difference in result), or they would have just produced and distributed SunOS under the GPL -- they were in it to sell hardware, remember.
At that point the speculation starts to get pretty wild, because if Sun and DEC (and others) had worked together to create a single GPL'd GNU/BSD in the 1980s instead of separate forks, in the way that those companies (or successors) do now with Linux, it would have completely changed the entire history of the industry. Getting a bunch of big players being a single code base would have put it in front of anything a single player could do on their own, at a time before Microsoft had entrenched the Windows monopoly. How that would have played out in the long run is anybody's guess, but I would tend to think that there would be a lot more people using BSD today than there are now, even if you include OS X.
That's probably true. But wouldn't that help open source? By not giving its proprietary competitors the advantage of the community's own hard work?
My take is that it's not the specifics of the GPL that usually cause the problems, but the ambiguities. With a proprietary library, once you've paid your cash for redistribution rights, it's reasonably clear that you're OK.
I guess that's what I'm disputing. Proprietary licenses are ambiguous too. It's pretty close to impossible to write something that isn't open to interpretation whatsoever. And if the consequences for an ambiguity going the wrong way are the same in either case (i.e. you're on the hook for copyright infringement) then I'm not sure what can justify the discrimination.
I think there is another point here though: It's probably true that if you're A) planning on distributing the thing you're using GPL code in, and B) not planning to publish your own code under the GPL, you'd probably be best off to check with the lawyers before you do it. But that is far from the only scenario under which a company might use GPL code. They could just use it as an end user without modifying it, or modify it for internal use without redistributing it, or redistribute it but under the GPL.
Even if they are considering distributing their code alongside some GPL code but not under the GPL, they're probably doing some of these other things as well. Which is why I think a blanket ban is silly. Certainly it's no less silly than a blanket ban on proprietary software because proprietary software licenses are ambiguous too.
You're not going to accidentally give away your code
I don't think that's how the GPL works though. I mean you never actually signed anything. If the FSF comes around and says you're violating the license so release the code, you could just release the code and make it go away. Or you could claim you never agreed to the license, and then their response would be that the license is the only thing giving you a right to distribute so if you don't agree then you're infringing copyright... which is the same boat you're in when you violate a proprietary software license.
It seems like all the GPL does is give you the extra out: If you decide the code is worth less than the damages for copyright infringement then you can release the code. But I don't see how they could force you to do that if you just repudiate the license and admit to copyright infringement. Granted I'm not a lawyer, but is that not how you see it?
The original developers of Foo are probably more than capable of creating their own code that implements the same features as the company's proprietary code, are they not? Lest one forget, "Unix SystemV" was proprietary code which was 'recreated' by Linus to create Linux, containing most of the features of SysV.
Oh sure, they can waste several years worth of resources on duplicating the same functionality. I mean look at Samba: Active Directory came out with Windows 2000 in 1999. It's 2011 and Samba 4 (which implements AD) is only now at the release candidate stage. Not only that, it allows the proprietary company to dictate the direction of the software: All that effort spent writing Samba 4 to be compatible with Microsoft could have been spent on actual improvements instead of just duplication. So by the time Samba catches up to where Microsoft was, Microsoft is already somewhere new. Because that's what the BSD license does: It gives closed source the advantage, because it allows them to take all of the good from the open source community without allowing the open source community to take anything from them, which means that the open source community will always be playing catch up. Unless they use a license that doesn't allow that, which allows them to build an advantage and keep it, because they can be the ones who set the standard and make others either join the club or be the ones playing catch up themselves.
The only way that MS has "kicked the crap" out of anything open source is, quite simply, the PATENT system - which might prevent someone from re-implementing their own version of the same thing (without getting sued).
You'll not get any argument from me there, but that's a whole different problem. One thing at a time.
I'm not sure if the simplicity isn't illusory. The problem is that lawyers are pedants. I mean look at the 3-clause BSD license:
Copyright (c) [year], [copyright holder]
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the [organization] nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
[AS IS no warranties block]
It certainly looks fairly simple.
But let's think about the third clause there: You can't use the name of the copyright holder to endorse or promote products derived from it. Now normally you have a first amendment right to make statements of fact. But let's say I go ahead and use OpenSSH in my software, which is BSD licensed, and then somebody in an internet discussion questions the strength of the cryptography I'm using. I respond that it's not even my cryptography code, it's OpenSSH, which is developed by those OpenBSD people who really know security. Oh crap! Have I just violated the BSD license? Or does the first amendment trump the license? Or does it not, but the term "promote" is ambiguous and needs to be interpreted? You end up still needing a lawyer.
Or what about this: The BSD license says redistributions "must retain the above copyright notice, this list of conditions and the following disclaimer." It doesn't say "you must actually enforce these conditions against downstream licensees" and it also doesn't say "the original copyright owners retain the right to enforce these conditions against downstream licensees." Which means that there is an interpretation of the BSD license which makes it a recursive license, where I get code from you, I change it and give it to Bob, and then Bob has a license from me to distribute your code, which only I can enforce against him if he violates it, because I'm the one who licensed it to him. If I then decide that I don't give a crap about enforcing it, the BSD license turns into the public domain license, because anybody can get your code from me knowing that I won't enforce any of the conditions. Is that the right interpretation? I have no idea. But it seems pretty clear that "looks simple" doesn't get you out of needing a lawyer to figure out what the crap is going on.
Is it then? So total anarchy, where anyone has the "freedom" to lock you in a cage forever or enslave you under threat of death is the epitome of a free society?
You're completely missing the point. You can't argue that the GPL isn't "freedom" but the BSD license is, because it depends entirely on how you define freedom. A definition that makes the BSD license "more free" isn't the sole, true definition than the one that makes the GPL "more free." There is no absolute freedom. There is only a trade off between the freedom of B and C and the freedom of A and D. The GPL and the BSD license make that trade off differently. Which is "better" depends entirely on who you are and what you want.
Of course, large companies that want to take your code and use it in their own software without giving anything in return would prefer that you use the BSD license.
So you use the GPL and require copyright assignment. It's not rocket science.
The issue is in the double standard. Have you ever read a proprietary software license? Their clearest language is the parts where they make explicit that you have no rights. You can end up in violation of the license by doing completely arbitrary things that users will never consider before doing, like some fifteen-seat satellite office using Windows XP Internet Connection Sharing with more than ten computers. Or just simple oversights like you inadvertently install a piece of volume licensed proprietary software on more computers than you bought seats for.
The answer to these problems is not to prohibit all proprietary software in the enterprise. The answer is for the lawyers to do their jobs and see to it that nobody is violating the license. And that goes no different for open source licenses.
BSD has been incredibly good for society.
BSD, as in Berkeley Standard Distribution, sure. The BSD license?
What harm do you imagine would have come if the GPL had existed when BSD first started and they had used it instead of the BSD license?
Many companies use software internally. They take that work, profit from it, and give nothing back. How is the GPL any better than BSD under that scenario?
I think the more pertinent question is, how is it any worse?
Start-ups, however, are lured by the idea of being able to close-source everything once their product becomes a smash hit
Then start-ups are confused. What makes people think that having distributed something under the BSD license, you can unilaterally revoke the license from existing licensees any more than you could with the GPL?
And you see large companies that don't want anything to do with it because their legal departments are too lazy to do their damn jobs properly and would rather believe Microsoft propaganda.
FTFY.