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
Methods, Interfaces & Fields? | 162 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
This is not the corrections thread... but... "casual" --> "causal". [n/t]
Authored by: Anonymous on Thursday, May 10 2012 @ 11:43 PM EDT
.

[ Reply to This | # ]

What?!
Authored by: Anonymous on Thursday, May 10 2012 @ 11:55 PM EDT
How is rangeCheck not de minimis? That's completely absurd. Its 9 lines
out of millions, its functional with virtually no creative aspect at all.

Sometimes I think the legal system makes no sense at all.

[ Reply to This | # ]

SSO Code examples
Authored by: dio gratia on Thursday, May 10 2012 @ 11:56 PM EDT
Those SSO code samples don't happen to be from a third party or follow an
external standard, do they?

You could note there is for instance a gcc implementation of java that has a
X509TrustManager.java that's copyright the Free Software Foundation. (e. g.
https://svn.physiomeproject.org/svn/opencmissextras/gfortran/trunk/packages/gcc/
gcc-4.6.1/libjava/classpath/javax/net/ssl/X509TrustManager.java).

There's also a FSF owned and authored version of CipherInputStream.java. (
http://opensource.apple.com/source/gcc/gcc-5493/libjava/javax/crypto/CipherInput
Stream.java)

And CodingErrorAction.java owned by FSF from 2002.
(http://opensource.apple.com/source/gcc/gcc-1640/libjava/java/nio/charset/Coding
ErrorAction.java)

Those SSO's wouldn't happen to enclose all possible expressions, now would
they?

[ Reply to This | # ]

Corrections Here
Authored by: feldegast on Friday, May 11 2012 @ 12:11 AM EDT
So they can be fixed

---
IANAL
My posts are ©2004-2012 and released under the Creative Commons License
Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

News picks
Authored by: feldegast on Friday, May 11 2012 @ 12:12 AM EDT
Please make links clickable

---
IANAL
My posts are ©2004-2012 and released under the Creative Commons License
Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

Tweets from the courtroom
Authored by: feldegast on Friday, May 11 2012 @ 12:14 AM EDT
Main feed
https://twitter.com/#!/Feldegast

Raw tweet feed
https://twitter. com/#!/Feldegast/oracal-vs-google- trial

---
IANAL
My posts are ©2004-2012 and released under the Creative Commons License Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

the purpose of rangeCheck
Authored by: Anonymous on Friday, May 11 2012 @ 12:14 AM EDT
rangeCheck is primarily a way of catching errors. Instead of the system failing
at some random later time or in a random way, it tells the user exactly where in
the code a mistake occurred.

That's important, it means almost all or actually all of those 2600 calls to
rangeCheck during Android start up can be assumed to be redundant, any errors
they ever caught having been corrected before Android shipped on any device.
Those calls don't add value, they actually slow down Android while serving no
useful purpose at all.

Maybe Oracle should collect negative damages on rangeCheck, paying Google a tiny
amount?

[ Reply to This | # ]

Off topic
Authored by: feldegast on Friday, May 11 2012 @ 12:15 AM EDT
Please make links clickable

---
IANAL
My posts are ©2004-2012 and released under the Creative Commons License
Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

Comes transcribing
Authored by: feldegast on Friday, May 11 2012 @ 12:16 AM EDT
Thank you for your support

---
IANAL
My posts are ©2004-2012 and released under the Creative Commons License
Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

Spring is in the air!
Authored by: jbb on Friday, May 11 2012 @ 12:41 AM EDT
Oracle's copyright brief says:
The Court is correct that this is what SpringSource did:
There’s a company in the UK that built its own Java environment. And they used the Java programming language, but they created their own set of APIs, prewritten programs. And that other environment is called Spring. So Spring uses the Java programming language, but it doesn’t use the Sun-created APIs. They have their own set of APIs and their own set of prewritten programs.
(RT 290:25-291:6 (Ellison).) Of course, creating new APIs was much more time consuming and expensive than what Google did here in its rush to bring Android to market:
Q. Does it take a period of time and expense and resources if you’re going to go that route?

A. Yeah. Spring had to design their own APIs, and then they had to teach the developer community about these new APIs. And they had to persuade them that their collection of APIs, their library of programs, was in some ways better than the library of programs that Oracle and Sun had produced.

I don't think the part I highlighted is true. I believe SpringSource (like almost everyone else in the world who makes Java APIs) used the existing Sun APIs and created new APIs on top of them. They did not re-implement the functionality of the Sun APIs with an incompatible interface which is what Oracle is saying Google should have done.

---
Our job is to remind ourselves that there are more contexts
than the one we’re in now — the one that we think is reality.
-- Alan Kay

[ Reply to This | # ]

Look over there!
Authored by: Anonymous on Friday, May 11 2012 @ 12:42 AM EDT
The source code example filing is hilarious. "Oh, you want an example of
SSO? Well, take a look at these files... or maybe these ones."

No explanation of just what exactly the court is meant to be looking for, heaven
forbid that they actually specify just what the SSO is or explain it with an
example.

[ Reply to This | # ]

CodingErrorAction
Authored by: Anonymous on Friday, May 11 2012 @ 12:42 AM EDT

You have got to be kidding. CodingErrorAction is so trivial that it shouldn't even be allowed to be copyrighted.

[ Reply to This | # ]

CipherInputStream
Authored by: Anonymous on Friday, May 11 2012 @ 12:56 AM EDT

I seem to recall that CipherInputStream came from bouncycastle. However, CipherInputStream shows this class as of Java 6. Again, this class is so trivial that a copyright should n't be valid

[ Reply to This | # ]

X509TrustManager
Authored by: Anonymous on Friday, May 11 2012 @ 01:01 AM EDT

I am so glad Oracle directed the court to look at this class. X50 9Trus tManager is the complete source for this interface and illustrates why a copyright on this is just nuts.

[ Reply to This | # ]

Methods, Interfaces & Fields?
Authored by: Anonymous on Friday, May 11 2012 @ 01:19 AM EDT
So... the only SSO they've identified--methods, interfaces & fields--is
absolutely, completely functional in nature? They couldn't find anything
copied, in all of Java, that didn't absolutely need to be copied for
compatibility?

This judge is too smart for that kind of crap. This is pathetic and Oracle
deserves to be laughed out of court.

[ Reply to This | # ]

Obligatory scraps for Oracle?
Authored by: Anonymous on Friday, May 11 2012 @ 02:45 AM EDT
I'm afraid judges feel compelled, as a vacuous demonstration of impartiality, to
dole out meritless scraps to one side or the other, to avoid being reversed on
appeal, e.g., the nine lines. Or worse, being saddled with the retrial. Would
like to think that won't happen here.

[ Reply to This | # ]

De Minimis Copying of Math...
Authored by: sproggit on Friday, May 11 2012 @ 03:00 AM EDT
Many people writing articles or comments here at Groklaw have argued repeatedly
that "software is math" and that because mathematics can't be
patented, then neither should software.

Anyone who understands the binary operations that take place within every modern
processor will understand this view, but it did remind me of an important point
with respect to the instant case.

OracleUSA have charged Google with literal or near-literal copyright
infringement of code originally owned by Sun. But when we think about the actual
code itself, we may see that there will be certain functional components that
are simple to implement in any C-like language:

We've contemplated math operations such as the square root function [ sqrt() ]
here before... But what about string manipulations? How about
left($inputString,%trimLength), right($inputstring,%trimLength),
mid($inputString,%offSet,%trimLength) and so on?

What about the annoying little bell tone, beep()?

If we were to pick one of these functional primitives and then go to a series of
programming languages and pull the source code for the function, exactly how
diverse would we expect them to be? There are literally thousands of programming
and scripting languages in use in the world today, ranging [forgive the pun]
from the well known and popular (COBOL,FORTRAN,C,JAVA,PERL,PHP,etc) through to
esoteric scripting languages that may exist only within a given application. The
point being that most if not all computer languages written today have common
underpinnings, and math functions are common to many computer languages, because
many have to handle mathematical processing.

These logical primitives are like the nucleotides in DNA. Whilst every living
creature on the earth has a unique DNA pattern, every unique DNA fingerprint is
made up of the same building blocks, called nucleotides.

In essence, Oracle are trying to copyright the nucleotides of software, arguing
that they are in fact trying only to copyright their unique DNA. They are
incorrect, and they know it.

[ Reply to This | # ]

copying of API documentation (the specifications), and comment-copied files?
Authored by: Anonymous on Friday, May 11 2012 @ 05:22 AM EDT
Ok im confused with this - didnt the jury say that google didnt infringe on
these?

[ Reply to This | # ]

'a case Oracle discusses (and misapprehends) at some length'
Authored by: Ian Al on Friday, May 11 2012 @ 06:51 AM EDT
Oh... that is from the BS&F tome, 'Law 101', that we first saw in SCO v.
Novell.

It's so warming to see that, again. It's almost homely.


See? I can be almost as scornful as M & F on an off day!

Oh, almost forgot.

/scorn

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | # ]

Oracle v. Google - Day 14 Filings - JMOL's Denied In Part
Authored by: Anonymous on Friday, May 11 2012 @ 06:53 AM EDT
From Document1116 Page23/25:
[...]In addition to those items, the
SSO of the Android APIs for the 37 packages at issue adopts
substantially the same “exceptions”
for methods (i.e., the methods “throw” or generate the same
error messages),[...]

I am surprised that Google used the word "messages" for
exceptions. This gives the impression that those messages
could be copyrighted. Exception however don't have any
text-message.

IMO it would have been better to write: [...] or generate
the same error objects/classes.

[ Reply to This | # ]

Dkt 1116 Vs Dkt 1118
Authored by: Anonymous on Friday, May 11 2012 @ 07:10 AM EDT
Answers 16 questions about Java

From Google

A statement of facts, with support.

From Oracle

A woolly statement of wishful thinking, with indirect support

Here's hoping the Judge does not decide he needs to 'compromise' between these
two views.

[ Reply to This | # ]

Oracle v. Google - Day 14 Filings - JMOL's Denied In Part
Authored by: Anonymous on Friday, May 11 2012 @ 07:13 AM EDT
From Document1118:

[...]For example, the methods have parameters. Sometimes the
parameter names are different. Surprisingly, they’re the
same in probably two-thirds of the cases, even though that’s
not necessary for the library to be used in the same way by
programmers.[...]

Surprisingly?

LOL

[ Reply to This | # ]

Oracle v. Google - Day 14 Filings - JMOL's Denied In Part
Authored by: Anonymous on Friday, May 11 2012 @ 07:33 AM EDT
From 1118 page7:

[...]Examining the code alone, the method header seems straightforward enough, taking two parameters and returning a value:
public Matcher appendReplacement(StringBuffer sb, String replacement)
Id. But this seemingly simple header is followed by several paragraphs of specification text to explain how to use it and how it works with other methods in the Matcher class, with the Pattern class elsewhere in the java.util.regex package, and with the StringBuffer class in the java.lang package. [...]

Isn't this destroying their case? I.e. saying that they want to copyright the idea itself?

[ Reply to This | # ]

Oracle v. Google - Day 14 Filings - JMOL's Denied In Part
Authored by: Anonymous on Friday, May 11 2012 @ 07:42 AM EDT
1118 page13

It would be wrong to say that a class or method is somehow “core” to the language simply because another class refers to it.

WHAT????

[ Reply to This | # ]

Oracle v. Google - Day 14 Filings - JMOL's Denied In Part
Authored by: Anonymous on Friday, May 11 2012 @ 07:49 AM EDT
Would be interesting to know what a java language designer
says about the APIs.

I would suppose that they thought that referencing anything
inside java.lang, java.util... would be without any
consequences as those packages were already part of the
language.

Would they treat (would have treated) proposals differently
based on which packages were referenced.

[ Reply to This | # ]

Oracle v. Google - Day 14 Filings - JMOL's Denied In Part
Authored by: Anonymous on Friday, May 11 2012 @ 08:08 AM EDT
In Question 13 oracle says that Google only copied some APIs
but for instance did not copy java.awt.* or javax.swing.*.

A casual Java programmer wouldn't even consider using a
different class for the APIs Google copied. (Or at least
would assume that they existed).

Interestingly OTOH java.awt.* AND javax.swing are already
competing packages. You usually never use them at the same
time.

In addition there are multiple other GUI packages
(org.eclipse.swt or com.trolltech.qt.gui or ...).

When creating a GUI you usually make a decision, which of
those packages you want to use. (And it usually isn't
java.awt.)

The same argument holds for the other packages Google chose
to not include in Android. They are packages a typical
Android java program would either not need (javax.print.*)
or where it is common to use a different package.

[ Reply to This | # ]

rangeCheck - are they serious!
Authored by: TiddlyPom on Friday, May 11 2012 @ 09:43 AM EDT
I'm not sure whether I have got the right bit of code but are they talking about this bit of code (which I won't copy here ;) )?

Similar code is as follows:
private static void checkBounds(int lenItem, int startPos, int endPos)
{
   if (startPos > endPos)
    throw new MyOwnException("startPos(" + startPos + ") > endPos(" + endPos +")");

   if (startPos < 0)
    throw new Different1Exception(startPos);

  if (endPos > lenItem)
    throw new Different2Exception(endPos);
}
I had code of this exact pattern in the earliest BASIC programs I wrote (in the early 1980's) and Pascal + Ada (in University) + probably every other piece of code I wrote since - especially C# or Java code templates.

How can they possibly get away with this ridiculous claim!

Let's do this in Ada 95 as well for a laugh (forgive me if I get the syntax wrong - it's been a while)
procedure checkBounds(lenItem : in integer, startPos : in integer, endPos : in integer) is
   MyException : exception;
begin
   if startPos > endPos then
      raise MyException with "Invalid startPos(" & integer'image(startpos) & ")" > endPos(" & integer'image(endPos) & ")";
   end if;

   if startPos < 0 then
      raise MyException with "startPos(" & integer'image(startpos) & ") < 0";
   end if;

   if startPos > lenItem then
      raise MyException with "startPos(" & integer'image(startpos) & ")" > lenItem(" & integer'image(lenItem) & ")";
   end if;
end checkBounds;
This is utterly ridiculous and Oracle know it.

---
Support Software Freedom - use GPL licenced software like Linux and LibreOffice instead of proprietary software like Microsoft Windows/Office or Apple OS/X

[ Reply to This | # ]

Who owns rangecheck and timsort?
Authored by: Anonymous on Friday, May 11 2012 @ 09:53 AM EDT
He finished TimSort at some point in early 2009, at which point he contributed that file both to Sun’s OpenJDK project and to Android. RT 822:4-9 (Bloch).
I have not seen any documentation of copyright ownership except that saying it was donated. So how did this get into OpenJDK if he was employed by Google at the time?
If he signed the required Oracle Contributor Agreement (OCA), then the OpenJDK contribution page says (emphasis added):
The OCA gives Oracle and the Contributor joint copyright interests in the code. The Contributor retains copyrights while also granting those rights to Oracle as the Community's sponsor.
Alternative if he signed the older Sun Contributor Agreement (emphasis added):
You hereby assign to Sun joint ownership in all worldwide common law and statutory rights associated with the copyrights, copyright applications and copyright registrations in Your Contribution.
Alluding to what others have commented before, under either of these agreements Block (Google?) still owns the code so the only way Oracle can have exclusive rights is that the copyrights were officially transferred to Oracle.

But if he signed neither then what???

[ Reply to This | # ]

Copyright conflict?
Authored by: Anonymous on Friday, May 11 2012 @ 10:10 AM EDT

Has Oracle established that it has exclusive copyright over that rangeCheck method? Some quick Googling finds that exact method in two different open source packages built circa 1999:

CERN Colt Project - http://ac s.lbl.gov/software/ colt/index.html in file Sorting.java (http://www.do cjar.com/html/api/cern/colt/Sorting.java. html) Copyright CERN

JORAM JMS Messaging Project - http://joram.ow2.org/ in file Arrays.java (ht tp://joram.ow2.org/current/joramdox/html/_arr ays_8java- source.html) Copyri ght BULL/INRIA

[ Reply to This | # ]

  • Nice find! - Authored by: Anonymous on Friday, May 11 2012 @ 04:22 PM EDT
Caution regarding BoiesAnnoyanceSyndrome startegy
Authored by: mirrorslap on Friday, May 11 2012 @ 10:52 AM EDT
Now that Oracle has lost their beeelions of imaginary dollars, the strategy
that I suspect Mr. Boies is using is this: throw as many ridiculous
arguments before the judge to try to bring exasperation to the surface, and
then twist said vexation into a judicial bias appeal.

[ Reply to This | # ]

Re. Ora-Google-1114.pdf
Authored by: BJ on Friday, May 11 2012 @ 12:09 PM EDT
"just because a software function is called frequently does not mean it is
important; it would stand to reason that a trivial nine-line piece of code that
accomplishes a Programming 101 parameter test, like rangeCheck does,
might be invoked fairly frequently."

It is testimony to Van Nest's (et al.) wit and professionalism that they aren't
using the phrase "does not mean it is important from an
inventiveness-point-of-view"...

Because there IS (even Van Nest would admit, presume I) some relation
between 'important' and 'frequency'.

bjd


[ Reply to This | # ]

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 )