I'm looking to open source my framework with Apache-2.0.

There are plenty of dependencies with different licenses: Most are Apache-2.0. There are a couple of exceptions: (These licenses are listed from mvnrepository.com)


  • CDDL 1.1


  • EPL 2.0

Jersey Media JSON Jackson

  • Apache 2.0, EPL 2.0, GPL 2.0

Jersey Inject HK2

  • Apache 2.0, BSD 2-clause, EDL 1.0, EPL 2.0, MIT, Public, W3C

Jersey Container Grizzly2 HTTP

  • Apache 2.0, BSD 2-clause, EDL 1.0, EPL 2.0, MIT, Public, W3C

Would I still be able to have a Apache 2.0 License? What would I be required to do?

1 Answer 1


The good news is that you can pick whatever license you would like for the code that you are writing. You're the author and owner, so you get to pick the license.

But you should still consider a license that is compatible with your dependencies and be aware of how the license of the dependencies can impact your code. So, for example, you can use Apache 2.0 and have a dependency that is GPL 3. Those two licenses are compatible. But be aware that, practically, it means that any one who uses your framework (and the dependencies) will need to license their project under the GPL 3. If you're picking Apache 2.0 because you want a permissive license, that may be a problem for you - even though your code is permissive, the GPL dependency carries through and the person/company using your framework will have to comply with the GPL 3.

The other point to consider is ensuring that your license is compatible with the licenses for your dependencies. For example, the Free Software Foundation's position is that Apache 2.0 is not compatible with the GPL 2. This means that the user of your framework can't comply with both licenses. If they take that sort of thing seriously, it will mean they don't pick your framework.

  • So for compatibility sake would you recommend that I license under gpl 2.0? For the dependency that uses gpl it is stated that is a dual license github.com/eclipse-ee4j/jersey would this mean that the gpl would not carry over?
    – AloreStack
    Oct 4, 2019 at 6:34
  • @AloreStack, for the multi licensed packages, you can choose which of the licenses you want to comply with. This means that your preferred Apache 2.0 license is compatible with all your dependencies. Oct 4, 2019 at 12:28
  • Ah okay, since Apache is compatible does this mean that if I were to license this as MIT it would still work?
    – AloreStack
    Oct 4, 2019 at 15:10
  • @AloreStack, yes - I'm not aware of any licenses that are compatible with Apache but incompatible with the MIT license. To my knowledge, either license should work. Oct 9, 2019 at 3:14

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.