I have a project which takes an input file and generates code from it -- a compile in the *loosest* sense of the word.
I would like that the main code be GPL, but I also want that anybody can do whatever they want with the generated code (much as how free compilers tend to work).
How do I go about doing this split licensing?
Some points: -currently the generated code is source form, not object form perse -the generated code requires some non-generated dependencies (I guess those would need to fall under a less restrictive license as well) -those source dependencies are actually used by the compiler as well (written in same language as target, PHP for now)
Any help, or some ideas would be appreciated.
edA-qa mort-ora-y wrote:
I would like that the main code be GPL, but I also want that anybody can do whatever they want with the generated code (much as how free compilers tend to work).
How do I go about doing this split licensing?
You'd probably want to add a special exception to the GPL to cover the output of your program.
GNU gcc, flex, bison, etc. are all programs which do something similar - you could look at how they handle it.
Cheers,
Alex.
edA-qa mort-ora-y eda-qa@disemia.com writes:
I have a project which takes an input file and generates code from it -- a compile in the *loosest* sense of the word.
I would like that the main code be GPL, but I also want that anybody can do whatever they want with the generated code (much as how free compilers tend to work).
They tend to work that way because people have determined that the output of the compiler is not "derived", in copyright terms, from the work that is the compiler itself.
I don't know if that legal theory has held up under the stress of an actual trial.
How do I go about doing this split licensing?
If it is clear that the works generated by your program are not "derived works" of the program, then you may not need a split license at all since copyright on the program would not have any effect on copyright of the works it generates.
Consult a copyright lawyer, asking specifically about derived works and the above determinants.
For some GNU programs, a clarification is made to the licence saying that the normal output will not be covered by the licence. I thought GCC and Bison were two examples, but I've just browsed the source code of each and didn't find what I was looking for. Does anyone remember which projects have this clarifcation?
edA-qa mort-ora-y wrote:
I would like that the main code be GPL, but I also want that anybody can do whatever they want with the generated code (much as how free compilers tend to work).
Have you read the following FAQ entries on the Gnu website?
In what cases is the output of a GPL program covered by the GPL too? http://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
Can I use GPL-covered editors such as GNU Emacs to develop non-free programs? Can I use GPL-covered tools such as GCC to compile them? http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free? http://www.gnu.org/licenses/gpl-faq.html#GPLOutput
Andy
Andy wrote:
Have you read the following FAQ entries on the Gnu website? Can I use GPL-covered editors such as GNU Emacs to develop non-free programs? Can I use GPL-covered tools such as GCC to compile them?
I have read these and they make specific reference to Bison having a special clause as it copies some standard code into the output.
Looking at the Bison project however I can find no mention of this special condition. My project would fall into the same category.
Anybody ever see this special wording/clause for Bison?
edA-qa mort-ora-y wrote:
Looking at the Bison project however I can find no mention of this special condition. My project would fall into the same category.
I found it, in some of the files is this comment:
/*As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison.*/
edA-qa mort-ora-y wrote:
Anybody ever see this special wording/clause for Bison?
According to http://www.gnu.org/software/bison/manual/html_mono/bison.html#Conditions it would appear the special clause is placed into Bison's output file. Having never used Bison I can't be sure.
If you download the Bison source and look at the file examples/calc++/calc++-parser.cc you'll find the following beneath the GPL license grant:
/* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception.
This special exception was added by the Free Software Foundation in version 2.2 of Bison. */
I think that license only applies to the parser skeleton, not the rest of Bison.
Andy