Closed maacl closed 7 years ago
Vase is a library that performs code-generation based on a declarative data description of a service. One consumes Vase the same way any other parser/compiler is consumed. The files that you feed Vase aren't part of its distribution (they're part of yours), so they're under your own copyright and license.
Additionally, the EPL is a non-viral copyleft license.
Does that help to clear things up?
In reverse order.
If by viral you mean a license that has effects on derivative works of works licensed under said license, the EPL is most certainly viral. The distribution of a work derived from a EPL licensed work requires that that source code of the distributed work is made available to the recipient.
As to licensing of code generation tools and the intellectual property effect on the generated artifacts please see below snippet from the EPL FAQ point 29. As you can tell the effect is highly uncertain, which was the reason for my question. If you are interested this article also provides a very nice summary of the issue and specifically analyzes the EPL.
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.
That doesn't apply to how Vase works. Vase isn't a wizard/template generator, it's more akin to a JSON parser, where your service is any arbitrary JSON string. Vase's "parsing" capabilities are just a side-effect of Clojure's reader.
Thanks for your concern and highlighting an important issue across software in general. It's nice to have people engage so early in Vase's public life. We're going to keep the project licensed under EPL for now.
That of course is your prerogative. Sake good order "parsing" is not the issue, rather code generation is.
Have you considered whether the EPL is really the correct choice of license?
The EPL requires that source code be made available if a derivative work of the licensed work is distributed. Given the use case for Vase most uses are likely to create a derivative work.
Re EPL/derivative work, distribution etc please see the below: