Lately there has been a lot of nonsense (as I see it, ho ho) going around about the GPL. Perhaps it's just that the people who dislike it are becoming more outspoken, but many people are saying that they have recently come to believe that the GPL must necessarily spell the end of all software companies, the loss of zillions of jobs, and so on and so forth. I believe this is all a lot of hooey. The following material is (currently) the culmination of a long and involved thread on the subject on Google+; I will spare you a link as this is probably the most cogent contribution I made to the conversation anyway. Content after the break.
The problems with software are artifacts of other problems in our societies that people talk about all the time; laws like those pertaining to copyright and patents, and "base" elements of human nature like selfishness and greed. That doesn't mean that we shouldn't try to improve problems with software while we also try to improve other aspects of the world. Some people are simply best at addressing these issues.
It has been shown time and again that the GPL is an effective means of providing a corporation the interest to release the code. I am still having a very difficult time imagining how someone can be offended by someone placing terms on a piece of code which they are giving away (or, if you prefer, licensing) which grant you rights otherwise denied you by law by default. You complain of not having the right to distribute that code without also distributing the source code, but by default, you have no rights to reuse OR redistribute that code at all. The GPL does not take away rights; it grants them.
If you are comparing to the BSD, MIT, Artistic, CC-by-SA, or a similar license, you could make the false argument that the GPL is depriving you of rights, but in truth that is a false dichotomy. The author who chooses the GPL might well choose not to share the code at all if not for the provision that downstream distributors must likewise contribute back to the end user. Indeed, users who are developers have a choice between a BSD operating system under a BSD license, and (among others) Linux under the GPL, and the majority have chosen the GPL. Likewise, the developer who chooses to incorporate GPL-licensed code into their project does so based on the assumption that it is a winning value proposition; they have the choice to replace the code with some of their own devising before they ship, or distributing the code to end users. Or they can do what people did before any kind of [F]OSS had become trivial to locate or even readily available, and pay someone for some code.
Given that the GPL only increases choice for the developer and for the user who chooses products whose code is covered by such a license, and does not eliminate any existing options or opportunities, I would love it if someone could please explain how it will bring about the demise of existing business models. It may bring about the demise of certain specific businesses, but many businesses are inefficient or indeed a net drag on the industry and they should be permitted to cease to exist. The notion that corporations should exist forever is a modern one, and it is not really working out that well.