4

I have forked a Apache 2.0 repository on github that has not been active for years. I have made modifications to the files. I want to release the modifications under a different license (Apache allows me to do this) while keeping the original source code as Apache 2.0 (as per requirements of Apache 2.0).

I have been reading the compatibility between Apache and GPL on https://www.apache.org/licenses/GPL-compatibility.html

Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.

This licensing incompatibility applies only when some Apache project software becomes a derivative work of some GPLv3 software, because then the Apache software would have to be distributed under GPLv3. This would be incompatible with ASF's requirement that all Apache software must be distributed under the Apache License 2.0.

I want my project (modifications part) to be licensed under AGPLv3 while original code will be kept in Apache 2.0. Does the statement above mean I can not do this?

From my understanding the original files will remain Apache 2.0, but the project as a whole would become AGPLv3. Is my understanding correct? and if so how would I go about mentioning this license change in the README.md or notice file?

1 Answer 1

3

You have got to read these 3 paragraphs together.

Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.

This licensing incompatibility applies only when some Apache project software becomes a derivative work of some GPLv3 software, because then the Apache software would have to be distributed under GPLv3. This would be incompatible with ASF's requirement that all Apache software must be distributed under the Apache License 2.0.

We avoid GPLv3 software because merely linking to it is considered by the GPLv3 authors to create a derivative work. We want to honor their license. Unless GPLv3 licensors relax this interpretation of their own license regarding linking, our licensing philosophies are fundamentally incompatible. This is an identical issue for both GPLv2 and GPLv3.

It's saying that Apache-licensed software can be included in GPLv3 projects through linking because it is license-compatible.

It's also saying that GPLv3 software cannot be included in the Apache Foundation's projects, because the Apache Foundation does not want a strong copyleft license for their projects, and linking GPLv3 software in Apache projects' software would create a derivative work based on GPLv3.

However, there is no problem to include GPLv3 software in a non-Apache-Foundation Apache-licensed software OR including GPLv3 software in a forked Apache-Foundation Apache-licensed software through linking, to create a derivative work based on GPLv3. The reason for this is that the GPLv3/ AGPLv3 and Apache License v2.0 are fully compatible licenses.

The intention here is that GPLv3 or AGPLv3 must never "contaminate" the upstream source code of Apache Foundation projects.

OP: I want my project (modifications part) to be licensed under AGPLv3 while original code will be kept in Apache 2.0. Does the statement above mean I can not do this?

As stated above, you can do this in both directions (Apache-licensed software in GPLv3 software, or GPLv3 software in Apache-licensed software) through linking, but the final combination of software (i.e. the Derivative Work) will be licensed under GPLv3.

You can also modify Apache-licensed software, and relicense the modified software under GPLv3 or AGPLv3, while the unmodified original Apache-licensed software stays under the Apache-license.

OP: From my understanding the original files will remain Apache 2.0, but the project as a whole would become AGPLv3. Is my understanding correct? and if so how would I go about mentioning this license change in the README.md or notice file?

I'm not sure of your full intentions. If you're going to modify the Apache-licensed software, you need to comply with the requirements in Section 4 of the license, viz.

  • include a copy of the license (or put a URL to it)
  • prominent notices in files showing what modifications you have made
  • retain copyright, patent, trademark and attribution notices in the original software, and
  • if a NOTICE file is included, it should then be updated with your notices and included in the new Derivative Work.

Also, the new Derivative Work may be relicensed under another license. This should be reflected in your updated copyright and attribution notices of the NOTICE file, should there be a NOTICE file in the first place.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.