Is it legal for me to re-implement a Java library in another programming language under the GNU General Public License (GPL) version 2 (text)?
- I would mimic their exact API (package, class, and method names) except replacing the trademarked word “java”.
- The source code taken from the OpenJDK project for Java SE 8 would be used as a guide to write the equivalent as closely as possible line-by-line in the other language.
- All of this would be made publicly available easily on a source-code sharing site such as BitBucket.com or GitHub.com. These files would include the necessary prominent notices and licenses statements as required by the GPL.
As an example, the source code from java.util.HashMap
.
The Gnu.org FAQ, What does the GPL say about translating some code to a different programming language? says that translation to another programming language is treated like other modifications, acceptable if all terms of GPL are met.
I would have thought the GPL’s very purpose is to allow such freedom. My confusion stems from the Oracle versus Google appeal ruling of 2014-05-09 by the United States Court of Appeals for the Federal Court. That ruling upholds copyrightability of an API, which I can understand. What I do not understand is why that copyrightability issue is relevant given the source code is available under the GPL.
I suppose their are two core parts to my question:
- Is the GPL rendered impotent if the original publishers decides to pursue a claim of copyright violation against anyone forking or imitating their GPL-licensed work? How can Oracle claim damages from infringing copyright on code published under the GPL?
- Is there any other restriction beyond the terms of the GPL that would bar me from producing an open-source rewrite/translation of a Java (OpenJDK) library in another programming language?