I am working on my first big(ger than before) project at my university which is coded under the Apache 2 License.

So here is the question: Can I use copyrighted material/libraries (no restrictions and free to use) inside that project? I want to be specific: The library is flot (flotcharts.org)

My guess is yes, but guesses do not count.

  • 6
    Guesses do not count, but advice from strangers (who are probably not lawyers) over the Internet does? – Dan Pichelman Sep 1 '13 at 23:45
  • 1
    "no restrictions and free to use" is not a helpful descriptor (really no restrictions whatsoever? then why do you have a question?). Flot is licensed under the MIT license, so your question is actually "Can I use an MIT-licensed library in an Apache-2.0-licensed project?" The answer is yes, you can. (Closely related/duplicate question: Is BSD license compatible with Apache?) – apsillers Sep 2 '13 at 0:52
  • The only valid answer is in writing from the academic who is assessing your work. – andy256 Sep 2 '13 at 1:22
  • @Dan: Experience matters ;) – Mathis Sep 2 '13 at 6:18
  • @appsillers hmm, I searched for the licensing information of flot and just found the license.txt in the GitHub repo – Mathis Sep 2 '13 at 6:20

The Apache 2 license clearly indicates:

[Section] 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

*emphasis is mine

As someone with a law degree as well as extensive development experience and intellectual property knowledge, I can tell you that this clearly indicates you are welcome to make anything you want from anything licensed under this agreement and derivatives of any kind. The only caveat is that you MUST include the boilerplate license for Apache 2 in your code/releases/or whatever. You can get that from the link provided.


The important stuff is not so much the license you are using, but rather the license that the third-party library is using.

Assuming you have obtained the third-party library through legal means, then the license of that library determines what you can do with it and what conditions you must abide with if you want to distribute your combined program + library.

As the flot library uses the MIT license, you can freely use the library in your project. You only have to make sure that the license text is kept with the files from the flot library.

A different case arises if the third-party library uses a strong copyleft license, like the GPL.
Those licenses stipulate that they must apply to the entire product of program + libraries. This means that if you use a GPL library, then, for all practical purposes, you must also use the GPL for your own code. Technically, you can use a different, more permissive, license, but the GPL terms would still apply to the code, so there is not much point in doing so.

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.