I made a GitHub project and decided to use the Apache License 2.0 in my source code. Although I never added a file with the full license text but only the boilerplate notice in each file.

Then I realized my mistake and added the Apache License 2.0 but someone had already forked the project and added the GPL.

So, what stands and what can I do if anything?

  • Can you expand what you mean with " Although I never added the licence but only the notice."? It is not entirely clear what the license status was when you realized your mistake. – Bart van Ingen Schenau Jan 14 at 16:31
  • What I mean by that is that I never added this: apache.org/licenses/LICENSE-2.0.txt I only added this: apache.org/legal/src-headers.html#notice – CoolJWB Jan 14 at 17:42
  • 1
    "someone had already forked the project and added the GPL." - What do you mean by this? Are they trying to change your license terms in the fork, or are they forking it (as permitted by the Apache License, while retaining required notices) and adding additional GPL-licensed code? – Brandin Jan 14 at 18:36

The typical Apache 2 license notice contains a link to the full terms, therefore including the full terms of the license in the repository is not necessary. So your license likely was in effect right from the start. If there had been no license, no one else would have been allowed to change the code.

One of the rights you give away via the Apache 2 license is that other people may use your code in other software, without having to publish that software under the same license. They still have to follow your license terms, e.g. to keep any license notices intact. E.g. the GPLv2 license terms make it impossible to simultaneously honour the Apache 2 license, but the GPLv3 license is compatible.

This gives the following possible scenarios:

  • If you did not provide an effective license, the other person committed copyright infringement.
  • If they removed or changed your legal notices (such as copyright notices) they committed copyfraud (a kind of copyright infringement) and violated the terms of the Apache 2 license.
  • If they issued a new license without having made any changes to the code, that is a grey area: they are not a copyright holder and therefore have no right to issue a license, even if your software could also be used under the terms of the new license.
  • If they chose an incompatible license such as GPLv2 they have violated the Apache 2 license.
  • If they chose a compatible license such as GPLv3, they have merely exercised the rights you gave them. This is still an unusual move.

If they infringed your copyright e.g. by violating the Apache 2 license, you should contact them and ask them to rectify the issue, e.g. via a GitHub issue or by sending them an email (clone their repository to your computer to find committer emails in the git log). If they do not comply you can consider issuing a takedown request to GitHub, but I'd try all other alternatives first.

If they changed the license in exercise of their rights, you can still ask them whether they wouldn't like to keep the upstream license that you provided. This would have the advantage that their changes could be included in your upstream project. However, you have no way to force them to stick to your license.


First, let me be clear that a person who modifies your Apache-licensed work is free to release their own changes under the GPL. The Apache 2 License is a permissive license that is compatible with the GNU GPLv3, so your Apache-licensed material may legally be incorporated into a larger work that is, as a whole, licensed under the GPLv3.

That said, the following things are also true:

  • The downstream GPL distributor still has an obligation to obey the requirements of your Apache 2 license grant as long as they use your copyrighted material. These requirements include 4(a), "You must give any other recipients of the Work or Derivative Works a copy of this License..." If the GPL redistributor does not do so, they are in violation of your license grant.

    • If the GPL distributor wants to argue that your code was not properly licensed under the Apache license, since you didn't include the full license text, then that is an even worse position for them to be in, since they'd effectively be arguing that you never gave anyone any permissions at all and they're committing a flagrant copyright violation by using your code without permission.
  • The downstream distributor may include your Apache-licensed code in a larger GPLv3 work but they may not simply distribute your work verbatim under a different license.

  • The downstream distributor has an obligation to clearly delineate which files include work by which author(s) by preserving copyright notices.

All that said, the solution is simply to ask the downstream distributor to include the text of the Apache 2 License. They are free to include the GPLv3 also if (and only if) they added their own copyrighted material that they themselves added on top of your own work. Whether or not they distribute your work verbatim, they have a responsibility to abide by Apache 2's section 4(a) and include the Apache 2 text.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.