In the days when software was distributed on tape and floppy disks, the GPL worked well. In the days, when software ran on the local client, the GPL worked well. Then along came the Internet and the concept of Internet services. In today's world, a fair percentage of the software being used is not being distributed to the client. This is where the intent of the GPL fails. Let's take Google as an example. Google uses Linux and has made all kinds of custom modifications to various pieces of Linux. (Whether or not they are directly using GPL software versus LGPL is not relevant for my example, because we don't know what they are doing and they don't have to say.) Google does not "distribute" it's software in the ways that Richard Stallman and others were originally thinking. In fact, they don't distribute their software at all. Google only distributes the service. This means that any online services company can use all the Open Source work they want without ever giving anything back. This was not the original intent of the GPL. The original intent was to bring progress to software by sharing innovations. Google or any other online service company can now use all open source code without ever showing anyone what they have done.
Google can now go on praising open source without having to pay anything. (Anything meaning money, IP, or source code). They can sing the praises of Linux while guarding their IP as close as any other company out there. Compare this to Redhat or Sun's involvement in Open Source, who give a lot to the Open Source community.
Traditional software distribution in will continue to matter less as more and more online services emerge. If you believe in the original intent of the GPL, the wording of the GPL needs a change. This would obviously have huge implications for people who use GPL software by the current rules.
@ 10:50 AM PDT