-1

The license for the OpenJDK class libraries is GPL-2.0 with Classpath exception.

1) Is there any issue with regard to Oracle Corporation and copyright if the class libraries were ported to another language?

2) If an equivalent library is made with the same class names and methods - same API - but without looking at the OpenJDK source code, is that considered a port and must be under the same GPL license as OpenJDK?

  • 1
    It would be best to ask those two questions separately. – curiousdannii Oct 16 '17 at 3:16
1

1) Is there any issue with regard to Oracle Corporation and copyright if the class libraries were ported to another language?

No issue to me: a port would be considered a derivative work of sorts almost universally and the original "GPL-2.0 with Classpath exception" license would apply to the port in the other language.

2) If an equivalent library is made with the same class names and methods - same API - but without looking at the OpenJDK source code, is that considered a port and must be under the same GPL license as OpenJDK?

If you use the same API, either you have looked at the OpenJDK (may be only the docs and not the sources) or you have super divination powers. This would be considered a port in most cases.

On APIs in general and the Java APIs in particular, the Oracle vs. Google case has been discussed at great length with How is Oracle suing Google for copyright infringement when Java is Open Source? and What are the implications of the Google vs. Oracle case on the state of public APIs? in this forum: Software APIs are copyrightable the US for sure. Building a re-implementation of an API is likely subject to copyright and therefore in the code of the OpenJDK class library, the re-implementation would be subject to the OpenJDK licensing.

Anything except a cleanroom re-implementation is likely to be considered a port/derived/derivative work and subject to the original license and one could argue that anyone having used Java once has knowledge of the API and should therefore barred from involvement in such cleanroom development. This is a complicated process with a high level of ceremony which is unlikely something you want to pursue in most cases. Cleanroom design Wikipedia definition is:

Clean-room design (also known as the Chinese wall technique) is the method of copying a design by reverse engineering and then recreating it without infringing any of the copyrights associated with the original design. Clean-room design is useful as a defense against copyright infringement because it relies on independent invention.

  • Thanks! One other issue is the license. I wrote "linking exception" which I got from the Wikipedia entry. You edited it to "classpath exception". I was considering a compiled language to which linking would apply, not classpath. – Scooter Oct 16 '17 at 5:24
  • 1
    Actually, in looking at the "Classpath Exception" part of the license, it mentions "static and dynamic linking" and "linking". So I guess compiled languages would be covered. – Scooter Oct 16 '17 at 5:41
  • @Scooter exactly :) – Philippe Ombredanne Oct 16 '17 at 6:01

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

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