My perspective is that of a donor; not a receiver. I want to ensure that what I create has as few hindrances as possible in terms of adoptability and the last thing I need is the license (which has no bearing whatsoever on the actual functionality of the work to begin with) to get in the way. And I've seen it get in the way of plenty of other past projects.
Now if someone takes your permissively licensed code and makes it proprietary, THAT is a real hindrance to users of that software, and while it may not be your fault directly, you had the power to stop it because you are the copyright holder and could have copylefted it. So permissively licensed software actually has more potential than copyrighted software in allowing a license to "get in the way."
'Do as you please and leave the copyright' vs. 'Do as you please, leave copyright, distribution requires sources etc...' Which is more permissive? "Permissive" in your sense of the word is entirely a misnomer since it's effectively a permission whitelist not a blacklist.
This is getting to be entirely repetitious since I've had this discussion many times before. I'll let an old post explain why I can never in good conscience put GPL on anything I do : http://eksith.wordpress.com/2008/11/24/gpl-vs-bsd
I'm sure you have your reasons for disliking the GPL. Many of us love it for those very same reasons, and for the freedom it grants to everyone, not just the immediate recipient.
Unfortunately management doesn't care about this aspect of their business, and has to be dragged kicking and screaming to a world of user-upgradeable software.
Proprietary software has many advantages over Free - heavier corporate investment creates more consistent and polished results. But that doesn't imply that it's better for all purposes, or that a new project is better off choosing a license that makes easy to incorporate into proprietary products.
However, compared to BSD licenses, the GPL gives fewer rights to those 3rd party developers. It also gives users of the software those developers write rights. BSD licenses, on the other hand, leave it to those developers to decide what they want to give their users.
So yes, the GPL isn't about control in the way proprietary licenses are, but it is about control.
Copyright holders retain all of the power granted by copyright. The GPL grants only some of that power to licensees. A BSD license grants almost all of it.
- Only the copyright holder can effectively enforce the license on a particular piece of software
- They are in a better position to enforce the GPL than most users
And yes, the reason for the existence of copyleft is specifically to disable the powers granted by copyright that can be used to attack the users' freedoms.
The point is simply that there is a power discrepancy between copyright holders and everyone else, and that by limiting power the copyright holders are exerting control over what happens to their creative expression.
I don't really understand why this is contentious, I just see it as a fact about the GPL. The FSF routinely refers to BSD-style licenses as permissive, which means the GPL is restrictive in comparison. "Restrictive" is another way of saying "controlling".
In this context we don't consider "restrictive" as the opposite of "permissive." The ones who are trying to restrict users are the proprietary software companies. We need to use certain language to draw attention to this because proprietary software developers are trying to downplay the fact that they are restricting their users. The only reason the GPL is not "permissive" is because it does not permit them to restrict users.
This "the GPL gives developers power" is pure FUD that showed up in the 90's as part of the reactionary trantrums throw down by some BSD groupies and by ESR and his gun-toting friends who wanted to sell Free Software to the corporate world, so they corrupted the term and invented Open Source. It just so happens that developers are users too.
So, if you want to strike it rich with open core, sure, you choose a lax license, say MIT or Apache, or even better BSD 2-clause, and when the suckers have implemented all the features and ironed out the bugs, you run away with the code, sell your startup and more power to your bank account in the Caiman's. Right?
So, no. The reason why the corporate world uses the GPL instead of the BSD license for the really important stuff is because it creates a level-playing field. It is the same situation as the Cold War (perhaps you are too young to remember its lessons?): "If you and I can blow each other to bits and take everybody else with us in the process, let's stop and rather do some conquering and plundering together, shall we?" And that's exactly why the mobile space is a nasty, miserable world of patent lawsuits: There are no mutual assurances of total, generalized annihilation if someone doesn't want to play by the rules. Patents are just not it; ask the Chinese.
I won't comment on paragraphs 2 and 3, because they, to me, look more like opinions than factual discussion.
The last paragraph, similarly, IMO is not built on facts. "The corporate world uses the GPL" certainly isn't uniformly true. To mention one example: from what I can see, a C compiler is part of the "really important stuff" and clang is more popular than gcc for new developments.
I look at it as decent screening process. If the only reason the person / company is returning the changes is the license, then it is very probable that I don't really want those changes or to work with them.
Its also a really poor business decision on their part (yet another good reason to not deal with them). They will spend time on their fork and have no influence over the direction of the code.
Landley speaks to this in his Toybox presentation, noting that the forced source code contributions resulting from the Busybox lawsuits were absolutely worthless.
You don't need to work with anyone that you don't want to. The GPL doesn't have a requirement that you need to submit pull requests. All it requires is that if you distribute binaries, you must also distribute source code to anyone who asks, so that the users can have freedom. And if the users have freedom, then anyone can have as much influence on the direction of the code as they want.
They also haven't solved that LibreDWG issue yet, even though they hold all the cards and it would be of literally no effort on their part to fix this mess.