Quote:Original post by Hodgman Thanks. The headers are source code though (they contain all of the meta-programming) and the lib files are object code. The GPL states that I must "Accompany it [the distro] with the complete corresponding machine-readable source code". Seeing as it says "machine-readable" I thought I could get away with distributing the machine-readable object code (libs) instead of the human-readable cpp source.
"The source code for a work means the preferred form of the work for making modifications to it."
Quote:
The headers still contain a lot of templated code that would be used by the client application, which could be enhanced by end-users without the cpp files.
"For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."
1) If you realease a library as "GPL" then you must include the FULL source for everything used to build that library, period. The project files, the XML files, the embedded data files, everything. That is the meaning of the Machine-Readable source code in the Prefered Form for making modifications ... it would be whatever form you, the developer use to actually build and modify the product. In its entirety. So the GPL is completely incompatible with the idea of "closed-source".
2) The GPL does not limit commercial use, and is incompatible with any license which does limit commercial use, since the GPL forces the source code that is distributed to have no other limitations on use except for those in the GPL itself.
2b) GPL software can be commercial, although it is nearly impossible to build a business model that works that way, because - by core rules of the GPL - the first customer who buys your product gets all the source AND the rights to use or sell it however they want (although it too must be licensed via the GPL, which means the product they sell will stay open source).
The Torque licensees are a great example of how people make usage limited (not open source) licences.
Most component vendors (people who sell ActiveX widgets and such) offer licenses that do not include source for cheap, then a version that does include source for more, but limits the usage of that source to being compiled into a program, and not being sold as part of a library or similarly competitive development tool.
It's not a license sepcifically, but FMOD does almost exactly what you're after: (The only difference I can see, from a quick scan, is the inclusion of source code for all licenses.)
I usually release things under the zlib license, with a single added restriction. That is, you may do whatever you want with it, but you can never, ever, release any bit of it under the GPL or LGPL, ever.
Deyja, why don't you want anyone releasing any of your code under the GPL or LGPL, and is your license written in a way that would actually prevent someone from just using another copyleft license?