
I designed the GNU GPL to insist that you must make your code free software, if you include GPL-covered code in it. I did this for a reason: to encourage people to make software free. It does this by providing code that is available only for writing free software, not for writing proprietary software. The GNU GPL works well to promote free software (see http://www.gnu.org/philosophy/pragmatic.html). It also permits commercial use of the code. What it does not permit is using the code in a proprietary program. I won't use proprietary software, I want to have free software for every job. So I have no reason to help you write any proprietary software. If you want code you can use in a proprietary program, you are out of luck. It isn't surprising that people who want to write non-free software are disappointed that the GNU project won't help them. What is amazing is that they feel this is unfair. They have no intention of letting me use their source code in my programs--so why should they be entitled to use my source code in their programs? These people seem to think that their selfishness entitles them to special treatment. The GPL is my way of offering a certain kind of cooperation to anyone else who is willing to cooperate in the same way. For an explanation of the difference between commercial and proprietary, see http://www.gnu.org/philosophy/categories.html and http://www.gnu.org/philosophy/selling.html