The Apache License requires:

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. […]
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. […]
  4. […]

Suppose I want to contribute to some AL2-licensed project on GitHub. I create a fork of their repository, so I'm distributing a copy. Then I modify said files, turning the plain copy into an derivative work with modified files. But usually I only include relevant code changes as I intend for my modifiecations to be merged into the upstream project after some code review. I don't add a notice about “I modified this file” to each of them. How does this agree with the license?

  1. Is the git log enough of a “prominent notice” to satisfy this requirement, even if the information isn't included in the text of each affected file, and even if GitHub allows downloading the code as a ZIP without history information?

  2. I don't see my personal fork as a Derivative Work, but instead as a proposed contribution to the original Work. Is this distinction of any legal significance?

  3. Do the GitHub terms of service somehow address this scenario? I couldn't find anything that sounds like it would apply here.

  4. Is there anything else to prevent me from getting sued by an upstream developer, apart from that developer using common sense?

1 Answer 1


I would not consider these patches as a "Derivative Work". They are instead considered a "Contribution" under the Apache 2.0:

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner.

And therefore:

  1. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

So when I submit a patch to an upstream project, I consider that the patch is enough of a change notification under the Apache-license and this is not a derivative work, even if not accepted. While working on my patch, I consider the act of forking to be enough of a notification until I make an actual submission.

Therefore none of your concerns are warranted and your sub-questions are moot IMHO.

  • I didn't perceive “Contribution” and “Derivative Work” as disjoint. So I'm not sure that it being a Contribution implies that it's not a Derivative Work. In the case of a single patch sent to a mailing list, that patch would only be a Contribution, and not a Derivative Work. But isn't a forked repository both a Contribution and a Derivative Work?
    – MvG
    Oct 4, 2016 at 6:06
  • 1
    @MvG You are likely over analysing this.... IMHO contribute and be happy. Oct 4, 2016 at 11:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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