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.
|