I develop both open source and closed source software. Some of my closed-source software is free, and some of it isn't. After developing software on both sides of the fence, I have come to the conclusion that the GPL (not the LGPL) is one of the most disastrous things to happen to open-source software.
Why would I say this? It's quite simple - copyleft policies in general suffocate innovation and development, and it constructs a gigantic brick wall between proprietary and open-source software. Those who foolishly believe that open-source software, being free, stands to gain nothing from allowing commercial uses of its libraries are idiots. If one utilizes a license that allows commercial application of a library on the condition that all modifications to the source code must be publicly released and the original authors credited, it is mutually beneficial for the developers on both sides of the fence. The commercial application will fix up the bugs and the open-source community inherits them for their own use, while the commercial application gets the benefits of using an open-source library as opposed to building their own.
Astoundingly, I know of no such license. Thus, I have crafted my own, simply called the Black Sphere Studios Open-Source License, to be used on all my open-source software. It is not currently in use, since I need a lawyer-person to look over it and fix it up, but I basically took the free-use license of the C++ Boost library and added on two clauses for release of source code and attribution to the original author.
Open source software is killing itself by treating proprietary software like the devil's spawn. Commercial software is not bad. It's also never going to die out, ever, no matter what. Open source software needs to stop trying to kill off something that isn't going to go away and start learning how to cooperate with it for its own mutual benefit so the rest of humanity can enjoy the fruits of its labor instead of having to listen to endless bickering.