I'm working on one npm package based on another one but with another approach, this package is licenced under Apache v2 and I want to use MIT. After some use of my package I've noticed I need to use the feature that the licenced code provides, but this package is not mantained since midyear of 2014 and a PR to this package is not an option.

Can I modify and include this package logic into my own package and publish it without any issue? Should I add some reference to the other package? If I should refer the other project what things should I do/include on my own package?


You should comply with the terms of the Apache License. If you copy AL-licensed source code verbatim, you should keep that license on that source code. if you make a derived work, you can change the license, but you have to comply with the terms of the license. All that you need to know can be found here; I quote:


Absolutely -- subject to the terms of the Apache license, of course. You can give your modified code away for free, or sell it, or keep it to yourself, or whatever you like. Just remember that the original code is still covered by the Apache license and you must comply with its terms. Even if you change every single line of the Apache code you're using, the result is still based on the Foundation's licensed code. You may distribute the result under a different license, but you need to acknowledge the use of the Foundation's software. To do otherwise would be stealing.

If you think your changes would be found useful by others, though, we do encourage you to submit them to the appropriate Apache project for possible inclusion.

  • 2
    Thanks a lot, I'll add a NOTICE with the refence to the based package to comply with apache's requirements, then I'll publish it under MIT. – Andres Troiano Aug 25 '15 at 23:59

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.