TransWikia.com

Can I fork and modify gpl3 licensed code and release it with Apache v2 license?

Open Source Asked by Benny Bottema on August 28, 2021

If I fork a library that uses the GPL3 license and heavily modify it, can I then release the new library with an ApacheV2 license?

I actually already did this 2 years ago without putting much thought into it. Now however I’m not so sure I was allowed to do this or what I need to do to comply with the license rules.

I’ve also contacted the original project’s developer for express permission, would that cover any legal issues for my users?

2 Answers

If I fork a library that uses the GPL3 license and heavily modify it, can I then release the new library with an ApacheV2 license

No, you may not. Your library is still, by your own admission, a derivative of the original GPLv3 code. GPLv3 s5c says that if you convey a derivative work, you must do so under GPLv3.

I've also contacted the original project's developer for express permission, would that cover any legal issues for my users?

If you were to obtain the permission of all the rightsholders in the work you modified (which may well be more than just the original developer, if the project accepted contributions, or if it was in turn built on another GPL work), then yes, you could relicense as you have done.

Now however I'm not so sure I was allowed to do this or what I need to do to comply with the license rules.

Your suspicions are justified. Right now, from what you've written, you're committing copyright infringement, and have been doing so for two years. At the very least, you should immediately stop distributing your code. In my opinion, you should promptly contact everyone who you believe may have taken a copy of your code, and tell them that they have no right to use it. If you have a project website, take it down, and replace it with a clear statement of the problem. And if I were you, I'd also be looking at talking to a lawyer.

Correct answer by MadHatter on August 28, 2021

No. But maybe.

The GPL applies to all derivative works as a whole. When you modify some code, that is a derivative work and has to be GPL-licensed.

However, if you can clearly identify parts that are not derivative but entirely your creation, then you can license those parts under any other license as well, including Apache-2.

It is in theory possible that your modifications have amounted to completely rewriting the code base from scratch, and that no traces of the original GPL-covered version can be found. Only then could you license the entire project under Apache-2, but that is very unlikely in practice.

It is unlikely that you will receive permission to use the original code under Apache-2. Instead:

  • update your project's license to GPLv3, which was the real license of the project all along
  • communicate to stakeholders/downstream users that previous versions used Apache-2 erroneously
    • potentially, indicate an alternative they can migrate to, in case they can't use GPL-covered software
  • audit your dependency tree to see if there are license incompatibilities
  • optional: identify components that are not derivative works, and indicate that they are dual GPLv3/Apache-2 licensed

Please also consider GPLv3 section 8, which deals with license termination and reinstatement. You have violated the GPLv3 and are therefore in a temporary state of copyright infringement. If you fix this, your license will be automatically reinstated. However, the copyright holder (i.e. any upstream contributor) can permanently terminate your license within 60 days afterwards if they want to.

Answered by amon on August 28, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP