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
They should use Object Pascal to demontarte this stuff | 238 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections here please
Authored by: jesse on Monday, April 23 2012 @ 05:51 PM EDT
Thank you.

[ Reply to This | # ]

News Pick discussions
Authored by: jesse on Monday, April 23 2012 @ 05:52 PM EDT
Thank you.

[ Reply to This | # ]

Off topic discussions
Authored by: jesse on Monday, April 23 2012 @ 05:53 PM EDT
Thank you.

[ Reply to This | # ]

COMES thread
Authored by: jesse on Monday, April 23 2012 @ 05:54 PM EDT
Thank you for the work.

[ Reply to This | # ]

Why not 42?
Authored by: Anonymous on Monday, April 23 2012 @ 05:56 PM EDT
I love this judge XD.

[ Reply to This | # ]

Legal relevance of destroying SW development
Authored by: SLi on Monday, April 23 2012 @ 06:18 PM EDT
I think today's news is provided in an explanation from Oracle to the judge, talking about a book about Gerald Ford. That's the problem in a nutshell. Oracle is talking about books and trying to apply copyright law to the law about books. But computer software isn't a book, a novel, or anything like it. You can restrict copying of a novel or a history without damaging the entire field of book writing. But if you restrict APIs, which are functional, you do destroy software development as we know it.

How much do the bad results that would come from a certain legal determination (here the copyrightability of APIs) actually affect the eventual outcome? I gather that they do, to some extent.

In a perfect world (or at least with perfect separation of powers), I guess the lawmakers would ponder the effects of the laws they write, and courts would apply them as written, leaving fixing them to lawmakers if the outcome is negative...

[ Reply to This | # ]

Google wanted to *avoid* Java fragmentation
Authored by: Anonymous on Monday, April 23 2012 @ 06:30 PM EDT

I thought this answer was quite interesting:

Google: When you were at Google, did you have conversations about making use of the javadocs?

Bob Lee: Yes, we definitely referred back to them to make sure we were maintaining interoperability.

It shows a clear mindset of wanting to avoid fragmenting the language.

This one is also interesting (emphasis mine):

Google: Would it have been possible to run Android against a TCK in 2006 / 2007?

Bob Lee: (confidently) No. I'm a prolific contributor. I worked to build stuff that could support it later.

[ Reply to This | # ]

The APIs are copyrightable, but not on their own, moving on...
Authored by: lwoggardner on Monday, April 23 2012 @ 06:47 PM EDT
Sounds like the judge is going to rule that the SSO of the API as contained in the source.
Judge: I will instruct the jury that the copyrights extend to the SSO. I see both sides arguments on this. If you win on fair use, then the judge doesn't have to decide those questions. The way it's going to be presented to the jury, is that the SSO *is* covered by copyright - not its own copyright, I'm not prepared to say to the jury that it's a standalone entity with its own copyright, but the copyright issued that applies to everything also applies to the SSO.

Presumably Google now moves on to fair use (and estoppel?)

I gather there is an argument about the amount of copying. If you take any source file and highlight the SSO of the API it will generally be only a small part in comparison to the comments and the implementing code. Is that relevant? Or can Oracle argue that the SSO of the API somehow carries more importance than code/comments?

Is compatibility a fair use defence?

[ Reply to This | # ]

programmer meaning of "contract"
Authored by: Anonymous on Monday, April 23 2012 @ 06:58 PM EDT
The word "contract" in relation to an API means, "the rules for using the API correctly". There can be two sides to the contract (the user of the API, and the provider of the API) and the contract spells out what both sides need to do.

But its not like a legal contract ("meeting of minds", etc).. its actually closer to a legal LICENSE! The "contract" of an API is unilaterally decided by the provider of the API, and it says "Here's what you need to do to use my API correctly. And if you do that, here's what you can expect to happen." So just like a free software license, it contains (1) some conditions you have to obey, and (2) some promises you can rely on, as long as you properly obey the conditions.

Typically it will contain rules about state(s) the program must be in before you can call an API method ("preconditions"). It will also typically express promises about what the called method will do to that state ("postconditions"), assuming that the caller successfully met the preconditions.

There might be rules like "if you call method A with a particular object as an argument, at some time later you must also call method B with the same object". Example: If you Open a file (and receive back a "handle"), at some time later you must Close that "handle".

There's a particular approach to building software, called Design by Contract, in which this process is very formalized. Most software is not written that way though. In most software, there are only informal "contracts", and they are only spelled out in comments for those APIs where the information of the contract is necessary to use them properly.

[ Reply to This | # ]

Legal opinions from engineers?
Authored by: cpeterson on Monday, April 23 2012 @ 07:01 PM EDT
Google: When someone contributes something to the JCP, can that person contribute to Java and also make it free for everything to use?

Bob Lee: Absolutely.

[Oracle objection. Sustained. He's not a lawyer.]

Nope, we won't have engineers making legal judgements.

Unless it's Tim Lindholm or Andy Rubin, and we can take their comments out of context.

So, Bob Lee, remember, it's this way:

Lawyer: Did you think you were acting in accordance with the law? Be aware that answering "no" will incriminate you; answering "yes" will be disallowed as a legal opinion; answering "I don't know" will be considered evasive.

Witness: ....

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj
Authored by: tknarr on Monday, April 23 2012 @ 07:09 PM EDT
I think today's news is provided in an explanation from Oracle to the judge, talking about a book about Gerald Ford. That's the problem in a nutshell. Oracle is talking about books and trying to apply copyright law to the law about books. But computer software isn't a book, a novel, or anything like it. You can restrict copying of a novel or a history without damaging the entire field of book writing. But if you restrict APIs, which are functional, you do destroy software development as we know it.

I don't think the law or the judge care about what it'd do to software development. If applying copyright law would destroy software development, then that's a matter for Congress to take up and potentially change the law. But I think the problem is that Oracle keeps talking about copying the contents of books. An API isn't the implementation, any more than the table of contents of a textbook is the textbook. That it's a textbook is a key point, BTW. For a novel, the chapter titles and their ordering may be copyrightable, but they have a non-functional aspect to them. For a textbook, the chapter titles are almost purely function: they tell you want information's covered in which chapter. If I write another textbook covering the same subject, I'm going to need to cover the same information. And if I want to let people use my textbook in place of another without having to redo all their references, I need to give my chapters the same titles and put them in the same order. So, does copyright law prohibit me from creating such a replacement textbook using the same chapter titles and numbers? Yes or no? The answer to that should enlighten.

[ Reply to This | # ]

Bunkum, follow the pea......
Authored by: Anonymous on Monday, April 23 2012 @ 07:22 PM EDT

"Oracle: Look at your screen. 610.2. The Java documentation from the Java
web site, and on the right, 767, which is the Android docs from Android."


Look at the book.


"John Mitchell: You can see you have the same class in the same library.
Everything's basically the same."


Look at the code

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj
Authored by: Anonymous on Monday, April 23 2012 @ 07:28 PM EDT
Many thanks to the court reporters for their time and effort.

I do have a question though. Do you sense that the jury is getting it or are
they completely overwhelmed? I have a lot of programming experience and am
getting a bit confused. I can just imagine a teacher or nurse having their eyes
glazed over.

[ Reply to This | # ]

PJ -You are getting sloppy
Authored by: s65_sean on Monday, April 23 2012 @ 08:06 PM EDT
Bob Lee: For open source license, you can take the code and reuse it. Some require you to give attribution. The GPL says. [PJ: It says the code can be reused and modified, so long as the modifications are given back.]
Modifications do not have to be "given back". I can take any GPL software and modify it any way I see fit, and as long as I don't distribute my modified binary code to anyone else, then I don't have to give anyone my modified source code. You only have to make your source code modifications available to others if you distribute your modified binary code to others, and even then you only have to make the source code available to those that you distribute your modified binary code to. You don't have to ever "give it back" to the ones that you got it from. Granted, if you make it freely available to others, then the ones that you got it from can probably obtain a copy, but it's up to them to obtain a copy, you don't have to go seek out those that you got the code from and give them your modifications.

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj - Updated
Authored by: Anonymous on Monday, April 23 2012 @ 08:20 PM EDT
I like any judge who utters the words "patent troll" from the bench.

[ Reply to This | # ]

Horse->Cart
Authored by: jvillain on Monday, April 23 2012 @ 08:33 PM EDT
There are 51 packages in Android. They started asserting rights for all 51. But then it was discovered they didn't own those 14. So they dropped those 14.

Isn't the question of whether you have ownership some thing you should figure out before you start suing? I would have thought some one over at BSF would have figured that out after the fiaSCO.

[ Reply to This | # ]

  • Horse->Cart - Authored by: Anonymous on Tuesday, April 24 2012 @ 04:02 AM EDT
Interace in Java not the same as Interface in term Application Interface
Authored by: Anonymous on Monday, April 23 2012 @ 08:44 PM EDT
The term "interface", as it applies to Java, is used to indicate a
reference type that can not be instantiated and does not have any method bodies.
The methods it defines must be in any classes that implement the interface.
The interface does not say what the methods will do, only what methods classes
that implement the interface will include. What the methods do can be very
different. In the term "Application Program Interface", the term
"interface" refers to a function, method, subroutine, etc. for which
the definition of what it will do is well defined, just not the how.

Perhaps an example: if an API specifies a function
float sin(float X) returns the sine of X, then the implementer must make the
sin function return the sine of its argument; a Java interface that has a method
defined as float sin(float) requires that any class that implements the
interface have method sin that accepts a float as an argument and returns a
float, and that returned value may, or may not, be related in any way to the
sine of its argument.

Why would you do this? A class that implements comparable must have a method
compare that returns a negative, zero, or positive integer depending on if one
argument is less than, equal to, or greater than the other. So, lets say we
wish to compare the letters A, a, Z, and z. We could put them in the order A,
a, Z, z or the order A,Z, a, z or we could say A and Z are equal and both are
less than a and z, which are equal because the order is determined by case, or
we could say A and a are equal and both are less than Z and z, which are equal
because the order is alphabetic and case is not significant.

[ Reply to This | # ]

And the JUdge anticipates Boies Position..thin copyright goes this far....
Authored by: Anonymous on Monday, April 23 2012 @ 08:52 PM EDT
Judge: Let me try my question a different way. Let's say we ask the jury 2
questions. "With regard to these 37 packages, did Google copy the
SSO?"

And same question, but documentation.

[ Reply to This | # ]

Hearsay?
Authored by: rsteinmetz70112 on Monday, April 23 2012 @ 09:00 PM EDT
Oracle: Your discussions with Horowitz about permissability. Discuss with any
Google counsel?

Bob Lee: Not that I recall.

Oracle: So Horowitz was giving you unguided legal advice?

Bob Lee: Yes.

---
Rsteinmetz - IANAL therefore my opinions are illegal.

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

"computer architects"
Authored by: rsteinmetz70112 on Monday, April 23 2012 @ 09:20 PM EDT
As an actual Architect who designs buildings for a living I have real heartburn
with terms like "computer architect" and "software
architect" wielded by people who have little or no knowledge of what Real
Architects do. The title seems to be based on a repulsion of traditional
corporate terminology and some kind of milappropriation of and misunderstanding
of actual architecture.

---
Rsteinmetz - IANAL therefore my opinions are illegal.

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

The Jury have to be unanimous right?
Authored by: SilverWave on Monday, April 23 2012 @ 09:26 PM EDT
Whats the chance of that in such a case as this?

---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions

[ Reply to This | # ]

What is "SSO"
Authored by: Anonymous on Monday, April 23 2012 @ 09:30 PM EDT
> Judge: I will instruct the jury that the copyrights extend to the SSO.

What does SSO stand for?

[ Reply to This | # ]

Boies: And I'm probably not explaining well.
Authored by: SpaceLifeForm on Monday, April 23 2012 @ 11:00 PM EDT
Boies (allegedly said):
The court will note that everyone before this litigation that everyone thought that a clean room implementation didn't save you from getting a license.

All the clean room permitted you to do was to stop you from licensing the code. But the clean room didn't excuse you from getting a specification license.

News to me. If they provide the API description without a license (which they must, otherwise no one would write any code that used the API), and someone writes their own implementation that supports the API, and the code works properly, why would they want any additional license? Other that to call it some trademarked name, do they really care?

Here is an example: glibc and uClibc. uClibc strives to implement the same API as glibc, but in smaller code footprint.

uClibc does not try to call itself glibc, even though it implements a lot of glibc functionality.

Harmony does not try to call itself Java either, even though it implements a lot of Java functionality.

I think Boies is twisting.

---

You are being MICROattacked, from various angles, in a SOFT manner.

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj - Updated
Authored by: Anonymous on Monday, April 23 2012 @ 11:11 PM EDT
Why didn't Google ask Mitchell more about cleanroom
implementations? He seems to imply that they are industry
standard practice and legal. Wouldn't that contradict the idea
that APIs are copyrightable?

[ Reply to This | # ]

What I find interesting...
Authored by: Anonymous on Monday, April 23 2012 @ 11:39 PM EDT
Lawyers use language in a very precise manner to convey an idea to other folks
in the same profession. So do programmers. At the same time, the same word can
have two separate and distinct meaning to each group. Seems to play right into
Oracles hands if the goal is to cause confusion (while claiming the opposite).

[ Reply to This | # ]

Analogies...
Authored by: BitOBear on Monday, April 23 2012 @ 11:46 PM EDT
Saying you can copyright and restrict the use of an API to a library that you
have given away is like...

Admitting you cannot copyright a computer designed tire tread pattern but you
can copyright the skid-mark it leaves behind.

The parties may have stipulated structure, sequence, and organization, but there
is no meaning to this. It is, as I am wont to say, "A distinction without a
difference". We have heard how a person "could" put a math thing,
like taking the square root, in some non-math namespace. Sure you -could-, but
you -could- sort your API elements by first-vowel... that is, it's doable but it
would be less than helpful.

I regularly get asked by managers questions that start with the most dangerous
three words in computer science: "Couldn't you just".

It took me years to learn how to stop saying "yes, but..." nobody
keeps listening after the "ye". I had to learn to start with
"that would be an incredibly bad ide because..." and then end with
"but it might be possible."

For instance "couldn't you just put sqrt() into java.science instead of
java.math?" "That would be an incredibly bad idea, nobody would be
likely to find it there and people would start adding error-prone and inferior
untested routines into the math space to replace the 'missing' element, but it
is technologically possible."

Massively degenerate alternatives are not equal choices.

One of the guiding rules of API (and code in general) design is "the rule
of least astonishment":
http://en.wikipedia.org/wiki/Principle_of_least_astonishment

This core principle guided the initial construction of the libraries. It
governed the direct expressions of documentation built by the -automated-
javadoc tool, just as it did the predecessors of javadoc, and it proscribes the
alteration of an existing API for all but the most dire of causes.

The idea of reinventing the wheel is well understood to be a waste as a moral.
Saying that somehow Google should have reinvented the java library elements
"SSO" epically improper.

It would border on actionable incompetence to suggest that re-writing a known
and working interface was a reasonable action under share-holder due diligence
rules since it would waste lots of money to deliberately create endless problems
for the company.

[ Reply to This | # ]

A favorite list
Authored by: Anonymous on Tuesday, April 24 2012 @ 12:01 AM EDT

John Mitchell: I guess I agree.
That sure comes across like he'd rather not answer. I guess Judge Alsup spoiled his fun.
Google: Dr. Viznik was another expert? You relied on his report?
Dr. Mitchell: I read his report.
...
Dr. Mitchell: I expect he described what he did there.
Ok... either he didn't actually read the report (perhaps reading only a part of it) or he's become reluctant to answer again.
Boies: It wasn't just an email. Danger took a license even though they weren't going to use the code.
So... because EV1 took a license from SCOG, it's against the Law of Copyrights for anyone else to refuse?
Judge: Well, I still question your premise. Now it may be that they agreed to a license, in the same way both of these companies have agreed to a patent from a troll, even though it's completely invalid, just because it's not worth fighting.
Yup... Judge Alsup sure seems to understand the potential of Boies argument with regards the suggestion "someone else took a license, so it has to be required by Law".
Boies: That's not what we're trying to say. And I'm probably not explaining well.
ROFL: I view Mr. Boies as explaining very well... it's the fact that Law doesn't conform to Oracle's interpretation that he's having troubles with.

RAS

[ Reply to This | # ]

Stanford Professors have helped Oracle before
Authored by: Anonymous on Tuesday, April 24 2012 @ 12:15 AM EDT
"Judge: Do you have a truce to not talk about how much expert witnesses are paid?"

Interesting that it was asked, and that Google never followed up. Maybe Judge Alsup remembers a previous case ("Re Oracle Corp. Derivative Litigation (824 A.2d 917 (2003))"), as summarized on Larry Ellison's wikipedia page:

"Ellison's charitable donations to Stanford University were an issue in that case with respect to the independence of two Stanford professors who evaluated the merits of the case for Oracle"

Ouch!

Anyone have a better URL for that case?

[ Reply to This | # ]

  • Never interrupt - Authored by: Anonymous on Tuesday, April 24 2012 @ 01:30 PM EDT
Google: "we haven't even started our case yet"
Authored by: jbb on Tuesday, April 24 2012 @ 12:52 AM EDT
IANAL, but IMO, on first blush, this was not a great day for Google. The judge has provisionally decided that the SSO of an API can (possibly) be protected by copyright. The Danger (company name) contract will be admitted as evidence even though it is not relevant to what Google is being sued over. And finally Oracle got to put forth the proposition that even if you make a clean room implementation you still need a license for the API. I got a feeling the judge was trying to cut the baby down the middle and give each side something they wanted; giving Google a win on the implementation not being derived from the API and giving Oracle a win on the SSO of the APIs being (possibly) protectable by copyright.

This trend is not good for Google because a compromise between the truth and a lie is still a lie. BS&F repeatedly used this to their advantage in the SCO wars. If things continued in this direction it would look pretty grim for Google. But that's not going to happen because, as Van Nest said, Google hasn't even started presenting their side of the story. They have not yet begun to fight and it's always darkest just before the dawn. A trial is like a modified game of (American) football where one side is always on defense for the first half then gets to always be on offense the second half.

Unlike last week when I said that I felt Google had been able to stay even with Oracle, today it felt like Oracle was slowly pulling ahead, especially with the judge. The goof one of Google's lawyers made in characterizing the Danger contract was costly.

It seems like the judge is trying to squeeze Google into arguing a fair use defense in front of the jury although he reserved the right to override the jury's decision with his own. The fair use argument has prevailed in the past for using elements of an API in an application program. I don't recall anyone using it with success for a re-implementation. Perhaps the judge wants Google to follow these clues in footnote 346 on page 54 of Samuelson (58-page pdf):

Sega considered whether reverse engineering of program code for purposes such as getting access to functional design elements, such as interfaces, was fair use. Id. at 1514. The court observed that “[i]f disassembly of copyrighted object code is per se an unfair use, the owner of the copyright gains a de facto monopoly over the functional aspects of his work—aspects that were expressly denied copyright protection by Congress,” citing § 102(b). Id. at 1526. The court went on to say that “to enjoy a lawful monopoly over the idea or functional principle underlying a work, the creator of the work must satisfy the more stringent standards imposed by the patent laws.” Id. The Ninth Circuit agreed with Altai that functional works such as computer programs and those describing bookkeeping systems were entitled, as Baker had long ago held, to only “thin” protection from copyright law. Id. at 1524.

Samuelson's overall thesis was that § 102(b) of the 1976 Copyright Act should be invoked directly. That section says in full:

In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
As Samuelson also said:
While it is better to stretch the scenes a faire and merger doctrines to exclude from copyright a systematic collection of information selected and arranged to achieve functional ends, a far simpler and more straightforward way to get to the same result is to say that systematic assemblages of information such as specifications of interfaces necessary to achieve interoperability are unprotectable under § 102(b) [of the 1976 Copyright Act] and Baker’s progeny such as Taylor.

I would be more comfortable with a judgment follows Samuelson's lead and says that APIs cannot be protected by copyright because of § 102(b). I worry that the fair use argument might not fly with the jury and even if it does, it might leave the door open a crack for someone else to try pulling a similar scam later on. My guess, and this is only a wild guess, is that the judge is looking for some way for the jury to decide the API issue in favor of Google so he doesn't have to make a direct ruling on whether APIs can be copyrighted or not.

Arguing fair use in front of the jury may actually be a huge boon for Google. If the jury decides that as a matter of fact Google's use of the APIs was fair use then that finding of fact by the jury might be harder to overturn than a ruling by the judge directly saying APIs cannot be protected as a matter of law. IANAL but IIUC, it is much easier to appeal rulings of law than matters of fact. The higher courts are generally looking for ways the lower courts messed up in matters of law. They are not in the business of second guessing juries.

Maybe this was a pretty good day for Google after all.

---
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 | # ]

The SCOG Linux Tax - soon to be the Oracle Linux Tax
Authored by: Anonymous on Tuesday, April 24 2012 @ 03:37 AM EDT

It dawns on me BSF has found a new replacement for SCOG in the form of Oracle.

The copyright claims argument against Linux was:

    It doesn't matter how few lines were copied: the work as a whole is a derivative, therefore a license is required.
Now that's being argued with Oracle:
    It doesn't matter that it's only 9 lines... Dalvik as a whole is a derivative.
Think like BSF in both cases for a moment and it really isn't that far a jump to:
    Dalvik donated code to Linux Kernel - thereby making the Linux Kernel a derivative!
Anyone willing to lay a wager that Linux will be Oracle's next target if BSF is successful in getting a ruling that Dalvik is indeed a derivative of Java?

Another similarity in the cases was that in both cases, no matter how far fetched the claims were compared with the minimal amount of actual copying claimed: Billions were at stake.

RAS

[ Reply to This | # ]

All we need is a better analogy
Authored by: Anonymous on Tuesday, April 24 2012 @ 04:34 AM EDT

Why, oh why, is noone coming up with the analogy to a cookbook?

Here is my proposal

Java is a cookbook, full of recipes designated by name (methods), organized by categories such pastry, meat, etc... (classes and packages), each recipe has a list of ingredients (the parameters), and an actual step by step set of instructions, the recipe itself (the source code for the method).

Google did re-use the recipe names and the list of ingredients (the API) from Java's cookbook , but did go to great care to create their very own original recipes, and test them.

Could Oracle pretend to copyright "just the recipe names and list of ingredients", knowing that lots of these recipes were harvested, collected and transformed from other sources (other language, classical CS algorithms) rather than invented especially for and unique to Java's cookbook.

Cheers, L aurent

[ Reply to This | # ]

BS&F re-purpose the Gupta doctrine
Authored by: Ian Al on Tuesday, April 24 2012 @ 04:52 AM EDT
Google: We have an issue with the 1st witness, and an exhbit. A series of side by side comparisons.

Judge: Oracle - no! You can't use this. You have to use the whole thing, not a cut up thing.

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

[ Reply to This | # ]

The expert witness
Authored by: Ian Al on Tuesday, April 24 2012 @ 06:09 AM EDT
Mr. Jacobs for Oracle: We were talking at the end of your testimony about the instruction you gave to your coders. What are the 2 possible meanings of paraphrasing?

Bob Lee: Taking something and putting it into your own words.

Oracle: Look at your screen. 610.2. The Java documentation from the Java web site, and on the right, 767, which is the Android docs from Android.

Bob Lee: Java docs generated from the code. Not sure what it's called for Android.

Oracle: Does same mechanism apply to Android documents?

Bob Lee: Yes.
What's that about the Java website? Would that be one html document from among tens of thousands on Oracle's website? Was that available when Harmony wrote their clean room implementation of the libraries? You know, I don't think it was. And, what's that about java docs generated from the code?

Yes, of course, I remember, now! All of the API descriptions are generated from the source code for the API functions. As stegu told me,
Java comments are allowed in both formats that are legal for C/C++ comments, i.e. single line comments starting with //, and block comments enclosed in /* ... */.

The Javadoc headers aimed at auto-generated documentation begin with /**.
Now, what did the expert witness say?
Oracle: #2: Copying of documentation into source code.

John Mitchell: Yes. An API contains declarations. IntBuffer. That declaration is copied directly into Google code. Talking about timsort. Copying of code / rangecheck.

Oracle: Cleanroom?

John Mitchell: The person that wrote that had access to the Sun code.
Hang on! Harmony did the clean room API code and not Google. The only thing they would have to go on was the Java API Specification given to them by Sun for the express purpose of writing the clean-room API function code.

That Specification would contain the javadoc text drawn from the original source code files and identified to the javadoc program by the /** prefix.

The writers of the source code are under strict orders to make sure the javadoc comments are always written in the exact same format and layout and using exactly the same form of phrases for the method lines. Since the Oracle code writers and the Android code writers are writing about the same functions with the same names and with the same instructions about javadoc comments it is likely that they will look very similar.

Of course, anything in the way of creative expression that the programmers added to the javadoc comments would stand out like a sore thumb. Perhaps, they had no desire to add creative expression to their functional descriptions formatted in line with the Java API Specification format.

So, what do we make of Mitchell's expert opinion that 'the person that wrote that had access to the Sun code' and Jacobs question about 'clean-room'?

Ah, yes, they are talking about the nine rangeCheck lines (including the line that had '}') in timsort that Joshua Bloch wrote and donated to Oracle.
Q. How big is Timsort (referring to Bloch's Java implementation).

A. 900 lines.

[The rangecheck() function gets mentioned in here.]

Q. Was there a sort API in Java before Timsort?

A. Yes, in the arrays (class? package?).

Q. How did Timsort differ?

A. It was much faster: as much as 20 times, typically somewhere between 2 and 20.
9 out of 900? As a percentage, that is... that is... Well, you do the math!

Those were the nine lines that Google admitted to copying. In fact, they were the only nine lines in hundreds of thousands of lines that Oracle discovered were copied directly by Google. And Joshua Bloch handed them back to Oracle as a small component of the much improved timsort. Nice!

Perhaps it was just unlucky that Jacobs appeared to taint the whole of the Harmony project because of the nine lines that Google copied and gave back in the 900 line timsort.

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

[ Reply to This | # ]

Structure, Selection and Organisation, doesn't sound like Java's OOP design methodology
Authored by: Anonymous on Tuesday, April 24 2012 @ 06:17 AM EDT
(IANAL) But has someone made a huge mistake on Oracle's behalf here? talking
about structure rather than objects oriented :)

Imo OOP based languages/APIs would be the hardest of all to claim any SSO
defence for, considering the whole selling point of an OOP design methodology is
that you let the real class instances(nature) guide your design; and therefore
this should always make your design “derivative” and “obvious” to any other
expert in the field capable of software modelling.

Even if Java was a structured/procedural language like SQL, I fail to see how
anyone is going to claim that SSO can be protected in public software
interfaces; regardless of complexity, when methodologies such as Structured
Systems Analysis Data Modelling(SSADM) exist freely for anyone skilled to use.

Where I feel the judge has let Oracle pull a fast one, is by using the words
“API specification” in place of what it really means and does; provides a
“public interface” for programmers to use the Java language.

[ Reply to This | # ]

Decompilation
Authored by: SLi on Tuesday, April 24 2012 @ 07:01 AM EDT

The decompilation stuff sounds quite bad for Google, in my opinion...

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj - Updated
Authored by: Anonymous on Tuesday, April 24 2012 @ 08:43 AM EDT
The court and the law are so out of touch about software
and its development that this whole thing is absolutely
disgusting.

Engineers can't rely on laws about something while lawyers
define the very element of software that they demonstratably
know absolutely nothing about.

No wonder the world is going bad.

[ Reply to This | # ]

If they used Harmony, why did they have to write the APIs over again?
Authored by: s65_sean on Tuesday, April 24 2012 @ 08:53 AM EDT
One thing that I don't understand is if Google copied Harmony as they claim,
then why did they have to write these 37 APIs over again themselves in a clean
room? Hadn't the Harmony project already done that?

[ Reply to This | # ]

did Oracle's expert help Google?
Authored by: Anonymous on Tuesday, April 24 2012 @ 09:13 AM EDT
I noticed the following from Oracle's expert, and I think that this actually helps Google, not Oracle.

Judge: java.io, that's an API?

John Mitchell: Technically that's a package. As a grouping of classes, an API consists of information about packages classes and interfaces together with what they do. An overview of an API.

Couldn't Google use this statement and say that APIs are not eligible for copyright since they are ideas and facts?

[ Reply to This | # ]

This admission by the Judge is huge for other reasons:
Authored by: eachus on Tuesday, April 24 2012 @ 12:55 PM EDT
Judge: Well, I still question your premise. Now it may be that they agreed to a license, in the same way both of these companies have agreed to a patent from a troll, even though it's completely invalid, just because it's not worth fighting.

This issue may come up in the patent part of this case. I also expect that it will be used by lots of lawyers as a precedent for calling the plaintiff in a particular case a troll. And certainly just sending that snippet to your congressman and Senators can't hurt.

[ Reply to This | # ]

What's in a name? whats in an SSO?
Authored by: Anonymous on Tuesday, April 24 2012 @ 01:12 PM EDT
Google did not copy the code (except in some few instances)
It is so stipulated.

The names are not protected.
It is so stipulated.

So what is this circus all about?
It's not the code, and it's not the names.
Doesn't that mean that there's nothing left?

Not at all.

It's about the 37 APIs!

Well, no, it's not.

It is about the Structure, Selection and Organisation of the Documentation of
those APIs in a Book called The Java API Specification.

Oracle allege, that Google, copied a portion of their Book, the API
Specification, into their own book the Android Developer Reference.

Then it is alleged that Google, having done that copying, then copied the thing
that had been copied from Oracles Book in to Android source code. A symbol for
symbol exact copy, look at the names in the source code.

(Oracles filing #899 Accused 1, 2, 3)
(4 is the overreach that Jude Alsup looks like he's about to kick in to touch,
though I'm sure Mr Boies would like SSO to stretch over the expressive part
aswell)

Say what? names aren't protected, the judge said so.

No, they're not, but the SSO was a $7.4Billion pink elephant^W^W the result of
tens of years of man effort and hundreds of millions of pounds of investment.
Design Decisions, Creative decisions, many decisions, Artistic decisions, it, so
they say, the plot line of their work.

It is protected, or at least an SSO may be entitled to protection. (And for now,
Judge A is going to say that it is, from where he sits, there is some merit to
Oracles argument)

Oracle try to claim that the 37APIs should be the work as a whole, well lawyers
can claim whatever they are paid to claim, doesn't mean it's true, and anyway,
they don't mean the 37 APIs, or even the 37 Packages

What they are pleading is the SSO of the 37 subsections Described in the API
Specification.

And we know that it is not the work as a whole, the Judge has already asked, why
isn't it 42? isn't it a subset?, haven't you already dropped some? 14 have been
dropped, from 51 to 37, but even 51 is not the whole work.

Maybe I have a poor memory but I thought at one stage that Oracle had said that
there were more than 200, which makes the 37<20%, but Google asserted that it
is only 166 which makes it <25%, this appears to play into Oracles hand, it
gives Oracle a chance to assert the portion copied is a significant percentage.
But it's not.

It is only 20%-25% of the SSO, which itself is only a portion of the whole.
Even if you accept that the SSO is a significant portion of the whole, there are
a lot of Method names for example, and some very short English descriptions, it
is still the case that you are only talking about a portion of a portion of the
work as a whole.

Let us say, just for argument, that the SSO constitutes 40% of the work, a ratio
of ~1.5 lines of expression to 1 lines of SSO. Barking mad at best, but hey,
we're drinking Davey Boys shandy on this one, so let's go with it. It suggests
that Google only copied at maximum 10%.

Though let's go back to Mitchell, he said it was 90% (of the SSO), and Android
added some bits. So less than 10% then, likely much less.

But wait a minute, percentage copied goes to fair use, or substantial similarity
doesn't it? But fair use doesn't apply to SSO. SSO only gets thin protection,
the question is did you use it or not, did you copy it, or not?
It is not and should not be a question of how much of it did you use? So let's
look at the SSO

1) java.awt.font
2) java.beans

Need to pause there, of course these are only shortcuts to refer to 'Everything
Contained In' this section of the SSO, CLI junkies have a solution for that,
'.*' which we shall employ here

1) java.awt.font.*
2) java.beans.*

Stop again, we forgot, names are not protected, it is only the SSO that is
protected, so we need to abstract away the names, let's use Upper case for main
section, lower case for subsection, then numbers for sub-sub, and sub-sub-sub

1) A.a.1.*
2) A.b.*
3) A.c.*
4) A.d.*
5) A.d.1.*
6) A.d.2.*
7) A.d.3.*
8) A.e.*
9) A.f.*
10) A.f.1.*
11) A.f.1.1.*
12) A.f.2.*
13) A.f.2.1.*
14) A.g.*
15) A.g.1.*
16) A.g.2.*
17) A.g.3.*
18) A.g.4.*
19) A.h.*
20) A.i.*
21) A.j.*
22) A.j.1.*
23) A.j.2.*
24) A.j.3.*
25) A.j.4.*
26) A.j.5.*
27) B.a.*
28) B.a.1.*
29) B.a.2.*
30) B.b.*
31) B.b.1.*
32) B.c.1.1.*
33) B.c.1.2.*
34) B.c.1.3.*
35) B.c.1.4.*
36) B.c.2.*
37) B.d.*
(list is from Exhibit attached Filing 899, translation errors are mine)

Forget for a moment, what might be fair use, what might be barred by
function/merger/estop/public availability, Apache License, GPL License, common
knowledge, Language Library whatever (and there's lots).

This alone starts to beg question about just how far Boies is trying to stretch
his thin copyright protection.

This numbering assumes that the 37 are the whole of the work
we know that is not true.

How many other Main sections are there?
TBF, there's only 1.

HOw many other Subsections in Section A?... B?
That would be lots and lots, and they would be sprawled al among the
Sub-sections that you do see, so it should not really be 'a' through 'j', it's
more like

b,c,f,h,l,k,p,r,t,x,y

but we are trying to help you the reader see and it would be otherwise
confusing, so we'll stick with what we have.

Why is it, if Sub-sections A.b through A.j, are all called out in their entirety
(A.b.*->A.j.*)?
why is it then necessary to call out the sub-subsections separately?

Why is only one sub-sub-section of A.a.* is called out, what about the rest of
it?

How many more sub-sub-sections are there that are not listed?

That would be lots too, A.a.1.* here, is actually A.b.5.* if you refer to the
SSO of the Oracles API specification.

And sub-sub-sub-sections?
Yup there's a few of those too.

What about items 37 and 19? Aren't they just two sections on the same thing?
they're called A.h.* here and B.d.*
shouldn't they be A.h and B.h.

Well we're giving Boies the benefit of the doubt, so may be not, but may be yes,
why don't you decide, incidentally, same for 30) and 8).


Google do not deny that they copied the structure, they do not deny that it is
substantially similar. They copied it from Apache Harmony, they didn't copy it
from Boies Book, they could have copied it from a dozen places, they didn't need
to.

Googles selection arrangement and structure while it may bear some superficial
similarity to Oracles Structure, is a technical artefact of automated software
tools analyzing the source code (which Oracle admit they did not copy) and it is
plain on the face of it that if you look actually at Oracles SSO (not the code,
not the book, not the English prose, not the licenses, just the SSO), then
Google did not copy it from Oracles Book, at best they 'quoted some small bits
of it'

That is not enough when your copyright protection is only thin in the first
place.

If it is not copied from the Book, then it cannot have been copied into the code
(which is admitted was not copied),and even were it so, your thin copy right
protection does not get you that far Mr Boies and you know it.

Everything else you hear from Oracle is distraction.
(Exhibit A, attached to filing #899, read it carefully)

Boies/Jacobs perfect magicians.


My apologies for blathering on,
I hope you found it worth reading.

[ Reply to This | # ]

rangecheck couldn't be written by a grad student?
Authored by: Anonymous on Wednesday, April 25 2012 @ 04:29 AM EDT
To suggest that the range check function could only be written
by a grad student if they were told what to do is crazy. If
his students couldn't pull that off than that makes Stanford
look pretty bad.

[ Reply to This | # ]

Why does Google not use the GPL defense?
Authored by: Anonymous on Wednesday, April 25 2012 @ 06:36 PM EDT

If Java was really released under the GPL then the JavaDoc has been released under the GPL since it's just the comments, packages, classes, methods, fields, etc. How can Oracle claw back that information if it's released under a license that says Google can do whatever they want with it? Maybe Google should have invested in a clean-room implementation of javadoc. It would seem that using Oracle's interpretation, Oracle would themselves be infringing Red Hat's copyright on Red Hat Linux. I just don't understand why Google is not raising a GPL defense here.

[ Reply to This | # ]

They should use Object Pascal to demontarte this stuff
Authored by: Anonymous on Wednesday, April 25 2012 @ 10:19 PM EDT
Object pascal objects are very strict about interface and implantation sections.
It would be very easy to make the judge and jury understand the difference.

[ 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 )