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

Gear

Groklaw Gear

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


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
The dependency graph will be a tough one for Oracle | 104 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
The dependency graph may help Oracle
Authored by: Anonymous on Saturday, April 21 2012 @ 11:33 AM EDT

If any of the 37 depend on any of the classes not provided by Android in the same way that java.lang depends on the 37, then Oracle can use that to say that if Google could do without the ones it did not copy, it could do without the 37 too.

Note that java.lang is not one of the 37.

Thus there is a stratification of the Java stuff, which seems legally important (if APIs could be copyrighted):

  1. The Java language described by the Java Language Specification (not claimed by Oracle).
  2. java.lang and its sub-packages such as java.lang.string (not claimed by Oracle).
  3. The 37 APIs designed by Sun and implemented in Android (very much in suit).
  4. Java API's needed by Suns implementations of java.lang or the 37 but not included in Android (Android's implementation presumably uses something else for those needs) (This is the category introduced by the judge).
  5. Java API's not needed by java.lang nor the 37, and not implemented by Google (Oracle obviously cannot object that Google copied those, but it can object that Google fragmented Java by not copying them).

[ Reply to This | Parent | # ]

Unfortunately ...
Authored by: Anonymous on Saturday, April 21 2012 @ 12:51 PM EDT
Well, it may not make *sense* to say you have a right to copy X even though
actually copying X requires Y, which you have no right to ... but courts make
irrational and insane rulings like that all the time.

Look at the DMCA on technical protection measures. You may have a right to copy
portions of a DRM protected video, say for criticism, but still not have the
right to extract it from the DRM. It's one of the great things about the DMCA
that companies love ... it allows them to circumvent fair use.

The court's don't care a whit about logic or rationality. They only care about
who bribes them the most.

[ Reply to This | Parent | # ]

I've been tempted to try this
Authored by: Anonymous on Saturday, April 21 2012 @ 12:56 PM EDT
write a 'null' java program


class nullclass {
public static void main(String[] in) {};
}

This is the minimum program, it will compile, run, do nothing, and exit

This means that a minimum "empty" Java program needs..
java.lang.Object
java.lang.String
java.util.Array

All (user-defined) classes implicitly extend Object
(Specifically, if you do not extend a Class, Java will add 'extends Object', if
you do extend another class, you can work your way up the Class Heirarchy, till
you get to one that does, everything has Object at the root)
[] is implicitly a java.lang.Array

Work out from there, everything they refer to is implicitly Java Language, and
see how far you get crossing off bits of the 37 APIs as you go.

java.lang.Object.getClass() returns an object of the type java.lang.Class, so
java.lang.Class is implicitly required for the Java Language.

java.lang.String.length(), returns an int.

J2SE 5.0 (in contention) autoboxes primitive datatypes

http://docs.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html

So Integer is required for the lanague

If you don't have .length(), then it is not a java.lang.String, so you must have
it.

java.lang.String throws a NullPointerException, there's another one, also means
you have to have Throwable, there's another one, and so forth......



I don't have the time.

[ Reply to This | Parent | # ]

The dependency graph will be a tough one for Oracle
Authored by: Anonymous on Sunday, April 22 2012 @ 01:03 PM EDT
That's precisely the barrel, Google has Oracle strapped to.
As seen in the Lexmark vs Static Control Components Appeals
Court decision:
https://w2.eff.org/legal/cases/Lexmark_v_Static_Control/2004
1026_Ruling.pdf

Even if Oracle can establish that these API's pass the
lowest threshold of Copyrightability, what you're saying is
that because the of this intertwining, these API's are
essential in a developer's use of the Java Programming
Language to write programs. Therefore in this court case
there were no alternative ways to write these the
Copyrightable program with it's API's to enable them to work
within the Lexmark hardware. Therefore there is no
infringement even of Lexmark's Copyrighted works.

If the Copyrighted program itself is deemed that it's
essential without any alternative ways to write it, then
even the API's with their intertwining aspects should be
deemed non-infringing even if Oracle can somehow establish
these 37 API's are Copyrightable! ....(the linked Decision
PDF on this is well written and explains how this
Intertwining Argument could play out in Judge Alsop's Court!

[ Reply to This | Parent | # ]

ISTM the question is updside down
Authored by: Anonymous on Sunday, April 22 2012 @ 02:02 PM EDT
"the Court wishes to know whether the implementation of the 37 API packages
inherit, call upon, invoke, or incorporate any method, field, or class outside
the 37."

I can't comment on the limits of "work" or the case cited, but I would
have thought, the question should be more like

given the 12 classes asserted as essential by <Oracles witness> which of
the 37 APIs packages and classes are essential for those 12 classes to be
complete as a result of inheritance, invocation, incorporation etc

[ Reply to This | Parent | # ]

Object and the *able classes spell Oracle doom.
Authored by: BitOBear on Sunday, April 22 2012 @ 07:26 PM EDT
All classes in java "incorporate" the "Object" class
explicitly or implicitly as required by the Language.

So there is no such thing as an API for Java that doesn't incorporate java.lang
at least implicitly.

Uses of members like clone would make that use and incorporation explicit. So to
would any use of any "serializable" "runable" or
"throwable" classes or any classes derived there-from.

Any member function that throws any exception is dependent on throwable.

Between the *able classes, and Object there is no such thing as an
"independent" class in java or any API thereof.

[ Reply to This | Parent | # ]

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 )