I am using Eclipse to code my program. After doing research on the Eclipse website I found that there was no clear answer to my question.

My issue is that I need to be able to license my software and have NO restrictions as to how I license it. But throughout the development of my software I have used wizards to generate some of my code numerous times.

My question:

By using these wizards, does this mean that my software is now a derivative of Eclipse?

I have done a bunch of research, all I could find was an indefinite answer.


3 Answers 3


Eclipse has it's own license, the Eclipse Public License. It's very difficult to find, but you can find this in Section 29 here:

Many Eclipse tools and wizards use code templates which are included in the application that is generated. Is the code generated by these tools considered a derivative work that must be licensed under the EPL?

Unfortunately, there is no clear answer to this question. To the extent that the code generated by a wizard is purely functional in nature and therefore not the proper subject matter for copyright protection, it could be argued that it is not subject to copyright protection, and therefore is not a derivative work. An example of that type of code would include calls to APIs or other technical instructions which are dictated by functional or technical requirements. Moreover, to the extent the generated code is a very small part of the final overall work, there is an argument that such use would be di minimus, and the final product or application should not be considered to be a derivative work. Finally, to the extent developers who use the generated code make many changes and additions to the code, there is also an argument that the resultant application is not a derivative work. Of course, these are just arguments and not "bright line" tests, and therefore each position could be subject to differing viewpoints. Eclipse cannot take a position on this issue, as it will ultimately be a question of the facts and circumstances associated with a particular use.

Reading this, you can easily determine that any generated code is only functional in nature, and will consist a tiny fraction of your final project. Therefore, using the code generated by the Eclipse Wizards will not make your software a derivative of that. Don't worry, you can calm down! You're safe now! :)

  • 11
    Your conclusion is quite definite, which seems out of step with the agnosticism of your quote... Commented Jul 24, 2015 at 23:07

The wizard itself doesn't determine if the output is covered by a license. The input determines copyright law and FLOSS licensing. For example, if you import a nondescript WSDL into Eclipse to generate a client, that client isn't subject to the Eclipse license or even copyright law (by itself). The entire work resulting from the use of that client could be licensed any way the developers see fit. Contrariwise, if you imported Eclipse's source code into Eclipse and compiled it, it would be subject to Eclipse's license, even if you modified it slightly.

However, you might be able to import just a single file from Eclipse, if that file offered obvious functionality and was an insignificant portion of the software, without tainting the entire project with the Eclipse license (but, most people avoid that argument either way by simply not copying any source files from software with a license incompatible to their own).

Since most wizards require user input and various actions to generate output, unless the input was licensed by a particular model, the output is subject to ordinary copyright law, which would generally either mean that the person that generated the code would own it, or the code can't be copyrighted, either because it doesn't meet the requirements for originality or triviality.

If this were not true, all FLOSS software would be in trouble. In order to create a project in Eclipse, you use a wizard. By default, simply using the software basically requires the use of a wizard, so all the output of Eclipse would automatically be subject to Eclipse's licensing.

Clearly this isn't true, because either there'd be a lot more FLOSS software bearing Eclipse licencing, or Eclipse would cease to be viable for any developer unless they explicitly were okay with Eclipse's licensing model, which would basically mean that it would be useless for developing any other type of software. Simply using a program to generate a particular output does not automatically make that output assume a certain license.

  • I think the OP is referring to code template and code generation.
    – Zizouz212
    Commented Jul 26, 2015 at 0:13

I find using the words "purely functional" very odd, it already has an established and very specific meaning. "Trivial" would be a better word.

If some nontrivial code is already present in a program and you take and modify it (with a wizard or otherwise), it's better to treat it as a derivative work. You should check if they have any exception for it, and if not, check license compatibility with your own code. A list of constants, function prototypes, or dummy methods with nothing but name and formal parameters could be considered trivial and not copyrightable. However, some wizards essentially copy a whole demo app for you.

If a program generates code from scratch, then you don't need to worry about it. If you take a program that generates random code from a grammar specification (e.g. mine ;), you can be sure the code is yours. Some programs where substantial part of the generated code is stored and reused verbatim add exceptions to their license to avoid any ambiguity (see here).

  • 5
    In this context "purely functional" refers to not meeting the threshold of originality required to be protected by copyright, which is stronger than triviality. Was that the same established specific meaning you were going for?
    – Martijn
    Commented Jul 24, 2015 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.