BigEd wrote:
You say you want your code to be free and stay free. That's certainly the point of LGPL and GPL. It means if someone uses your code, finds and fixes a bug, or adds a feature, and then ships something with that improvement, they are obligated to provide the improved source.
IMHO, this always has to be clarified, because the GPL is simply not this broad as implied here.
When you distribute a GPL work, you are obligated to make the source of your work available to the parties that you distribute the work to. You also can not restrain those parties from further releasing the work.
There is also a sunset on the duration of your obligation, of I think 3-5 years.
This means that if you distribute a GPL work, you are not obligated to put it on a public server and make it available to the world. You are not obliged to respond to requests from everyone or anyone. You're not obliged to do that for eternity. Rather, if the party you distributed to asks for the source code, you are obliged to make it available to them, AND you can charge for the service of providing it to them.
Also, you are not obligated under the license to release any changes you made "back up stream", back to the community. Only downstream to the folks you distribute your derived works to.
So, when you go and write your Automated System for Tire Stores, and SELL the system to Bobs Tire Warehouse, Bob can ask for the source code. And, that's it. You're done. Bob can post the code to the web, Bob can make large signs of your source code and stick it to the company van. Bob can sell USB Fobs with the source code on it.
But you don't have to support any of that. You don't have to offer the source to anyone else. And, frankly, Bob is in the Tire business not the software business.
Mind, I think the Free Software Foundation really dropped the ball on the GPL. IMHO I think every web page with GPL code in it (whether from a web template or java script) should be implicitly licensed as GPL, but they don't see it that way.