ESP Wiki is looking for moderators and active contributors!

Difference between revisions of "Java and patents"

(Open Invention Network: explain what different parts do)
(Open Invention Network: Explain what is covered)
Line 18: Line 18:
 
* Eclipse Compiler for Java (ejc - transforms java source files to java byte code - can be used by gcj in newer versions)
 
* Eclipse Compiler for Java (ejc - transforms java source files to java byte code - can be used by gcj in newer versions)
 
* GCC (gcj can transform java source files to java byte code and either source or bytecode to native code directly)
 
* GCC (gcj can transform java source files to java byte code and either source or bytecode to native code directly)
** The GCC source package they link to includes GCJ, but the description they give is ''The GNU cc and gcc C compilers.''  Does the description restrict the coverage to exclude GCJ, or is the description just a non-exhaustive summary?
+
** The GCC source package they link to includes GCJ, but the description they give is ''The GNU cc and gcc C compilers.''  Does the description restrict the coverage to exclude GCJ, or is the description just a non-exhaustive summary? It is just a non-exhausitve summary, it is the actual source that is covered. See the definition "Linux Environment Component" - shall mean any of the software packages whose released source code shall be identified on the OIN website, or a Predecessor Release or Successor Release of any of such packages, including bug fixes and error corrections thereto.
  
 
==The Java Language Specification grant==
 
==The Java Language Specification grant==

Revision as of 05:52, 18 August 2010

Patent risk questions have arisen around Java programming language in the wake of Oracle's 2010 lawsuit against Google.

The situation is a little complicated, but there are pieces of good news.

OpenJDK: the GPLv2 Java from Oracle

OpenJDK is has been distributed by Oracle under GPLv2. GPLv2 includes two implicit patent licences, so users of OpenJDK should be safe, and modified versions of OpenJDK should also be safe (even if they're heavily modified).

The protections in the GPL are unconditional. The software doesn't have to comply with any specifications in order to benefit from these protections.

Open Invention Network

Oracle is a licensee of Open Invention Network (OIN). OIN gives protection to a list of free software programs which includes the following Java-related packages:[1]

  • libgcj (this includes both the core class libraries and the runtime for both running native and/or mixed interpreted byte code classes)
  • boehmgc (the garbage collector)
  • Eclipse Compiler for Java (ejc - transforms java source files to java byte code - can be used by gcj in newer versions)
  • GCC (gcj can transform java source files to java byte code and either source or bytecode to native code directly)
    • The GCC source package they link to includes GCJ, but the description they give is The GNU cc and gcc C compilers. Does the description restrict the coverage to exclude GCJ, or is the description just a non-exhaustive summary? It is just a non-exhausitve summary, it is the actual source that is covered. See the definition "Linux Environment Component" - shall mean any of the software packages whose released source code shall be identified on the OIN website, or a Predecessor Release or Successor Release of any of such packages, including bug fixes and error corrections thereto.

The Java Language Specification grant

This is a patent grant from Oracle, but only for implementations of Java that fully comply with the Java Language Specification. Supersets, subsets, and other modified versions don't qualify for this patent protection.

From the Java Language Specification:[2]

Sun Microsystems, Inc. (SUN) hereby grants to you a fully paid, nonexclusive, nontransferable, perpetual, worldwide limited license (without the right to sublicense) under SUN's intellectual property rights that are essential to practice this specification. This license allows and is limited to the creation and distribution of clean room implementations of this specification that:
(i) include a complete implementation of the current version of this specification without subsetting or supersetting;
(ii) implement all the interfaces and functionality of the required packages of the Java 2 Platform, Standard Edition, as defined by SUN, without subsetting or supersetting;
(iii) do not add any additional packages, classes, or interfaces to the java.* or javax.* packages or their subpackages;
(iv) pass all test suites 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;
(v) do not derive from SUN source code or binary materials; and
(vi) do not include any SUN source code or binary materials without an appropriate and separate license from SUN.

SCO's Java patent

SCO, during bankruptcy, put a Java patent (called "Perk-Up" in some documents) up for sale.[3] Groklaw reported in April 2010 that it was due to be sold to Allied Security Trust (AST) and that the bankruptcy courts had OK'd the proposed say.[4] Can you help? Did the sale go ahead?


AST usually buys patents, licenses them to their members, and then sells them on. If AST sells this patent on, there could be a risk for everyone that isn't a member of AST. However, this patent has never been a source of threats or even speculation.

Related pages on ESP Wiki

External links