This post tries to investigate whether creating forks of software, that has been released under the terms of the Apache license, on Bitbucket or Github using a name identical to the name of the original project or a name that contains the name of the original project violates the Apache license or not.
Whenever I release code to the public, I license it under the terms of the Apache license version 2. I find this license to be very liberal, while at the same time it provides sensible terms about the use of copyright, patents, trademarks and names of the original work to those who are interested in building upon it. Below, there is an abstract of the license terms, paragraph 6:
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
Social coding sites, like Bitbucket and Github permit forking the original project and use an identical name for the fork. In regard to the license term above, the following question is raised:
– If the original project is licensed under an Apache license, do such public forks violate the license terms?
Well, I am not a lawyer, but if you want my personal opinion, then yes, such public forks violate the license of the original project and the developers who build upon code, that has been licensed under the Apache license, should use a different name for their fork. Both Bitbucket and Github offer the option to use a custom name when forking. Moreover, Bitbucket offers the option to the original developer to not allow public forks of the original project.
On the other hand, I think temporary public forks of Apache-licensed software, which are solely created in order to commit custom changes and then place a pull request on the original project, should not raise any issues, but only if the public fork is deleted or hidden after the author of the original project has pulled the changeset. But what happens in the case that the pull request is rejected? In this case, I guess the fork should be either renamed or deleted.
The only reason I write all these is to raise awareness about this potential issue and possibly start a constructive discussion. Also, as someone who frequently uses the Apache license, I’d like to know whether any of the questions raised in this post are valid or not.
You feedback is welcome.
Forking Apache-licensed software on Github and Bitbucket by George Notaras is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Copyright © 2011 - Some Rights Reserved
The question isn’t really whether it is in breach of the Apache License, it is more whether it is in breach of the trademarks embodied in that software.
If the project is an Apache Software Foundation project then forking the code under an identical name is, without a shadow of a doubt, in violation of the trademark policy of the foundation. See http://www.apache.org/foundation/marks/
Ross, thanks for your reply. Maybe I didn’t write it in a very clear way, but the trademarks of the Apache-licensed original work, upon which the bithub/github user builds, is what I refer to (or meant to refer to).
Also, thank you for pointing me to the Apache Trademark Policy. It’s a very well-written document. It would definitely save me some time each time I’d have to explain what the 6th paragraph of the Apache licence v2 is all about.