4

I am making an opensource project and I would like to cover it with the GPL3 license. I also plan to use a library that is released under EPL license (https://github.com/forge/roaster). Is this possible?

More details: source code of my project and its resources would be covered with GPL3 license, but I would also like to include this EPL licensed library and some libraries under Apache 2 license and one library with BSD 3 license.

1
  • For the dependency on a EPL library, see @aspillers answer. For the dependencies on Apache 2 and BSD 3 libraries, there is no problem.
    – Zimm i48
    Nov 24, 2016 at 14:49

1 Answer 1

5

The GNU Project lists the EPL as a GPL-incompatible license which means that you cannot take EPL-licensed code and combine it in the same work as a GPL-licensed work.

However, since you are the author of the GPL work in question, you may license your work under the GPLv3 with exceptions. Section 7 of the GPLv3 allows you, the author, to introduce additional permissions, including the permission to link to specific libraries under GPL-incompatible licenses. The GPL FAQ has a tutorial on how to do this in a legally sound way. Therefore, you may include the EPL in your work licensed under the GPLv3-with-exceptions, and others may use, modify, and redistribute it without fear of legal complications.

Two important caveats about GPL exceptions:

  • Per a comment below, the GPL-with-exceptions license you create by this process is itself incompatible with the regular GPL. This means that you cannot include anyone else's GPL code (nor can anyone else's GPL project include your code), unless the author of that code includes an identical exception to match yours.
  • Any downstream recipient who modifies your code is free to remove the exception, at the cost of reintroducing incompatibility with the EPL component, but with the potential benefit of making the code compatible with the vanilla GPL.
4
  • I'm assuming you meant "EPL" licensed code in your first sentence :)
    – Zizouz212
    Nov 24, 2016 at 1:46
  • I meant EPL licensed library as jar file :)
    – Klemen
    Nov 24, 2016 at 8:35
  • 1
    But if you take that route beware that your project won't be able to borrow any code from a project under GPL3 without this exception, nor depend on any GPL3 library.
    – Zimm i48
    Nov 24, 2016 at 12:27
  • 1
    @Zimmi48 Thanks, that's an excellent point and I've added to my answer.
    – apsillers
    Nov 24, 2016 at 14:46

Your Answer

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

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