I was not claiming that SCAMP *did* violate; I just had no information. Given that SCAMP didn't directly link to or modify any GPL code, the following is slightly off-topic...
By the way, a very good resource for what the GPL *really* does and does not mean is at http://www.gnu.org/licenses/ . If you see a contradiction between what I say and information found at that url, I'm the one in error. In general, the GPL source distribution clauses trigger on a "release". This means that, if the project was released (even limited-distribution), the source must be made available to those people at the same time. The free-software world doesn't focus on "finished" products. The philosophy is that *any* member of the community is free to improve upon anything, and that useful improvements benefit everyone, no matter who wrote them. This isn't possible if only "finished" code is released. Something with widespread value in the community tends to get widespread development. A niche project may only see a couple of developers. If they get bored and quit, the GPL is designed to preserve their progress for the next generation of developers/experimenters. After all, just because it didn't do what *you* needed doesn't mean that someone else won't find it useful. Note that GPL code isn't free. In exchange for full access to the community-developed code, you promise that all improvements will be contributed back to the community on the same terms as you received it. > > Further, how can you insist a developer do a general release on an > experimental or research project? This is especially true when the project > did not reach fruition, i.e. a general release. I have a number of > half-baked projects on my system. I would hate to have to release them How can you insist that only "finished" products can benefit others? If nothing else, learning your "30,000 ways *not* to make a lightbulb" may save someone else wasted time and effort. Besides, if they were not distributed to anyone, the GPL doesn't make you release the code. The rule is that any binary you distribute must be accompanied by the source used to make it (if it's just modifications to already-available code, diffs sufficient to rebuild this binary from source are acceptable) or an offer to provide the source on request. If you don't sell or give away *any* copies of the program, you need not make the source available. Incidentally, you *can* charge money for the product, however you cannot add any restrictions beyond those already embodied in the GPL, so your customer can legally treat it as any other GPL-licensed product they downloaded: They can give it away, distribute the source, modify the source (and distribute the modified source), or even *sell* it (just like you did). It is quite possible to make money with GPL-based systems, just not by treating the software itself as "secret sauce". Assuming anyone is still reading, I should make clear that I usually distribute my own code as unrestricted public domain code. This means that, like any public domain material, you can pretty much do anything you want with it, you just can't "de-public-domain" it. You can even re-release it under any license you want (with or without changes to the code), you just can't claim the original code(or third-party modifications to it) violates your license or rights. The bottom line on the GPL: It enshrines others' right to stand on your shoulders just as you stood on the shoulders of previous giants.