Call for Compliance of Java(tm) Technology with the 4 Freedoms of Software

Xerxes Rånby xerxes at
Thu Mar 7 07:12:23 PST 2013

Dear OpenJDK Governing Board, OpenJDK Conformance Group and distribution packagers:

"Sven Gothel 2013-03-07 14:22:34 CET

Motivation of this discussion are the restrictions
of providing and using a virtual machine (VM) runtime environment (RE)
'based on java' to be used on desktop and mobile/embedded devices.

It is observed that even though GPLv2 licensed OpenJDK source code is available
beside other 'java based' implementations, deployment of its binaries is
restricted and controlled by Oracle.
Hence compliance w/ the 4 freedoms of Software[0] is violated.


JVM         - Java Virtual Machine
JRE         - Java Runtime Environment, including the JVM
JDK         - Java Development Kid, including JRE

Dalvik     - Google's free Java VM w/ runtime environment consisting out of
                  Apache's Classpath and Google's additional classes.
OpenJDK - Oracle's GPLv2 based source code of JVM, JRE and development kit.

Java is a Trademark of Oracle Inc.

'Java Tech' - Any technology based on Java, including JRE, Dalvik, etc.


[0]    The Free Software Definition

[3] Oracle's Licensing and Patent documents


Minor issue: 'Java Namespace':

In case [1.1]'s implicit patent grant cannot be supported (see below),

[2.1] mentions that all claims need to be met to have the Java Language patent grant,
  (iii) do not add any additional packages, classes, or interfaces
        to the java.* or javax.* packages or their subpackages;

If a vendor likes to include some extension under e.g.,
in their release of a JRE, she would cause a violation of (iii).

Such extension is not required to be included with the JRE packaging or
installed filesystem itself, i.e. it can be deployed as an independent 3rd party package
or it can be installed within it's own filesystem location independent to the JRE.

Hence (iii) is a no too serious issue, but still renders 'Java Tech' not free
since it violates the 4 freedoms of software[0].


Big issue: Patents and License of 'Java Technology'

[1.1] claims an implicit patent licence, and hence using OpenJDK and even heavily
          modified OpenJDK to be 'safe'.
          Obeying [1.1] would render usage of 'Java Tech' free[0].

However, Oracle, owner of 'Java Tech' related patents, licenses and copyright claims otherwise
and hence does not support the implicit patent grant of [1.1].

[2.1] mentions that all claims need to be met to have the Java Language patent grant,
  (iv) pass all test suites (TCK) relating to the most recent published version of the specification
        of the Java 2 Platform, Standard Edition, that are available from SUN six (6) months prior
        to any beta release of the clean room implementation or upgrade thereto;

[3.1] the TCK license is not freely available, hence no person is able to deploy their free JRE/JDK,
         if obeying (iv).

[3.2] Oracle's binary JDK license excludes the use of it's binaries on
         non general purpose machines, i.e. 'embedded systems'.
         The list for the latter is quite explicit and long.
         This document is listed on the OpenJDK FAQ [3.4]

[3.3] Oracle's jdk-6u22 license doc mentions a 'patent grant' the 1st time.
         It is given for machines and devices of their choice, read: As licensed in [3.2].

[3.2] and [3.3] demonstrates Oracle restricted use of their deployed JRE/JDK
including their restricted patent grant.

Note that a patent grant always is related to 'using technology' and not source code.
The latter is covered by copyright or even copyleft like the GPLv2.
However, using technology is covered by an EULA and patents,
hence it is mentioned in Oracle's binary releases[3.3] and not within it's OpenJDK source release.

[2.1] and (iv) requires parties to conform to Oracle's rules to legally use the 'Java Tech',
this alone violates the 4 freedoms of software[0].

(iv) and [3.1] allows Oracle to control deployment of JRE/JDK.
The TCK is not freely available and would need to ask a person to allowed to
use it for certification and hence deployment.
Refusal of the TCK license has been documented with the Apache Harmony project.

Obeying this claim renders the OpenJDK source code unusable
due to the lack of the capability of deploying results on machines a user desires.
Hence OpenJDK violates the three freedoms of software[0].



It is more than desired to have a legal and easy to read statement from Oracle
that they will grant everybody sufficient rights to make their 'Java Tech'
comply with the 4 freedoms of software[0].

This would require them to make a general patent grant on 'Java Tech'
for at least any somewhat OpenJDK derived product without restrictions.

Of course, such action would render them 'out of control' of deploying 'Java Tech'.
Neither Red Hat, nor Canonical would be required to act as a middlemen
for GNU/Linux 'Java Tech' deployment .
It seems that this is not what Oracle desires, hence
  - No clear statements given.
  - No 'emancipated' 'Java Tech' available to be freely used
  - No free 'Java Tech' development possible w/o obeying Oracle's ruling

.. given that you are not a big company like Google :)

It would be great if this could be settled in a lawsuit w/o a settlement,
but a clear decision that 'Java Tech' is free including:
  - API
  - JVM technology (HotSpot and DalvikVM)
  - Impl. of runtime classes

You may vote here :)"

Quoted from: - JogAmp Bug 698 - Call for Compliance of Java Technology with the 4 Freedoms of Software

Cheers, on behalf of the JogAmp community.

More information about the distro-pkg-dev mailing list