decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.


To read comments to this article, go here
Oracle v. Google - What's the Deal With the Java Specification License?
Wednesday, April 18 2012 @ 01:45 PM EDT

The opening statements having been made, and it is worth a look at some of the slides presented by each of the parties regarding the use of the Java API specification (i.e., the narrative telling you what needs to be in an API implementation) and the claims of each party. There is a clear disconnect between what Oracle claims and the practices that Sun and now Oracle follow when it comes to the Java API specifications, and it shows up graphically when one looks at the following slides and then looks at the actual Java API specification license. Let's start by looking at the Oracle slides.

On Oracle slide 33 Oracle asserts that one must have a license to "provide class libraries based on Java API designs." Of course, this is already a bit ambiguous because they don't say what kind of license you actually need, just that you need to have some form of license. You will also note that they love to now use the term "designs" instead of "specifications." That clearly is intended to boost their asserting that there is creative expression protected by copyright in those specifications.

Then Oracle makes the bold statement that "Google took Java API designs." Not that Google obtained a license to the Java API specifications that permitted Google to make an independent implementation of those specifications. Took. Stole.

Next Oracle asserts that "Google copied from Apache Harmony knowing that it was not licensed." But look at the highlighted text on this slide. It doesn't talk about the specification license, it talks about Java SE TCK license. As we will learn, these are two very different licenses, and there is nothing in the Java API specification license that requires a party to enter a Java SE TCK license.

Just to further deceive the jury, Oracle then talks about its ownership of the copyright in Java 2 SE and display their copyright registration. Of course, that registration proves nothing about the copyright protection that may or may not exist with respect to Java 2 SE. Any copyright protection that may cover J2SE existed at the time it was written. Registration is only required in order to bring an action for infringement, and there is nothing in the act of registration that conveys copyright protection to that which cannot be protected by copyright.

Oracle persists in its assertions that Google COPIED from the API specifications (DESIGNS) in creating Google's independent implementation thereof. As we will see, this assertion is inconsistent with the Java API specification license.

Finally, Oracle implies that, by consulting (READING) the API specifications (Java docs) and creating an independent implementation, Google acted illegally.

In its opening Google states that it utilized portions of the open source Apache Harmony in building Android.

Google also points out that Apache Harmony, while not TCK compliant, could freely ship, a point that Sun conceded.

Finally, Google emphasizes that an API specification is not the same as the source code that actually implements that specification.

So which of these two versions of the facts is the more correct? Well, to understand that you need to understand that there are two licenses from Sun/Oracle involved. One license pertains to the API specifications, and, as noted here, Oracle asserts that "Any use or implementation of this Specification is subject to this License agreement." The specification license is found here.

The first thing to note about the specification license is that it says nothing about trade secrets or confidentiality. In other words, Oracle does not claim that the specifications are protected as trade secrets, only under copyright (and possibly patents). That is material because one's right to restrict another's use of material protected by trade secret are far broader than the rights to restrict under copyright. Here are the operative sections of the specification license:

1. _License for Evaluation Purposes_. Sun hereby grants you a fully-paid, non-exclusive, non-transferable, worldwide, limited license (without the right to sublicense), under Sun's applicable intellectual property rights to view, download, use and reproduce the Specification only for the purpose of internal evaluation. This includes (i) developing applications intended to run on an implementation of the Specification, provided that such applications do not themselves implement any portion(s) of the Specification, and (ii) discussing the Specification with any third party; and (iii) excerpting brief portions of the Specification in oral or written communications which discuss the Specification provided that such excerpts do not in the aggregate constitute a significant portion of the Specification.

2. _License for the Distribution of Compliant Implementations_. Sun also grants you a perpetual, non-exclusive, non-transferable, worldwide, fully paid-up, royalty free, limited license (without the right to sublicense) under any applicable copyrights or, subject to the provisions of subsection 4 below, patent rights it may have covering the Specification to create and/or distribute an Independent Implementation of the Specification that: (a) fully implements the Specification including all its required interfaces and functionality; (b) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (c) passes the Technology Compatibility Kit (including satisfying the requirements of the applicable TCK Users Guide) for such Specification ("Compliant Implementation"). In addition, the foregoing license is expressly conditioned on your not acting outside its scope. No license is granted hereunder for any other purpose (including, for example, modifying the Specification, other than to the extent of your fair use rights, or distributing the Specification to third parties). Also, no right, title, or interest in or to any trademarks, service marks, or trade names of Sun or Sun's licensors is granted hereunder. Java, and Java-related logos, marks and names are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

3. _Pass-through Conditions_. You need not include limitations (a)-(c) from the previous paragraph or any other particular "pass through" requirements in any license You grant concerning the use of your Independent Implementation or products derived from it. However, except with respect to Independent Implementations (and products derived from them) that satisfy limitations (a)-(c) from the previous paragraph, You may neither: (a) grant or otherwise pass through to your licensees any licenses under Sun's applicable intellectual property rights; nor (b) authorize your licensees to make any claims concerning their implementation's compliance with the Specification in question.

4. _Reciprocity Concerning Patent Licenses_.

a. With respect to any patent claims covered by the license granted under subparagraph 2 above that would be infringed by all technically feasible implementations of the Specification, such license is conditioned upon your offering on fair, reasonable and non-discriminatory terms, to any party seeking it from You, a perpetual, non-exclusive, non-transferable, worldwide license under Your patent rights which are or would be infringed by all technically feasible implementations of the Specification to develop, distribute and use a Compliant Implementation.

b With respect to any patent claims owned by Sun and covered by the license granted under subparagraph 2, whether or not their infringement can be avoided in a technically feasible manner when implementing the Specification, such license shall terminate with respect to such claims if You initiate a claim against Sun that it has, in the course of performing its responsibilities as the Specification Lead, induced any other entity to infringe Your patent rights.

c Also with respect to any patent claims owned by Sun and covered by the license granted under subparagraph 2 above, where the infringement of such claims can be avoided in a technically feasible manner when implementing the Specification such license, with respect to such claims, shall terminate if You initiate a claim against Sun that its making, having made, using, offering to sell, selling or importing a Compliant Implementation infringes Your patent rights.

5. _Definitions_. For the purposes of this Agreement: "Independent Implementation" shall mean an implementation of the Specification that neither derives from any of Sun's source code or binary code materials nor, except with an appropriate and separate license from Sun, includes any of Sun's source code or binary code materials; "Licensor Name Space" shall mean the public class or interface declarations whose names begin with "java", "javax", "com.sun" or their equivalents in any subsequent naming convention adopted by Sun through the Java Community Process, or any recognized successors or replacements thereof; and "Technology Compatibility Kit" or "TCK" shall mean the test suite and accompanying TCK User's Guide provided by Sun which corresponds to the Specification and that was available either (i) from Sun's 120 days before the first release of Your Independent Implementation that allows its use for commercial purposes, or (ii) more recently than 120 days from such release but against which You elect to test Your implementation of the Specification.
First, let's focus on paragraph 1. Paragraph 1 purports to grant the rights to "view, download, use and reproduce the Specification only for the purpose of internal evaluation." Okay, which of these "rights" are rights reserved to a copyright holder (we are going to ignore any Oracle patent claims for now because they are largely irrelevant). Copyright reserves to the holder the right to exclude others from "copying, modifying (making derivative works), and distributing." (While there are some other rights, they do not particularly pertain to software or written documents such as a specification, e.g., you are unlikely to "publicly perform" a specification.) Whoa, wait a second. While downloading is arguably copying or distribution and reproducing is copying, where are the exclusive rights under copyright to exclude others from viewing or using? They don't exist! So Oracle is claiming to grant rights you already have!

In a similar manner, paragraph 2 of the license purports to grant the right to make an implementation from the specification. This is where Sun/Oracle are unhinged from reality. I don't need their permission to make such an implementation! That's like saying I need the permission of a HOW-TO author when I read his book and learn how to make a repair to the plumbing in my house. I have taken and used the IDEA expressed in the authors work, not the EXPRESSION itself. Also, note that the license in paragraph 2 is "under any applicable copyrights or, subject to the provisions of subsection 4 below, patent rights it may have covering the Specification." [emphasis added] Okay, so if I don't need Oracle's copyright, if any, in the specification to make an independent implementation and none of Oracle's patents pertain to such an independent implementation, then this section is entirely irrelevant.

Oracle goes on, in paragraph 2, to say that your right to create and distribute an independent implementation is subject to meeting the requirements that it:

a) fully implements the Specification including all its required interfaces and functionality; (b) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (c) passes the Technology Compatibility Kit (including satisfying the requirements of the applicable TCK Users Guide) for such Specification ("Compliant Implementation").
Again, this does not say that I can't create an independent implementation that doesn't do these things, only that I am not covered by the purported Oracle copyright and patent license grants if I don't do them. This interpretation is further buttressed by the following language in paragraph 3:

... except with respect to Independent Implementations (and products derived from them) that satisfy limitations (a)-(c) from the previous paragraph, You may neither: (a) grant or otherwise pass through to your licensees any licenses under Sun's applicable intellectual property rights; nor (b) authorize your licensees to make any claims concerning their implementation's compliance with the Specification in question.
It doesn't say I need this license grant to make an independent implementation, only that without this license grant I can't pass along any rights I may have received from Oracle.

The license defines an independent implementation as:

... an implementation of the Specification that neither derives from any of Sun's source code or binary code materials nor, except with an appropriate and separate license from Sun, includes any of Sun's source code or binary code materials.
It would seem pretty clear from that definition that Google made an independent implementation.

So where does this whole thing about the field-of-use restrictions (that prevent an independent implementation from being used on mobile devices) come into play. Why, it's in that separate TCK license referred to in Oracle's third slide above. But notice that in that slide Oracle maintains that "[t]hese restrictions prevent Apache Harmony from implementing Java SE." They do no such thing! Apache never signed the TCK license. That didn't prevent Apache from creating and distributing Harmony; it only meant that they couldn't call it Java or imply that it was Java-compliant, a point which Sun admitted (see Jonathan Schwartz's comment in the second Google slide).

Many of Oracle's claims and presentation in this case will be based on misdirection and creating a false understanding of Oracle's rights and Oracle's right to restrict the activities of others. The Oracle position is in direct conflict with the previous statements and actions of Sun upon which Google relied. If Google can keep the jury straight on these points, Oracle will be shown to have significantly overreached in bringing the copyright claims in this suit.


  View Printable Version


Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )