1

We have an dependency to drools-compiler (Version 7.19.0.Final) in one of our microservices:

// Drools Compiler :: https://mvnrepository.com/artifact/org.drools/drools-compiler
libraryDependencies += "org.drools" % "drools-compiler" % "7.19.0.Final"

According to the Maven website the license of this component is Apache 2.0.

In pom.xml drools-compiler includes a component called Eclipse JDT Core Batch Compiler (Eclipse ECJ) in Version 4.6.1.

<dependency>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>ecj</artifactId>
</dependency>

The license of "Eclipse ECJ" is EPL-1.0. This license is on the blacklist of our compliance tool. Therefore we have an compliance issue.

I have to questions to the contributors of drools-compiler:

  1. Can you explain why it is correct to use "Eclipse ECJ" which is under EPL-1.0 license in drools-compiler which is under Apache 2.0 license?
  2. Why is there no copy left effect of "Eclispe ECJ" infecting drools-compiler?

Thank you for your reply in advance!

3
  1. Why is there no copy left effect of "Eclispe ECJ" infecting drools-compiler?

Additions to EPL-covered projects that are

  • separate modules, and
  • not derivative works of the EPL code

are not considered contributions to the EPL code and are not required to be licensed under the EPL or a compatible license.

It is not legally settled if linking to a library makes the code that does the linking into a derivative work.

Additionally, clause 3 of the EPL allows binary distributions to be done under a different (open source) license, as long as the source code remains under the EPL. But the fact that the source code is under the EPL does not have to be made clear until that source code is actually distributed.

As clause 3 allows the distribution of a binary under a non-copyleft license without explicitly stating the source is under the EPL license, it is hardly defensible that modules which link to that binary (and don't need access to the source code to do that linking) should be considered derivative works, as the authors of those modules might not even be aware that the source code of the binary is under the EPL license.
By extension, this would imply that similarly linking to an EPL binary without needing access to the sources also does not create a derivative work.

This all combined makes the EPL license only weakly copyleft. By my analysis, only modifications where you need access to the source code are required to remain under the EPL.

  1. Can explain why it is correct to use "Eclipse ECJ" which is under EPL-1.0 license in drools-compiler which is under Apache 2.0 license?

Either the drools-compiler is not considered a derivative work of Eclipse ECJ, for example because they only link to the binaries, or they are making use of the permission in clause 3 to distribute binaries under different terms than the EPL.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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