
Judge Alsup learns to code and schools Oracle - vibrunazo
https://plus.google.com/110412141990454266397/posts/fk5VXPpiQZR
======
grellas
The quoted exchange is between Judge Alsup and Oracle's counsel, David Boies,
and concerns the issue of what damages Oracle intends to seek in phase 3 of
this trial (phase 1: copyright liability; phase 2: patent liability; phase 3:
damages). The jury hung on the major copyright claims and the judge has yet to
rule on the ultimate question whether the 37 Java API packages at issue are
even protectible by copyright. Oracle proved infringement concerning the nine
lines of code constituting rangeCheck and the judge held as a matter of law
that Google had infringed respecting a couple of test files that were
subsequently removed from Android. In this context, under applicable law,
Oracle may elect to get statutory damages of $150K for each of the
infringements or it may elect to go after what are known as "infringer's
profits" - meaning that it would ask the jury to award it damages measured by
profits made by Google on account of the infringing acts. Mr. Boies is telling
the judge that Oracle wants to go for infringer's profits "as a matter of
principle" and the judge is telling him, in effect, that he is astounded that
Oracle would be prepared to make a claim for a billion dollars (or some other
very large number) based essentially on nine lines of code among the tens of
millions of lines of code in Android and a few test files. Mr. Boies strains
to offer various rationales for how Oracle might prove damages of this type,
mostly tied to the idea that Google gained in time to market for its Android
product by relying on the infringing materials. The judge basically tells him
that this position is ridiculous and that he cannot believe that an attorney
of Mr. Boies's stature would even make it (at one point, he notes that Oracle
is trying to make a "federal case" out of this and, catching himself, says (I
paraphrase here), "oops, this _is_ a federal case . . . well, seeks to make a
_bigger_ federal case out of it than it is"). (The Groklaw report on this
exchange is worth reading and even fun in spots - it may be found here:
[http://www.groklaw.net/article.php?story=20120515120106322#U...](http://www.groklaw.net/article.php?story=20120515120106322#Update_5))

This exchange highlights the rather unfavorable position that Oracle finds
itself in on the copyright issues. It has won nothing of significance and
stands to get very little from the jury on these issues. Concerning the
broader claims on which the jury hung, it still faces a potent objection from
Google that it cannot assert copyright violations based on the 37 API packages
owing to defects in how the Java program was registered with the copyright
office. It also faces the risk that the judge or a court of appeals will hold
that APIs are not copyrightable.

A word on this last item: Much as the developer community believes very
strongly that APIs should not be copyrightable, the Ninth Circuit law that is
binding on this judge (beginning with _Johnson Controls_ in 1989) is not
particularly favorable in that it provides that software programs are to be
analyzed item-by-item on the facts of each particular case to determine
whether any particular component is protectible expression versus an
unprotectible idea, function, system, or method of operation (this is in stark
contrast to the First Circuit, which held that judges could make categorical
judgments that certain components are functional by nature and hence
unprotectible by copyright (as opposed to patent), as the menu structure was
held to be many years ago in the Lotus/Borland case. Google is arguing the
issue categorically ("APIs are inherently unprotectible under copyright law")
but this makes for a tough sell in a jurisdiction where the appellate
authority has said that such issues cannot be categorically determined. Google
has alternative arguments, the main one tied to a leading Ninth Circuit case (
_Sega_ ) that Google argues enables copying of functional elements of any
program needed to ensure compatability. But, in my view, astute as this judge
is, he will be bound to apply the fact-specific approach, making it tough for
him to adopt Google's strongest argument and thus significantly reducing the
prospects for a definitive ruling from the judge along the lines sought by
Google (of course, this might come on appeal, where the court is free to
reshape its earlier precedents in light of modern-day realities in the
software world).

~~~
krschultz
This is somewhat off topic, but why does the same lawyer show up so often?

David Boies has argued in Bush v Gore, defended Napster, worked for SCO in SCO
v Linux, argued the recent California gay marriage law, was the council for US
team in the recent America's cup case, and now he's Oracle's lawyer here (at
least I see the last connection).

I can't discern a pattern to those cases other than their high profile nature.
Wouldn't it make more sense to hire someone that is an expert in computer IP
law for SCO, Oracle, Napster type cases, a constitutional lawyer for the Gay
marriage and Gore v Bush type cases, etc. How can one guy be the go-to for so
many high profile cases?

~~~
euroclydon
He seems to lose a lot too.

~~~
krallja
You bring out the best person for the toughest jobs, not the easy ones.

------
jmillikin
Article appears to be a mis-statment of the actual quote (from
<http://www.groklaw.net/article.php?story=20120515120106322>)

    
    
      > Judge: We heard the testimony of Mr. Bloch. I couldn't
      > have told you the first thing about Java before this
      > problem. I have done, and still do, a significant amount
      > of programming in other languages. I've written blocks of
      > code like rangeCheck a hundred times before. I could do
      > it, you could do it. The idea that someone would copy that
      > when they could do it themselves just as fast, it was an
      > accident. There's no way you could say that was speeding
      > them along to the marketplace. You're one of the best
      > lawyers in America, how could you even make that kind of
      > argument? 
    

It sounds like the judge is saying that he has written code before, just not
in Java. Presumably this was some time ago, before he decided to become a
judge.

~~~
6ren
So he was playing dumb earlier for the benefit of the jury - to make the
advocates spell out their case clearly. This is what he was responding to:

    
    
      > This copying allowed them to use fewer resources and accelerate that. Suppose they
      > accelerated it two days. They're making $3 million a day now [...] If you just get
      > one or two days' acceleration, that's $6 million
    

This is a good point; it's common to underestimate how long it takes to code
something. And time to market is often strategically crucial - that is,
productivity isn't just efficient, but can be the difference between success
and failure. rangeCheck is trivial; but writing, testing, debugging, naming
and documenting take time. A trivial typo bug in rangeCheck can cost a
disproportionate amount of time - and it's amplified here, when rangeCheck was
used to test other code. (Who shall unit test the unit tests?)

To answer Groklaw's final question as to why Alsup couldn't decide on API
copyrightability yet, he clearly said he needed to do a lot of reading. He not
only has to decide according to law, he is in effect creating law, since this
specific issue hasn't been decided earlier. His ruling has wider significance
than just this particular case. Future potential litigants will read his
ruling, and will avoid court if it's clear who would win. Although he is only
one judge and so his precedent won't be binding on a full bench/higher court,
those judges would also carefully read his judgment. He'd better get it right,
not only in the result, but in the reasoning, and integrating it with related
cases.

It's great that Groklaw is making these transcripts - because the court is a
public institution, I think the official transcripts should be available (and
why not video too? The emphasis in oral argument sometimes isn't captured in a
transcript.)

~~~
jabr
While the basic line of reasoning is valid, it is absurd in the context of the
rangeCheck function.

There might be a nine line function that takes a day or two to get right, but
for even a bad programmer, rangeCheck would take a few minutes. With thorough
tests, maybe ten minutes. I've barely touched Java code in over a decade, but
I could write that function -- with tests -- in less than two minutes.

RangeCheck is the kind of function you'd get on a quiz in your first week of
your first CS class in college.

~~~
Drbble
You could not type that function and tests 2 minutes.

~~~
drostie
Working on it myself, after having read what the code does and being committed
to re-implementing it myself, it took me 3.5 minutes and there were 2 bugs. (I
needed to look at the original code again to determine that to == length and
to == from were both allowed -- those were the bugs.)

A set of tests took me about 6 minutes.

~~~
6ren
Did you include the time it took to read what was needed, including the
different exceptions? I would estimate, if one wasn't fresh and up for a
challenge, 15 minutes (against your approx 10 minutes). And given that a day
of programming isn't pure programming, I'd double it to 30 minutes. It _feels_
way too long, but it's a realistic, day-in-day-out estimation.

Programming takes time... which is why it's so powerful if you can reuse code
(as Bloch did), and even better if you can find a way to reduce the code
needed, or best, to avoid needing any code.

------
apetresc
What's more interesting is Oracle's lawyer's "rebuttal" to Alsup (according to
Groklaw):

    
    
      > I'm not an expert on Java -- this is my second case on Java, but I'm not an
      > expert, and I probably couldn't program [rangeCheck] in six months.
    

I don't know, how can anyone be taken seriously after something like that?
He's clearly either stupid or willfully ignorant if he thinks he (a no doubt
well-educated and intelligent man) couldn't learn to program rangeCheck in six
months.

Yes, I know, of _course_ his defence against this charge will be "I can't be
expected to know industry-specific things like this," but then why on Earth
are you allowed to regulate and prosecute it?

~~~
scott_s
Perhaps you classify this as willfully ignorant, but I suspect he has no idea
what it is like to program. He also probably assumes that if they're
litigating it, it must be important or hard to do. With mental barriers like
that, I could see him believing he couldn't do it in six months. But, again,
you may consider that the same as willful ignorance.

~~~
rayiner
It's almost certainly willful ignorance. Boies is a very talented litigator
and one important skill for a litigator is quickly achieving a fluency in the
subject matter of the litigation. Boies has done quite a bit of software work,
so he almost certainly gets the gist of what it is like to program.

------
kstrauser
His middle name is Haskell. What did you expect?
<http://en.wikipedia.org/wiki/William_Haskell_Alsup>

------
shanemhansen
What a stud, and what a perfect rebuttal to the deeply flawed "Please don't
learn to code". Willful ignorance is never a good solution. It's due in large
part to the how fashionable it is to be "dumb", and "non-techy", and "etc"
that our public policy w/ respect to science and technology is such a junk
show. The only way out of the current patent mess and into some semblance of a
functioning society which can actually enjoy the fruits of technology and
invention is people like this Judge who have "learned to code".

------
vibrunazo
The post on Groklaw he is referring to. Very fun read:

<http://www.groklaw.net/article.php?story=20120515120106322>

(the quoted part is on update 5)

------
creamyhorror
Judge Alsup didn't learn to code during the trial - he already coded before
it! It's just that he learned about Java during the trial.

\---

Judge Alsup: "I couldn't have told you the first thing about Java before this
problem. _I have done, and still do, a significant amount of programming in
other languages._ I've written blocks of code like rangeCheck a hundred times
before."

\---

------
codeka
On a slightly different note (from that same Groklaw article), I like Oracle's
defense against Google's claim that they didn't have access to the patents in
question:

"Access? Google organizes the world's information! Of course they had access
to the patents."

~~~
shrikant
Also, Google Patent Search. <http://www.google.com/patents>

------
drumdance
Leads me to believe that "all patent office employees should learn to code."

(Yes, I know this technically about copyright, but the principle still
applies.)

~~~
Drbble
Most recent patent officers in the computing area are programmers.

~~~
antidoh
Since you've been downvoted (not by me), I'll ask for a citation, for interest
and so that you can redeem your post.

------
cromwellian
I just wish Florian Mueller would learn how to code. :)

------
rayiner
It's actually a little dangerous for the Judge to be introducing his personal
experience like this. The Judge cannot serve as a witness, and editorializing
in a way that amounts to the presentation of expert testimony can be grounds
for reversal.

~~~
jim-greer
The jury was not present for this exchange, since it was a motion. I think
reduces the danger considerably, but I'm not a lawyer.

~~~
rayiner
Ah, didn't catch that part. Yes it does.

------
NZ_Matt
Is there anyway to view this without being forced into creating a google+
account?

edit: I can see it when browsing from my pc, on mobile I get redirected to a
G+ signup form.

~~~
jmillikin
You don't have to create a google+ account to read it. I just tested in a
logged-out browser, and it worked fine.

~~~
NZ_Matt
Thanks, the signup redirect appears to be mobile only.

~~~
Joeri
Yup, same here, mobile devices must go through a g+ signup to get to the
content. This aggressive pushing of g+ is why i won't use it, and nobody else
should either.

~~~
jonah
Curious. On my Android phone I was able to see the post.

------
RandyH
All due respect, but I think the Judge is missing the point here. Its kind of
like saying "I can carve a turkey, therefore any high-schooler could do open-
heart surgery". Sure, its easy to check whether an integer is in a range. But
THEN what do you do? Return 0? Throw an exception? How does the result of this
little function combine with thousands of others to form a coherent and
productive API? Of course, as system architects, we can decompose the large,
complex problem into smaller problems, and repeat the process until the sub-
tasks are trivial. But then for the Judge to look at one of the results of
this process and declare the whole thing trivial is really a monumental
misunderstanding of what goes into creating a world-class API.

------
memset
Can someone point me to the source, and context, of what Judge Alsup said that
led to this post?

~~~
glesica
<http://www.groklaw.net/article.php?story=20120515120106322>

------
throwaway63-90
Alsup: "How could you even make that argument?"

Oracle: "Because Oracle is paying me to make losing arguments?

Because I can't code, and I don't need to? I get paid to file lawsuits.

Judge Alsup, I'm just a caveman lawyer..."

------
freditup
It's good they got a judge who knows a little about programming :D As far as
the case in general, I think it's quite interesting, but I personally feel
Oracle has somewhat of a case, but to what extent, I don't know.

~~~
nitrogen
Another important question apart from whether Oracle has a case, is whether
Oracle _should_ have a case when the results of that case are taken in the
context of the entire software industry. In other words, is the law giving
Oracle a valid claim against Google worth the potential damage caused to
software development outside of Oracle and Google?

------
asmala
Having followed this case for some time now, I almost get the feeling that the
judge is taking sides.

Now don't get me wrong, I'm definitely cheering on Google and find Oracle's
case despicable and absurd, but still.

~~~
manmal
Judges always take sides - they are humans after all. Their job is it to
ignore that and let "justicia" decide. Given how ridiculous Oracle's claims
are, he has to look after it that ridicule does not take over and damages the
trial.. I don't think he really sides with Google, he has probably just
adopted his programmer's world view in this case, and sees how ridiculous the
claims really are. In many other tech cases (ahem, copyright infringement)
judges are not as competent and can't imagine the real implications of their
rulings.

------
strlen
Very curious to what kind of code he has written: was it a part of his
judicial duties, on his own?

------
ryanmarsh
Judge Alsup for Supreme Court Justice!!!

------
gaius
I posted a comment on a legal article, and I have now learnt to be a lawyer!
Tomorrow I'll be a judge!

------
justindocanto
_Begins Slow Clap_

~~~
justindocanto
Awe come on. 4 down votes?!

Fine....

