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
Analogy: let's try lawyers :) | 396 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections Here
Authored by: DaveJakeman on Tuesday, April 24 2012 @ 12:50 PM EDT


---
When a well-packaged web of lies has been sold gradually to the masses over
generations, the truth seems utterly preposterous and its speaker a raving
lunatic.

[ Reply to This | # ]

Threadus Correctionalia
Authored by: hardmath on Tuesday, April 24 2012 @ 12:52 PM EDT
Mayst thou impart to us the spirit of the error and its
correction, high upon the subject line and in abbreviated
form.

---
"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

News Tidings
Authored by: hardmath on Tuesday, April 24 2012 @ 12:56 PM EDT
Let the herald of News Tidings placeth an URL of Linking-sure
at the head, so the finding may be quickened for late readers.


---
"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

Untopical matters of no great relevance
Authored by: hardmath on Tuesday, April 24 2012 @ 01:03 PM EDT
Whatever herein imparts the poster should not be pertinent
upon pain of impertinence.

---
"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

Transcriptia Comes...
Authored by: hardmath on Tuesday, April 24 2012 @ 01:06 PM EDT
...and goeth here, with formatting that is Hypertextual yet in
a mode that is Plain, so that the harvesting thereof may be
eased.


---
"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

E-mail headers
Authored by: tknarr on Tuesday, April 24 2012 @ 01:07 PM EDT

Rubin's right about the e-mail header. The From: header's completely under the control of the e-mail client. I can forge an e-mail with anybody's address in the To: header. You have to dig deeper, not only into the headers in e-mail but into the configuration of the mail servers that handled the mail. To trust the headers, you have to know that the originating server required a user log-in and recorded that information in either the Sender: or Received: headers, and then you have to trace back to exactly which headers (remember that a client can add it's own Received: headers before the originating server handles the mail). Most mail clients won't show those headers when you read the message or when you print them out, so it's fairly common for people to be unaware of them and printed copies of messages to be missing them completely. In that situation, I'd utterly refuse to authenticate an e-mail merely because my name was in the From: header and it looked reasonable. I'd want to examine the full headers and compare it to my archive of sent e-mails before I'd be willing to testify on the stand that it was exactly what I sent.

And yes it's common for mail servers to require a login but not record that information. My own uses a pretty standard Postfix configuration, and while you need to authenticate with a username and password to be able to relay mail through it (send mail to a domain other than one it handles itself) the server doesn't record the username in the headers. Given what's in the headers I could look back in the server logs to find out the user who sent the message, but just from the headers alone I couldn't tell you more than the IP address that submitted the message.

[ Reply to This | # ]

properly spelled corrections thread
Authored by: nsomos on Tuesday, April 24 2012 @ 01:12 PM EDT
While we may use as much wit as we like in the post
that introduces the corrections thread, it is important
that the title include 'corrections' correctly spelled.

This would be a fine place to post corrections.
A summary in the title may be helpful.

[ Reply to This | # ]

Week 2, Day 7 at the Oracle v. Google Trial ~ pj
Authored by: tknarr on Tuesday, April 24 2012 @ 01:21 PM EDT
I'm just saying, this doesn't happen in trials every day, that the exhibits have flaws. Or maybe non-geeks don't notice when they do.

Actually I think it happens quite often. It's just that the witnesses are intimidated by being up in front of the court and are trying to be helpful, so when presented with a reasonable exhibit they aren't willing to dig in their heels, balk and say "No, I can't say whether that's authentic or not.". Their thinking is that if there's no glaring indications it's not authentic then they have to admit that it is. The reality is that it's supposed to be the reverse, but most people aren't used to being picky about technicalities.

Geeks of course are typically jaded and cynical from having had elided technicalities come back to bite them time and time again. We're used to saying "No, you didn't say that in your requirements. If you want to add it, that's fine, but don't try to pretend it was there all along.". After a few iterations of that we tend to get used to making sure all the i's are dotted and t's crossed.

[ Reply to This | # ]

Scrutiny
Authored by: mexaly on Tuesday, April 24 2012 @ 01:45 PM EDT
Google knows their adversary well, I'd say.

Perhaps they're briefed about evidence authentication? Maybe they're very
consciously holding BS&F to the serifs of the letter of the law.

The plaintiff has not been a precision act, and the more that Google can
spotlight each and every oversight, the less credibility Oracle has with their
complaint. When the benefit of the doubt comes to bear, it won't be to Oracle's
benefit.

---
IANAL, but I watch actors play lawyers on high-definition television.
Thanks to our hosts and the legal experts that make Groklaw great.

[ Reply to This | # ]

Which email?
Authored by: Anonymous on Tuesday, April 24 2012 @ 01:47 PM EDT
I looked through the PDF, and there are several emails with 3 names in the
headers. None of them have suspect indentation. To which of the emails in the
PDF was "Rubin maintaining he can't be sure who wrote an email because the
indents are off?"

[ Reply to This | # ]

Email indentation => quoting
Authored by: LouS on Tuesday, April 24 2012 @ 02:00 PM EDT
I assume everyone knows, but ...

Indentation in email is often used to indicate levels of quotation. Funny
indentation can mean that what looks like the statement of the sender is really

the statement of someone else the sender is quoting.

[ Reply to This | # ]

proffer?
Authored by: SilverWave on Tuesday, April 24 2012 @ 02:08 PM EDT
Quote: "Ginny LaRoe ‏ @GinnyLaRoe

to clarify prior tweet. Google's VanNest is making some sort of proffer.
Oracle's Boies and Jacobs listening.

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

Google rests?
Authored by: s65_sean on Tuesday, April 24 2012 @ 03:31 PM EDT
<blockquote>10:45 am: And we're back for just a few more questions, says
Van Nest. Are APIs blueprints? Schmidt: "No, APIs are the way you make
something happen... the way you do that is completely up to the other side of
the interface." How long have you thought that? "For as long as I've
been a computer scientist, so 40 years." And with that, Google rests.
</blockquote>

Did they really rest their entire defense of the copyright phase, or were they
merely done questioning that one witness? I hope that they didn't actually rest
their case. They still have Jonathan Schwartz to bring on so they can question
him about his statements praising Android, especially his statement about
Android strapping rockets onto java.

[ Reply to This | # ]

Time Left
Authored by: Kilz on Tuesday, April 24 2012 @ 04:09 PM EDT
I cant seem to find how much time the parties started with.
That would make finding out how much time they have left.
Does anyone know?

[ Reply to This | # ]

Really enjoyed The Verge's reporting
Authored by: SLi on Tuesday, April 24 2012 @ 05:32 PM EDT

I love the style of theverge's reporting, especially the part about Eric Schmidt's testimony. It may not capture all of the precise legal points, but the way it describes the lawyers and the witnesses and the emotions gives a very human feeling to it.

"The juror's heads are snapping back and forth like they're watching a tennis match"

"For whatever reason the jury is now totally engaged with Schmidt — they're all facing him like sumflowers tracking the sun. Either they really hate Oracle's attorneys or they really love Google's Robert Van Nest."

[ Reply to This | # ]

Engineers talking about the law
Authored by: jbb on Tuesday, April 24 2012 @ 05:34 PM EDT
From The Verge:
11:42 am: [Google] [a]sking Schmidt if Google needed a license — Oracle objects, saying it's hearsay because Schmidt isn't a lawyer. Sustained. Same objection to similar question about license for core Java libraries.
Whoa Nelly! I seem to recall days filled Oracle's non-lawyer witnesses opining about the need for a license. Why was that allowed while Google is forbidden to answer back? I also remember the crowning piece of Oracle's evidence: the Lindholm email where an engineer opines about the need for a license. I imagine there must be solid legal rules for why only Oracle's non-lawyer witnesses are allowed to give their opinions on the need for a license but it sure seems strange.

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

What harm is there in copying APIs?
Authored by: Anonymous on Tuesday, April 24 2012 @ 06:02 PM EDT
Let us harken back to the oldendays first. Why do copyrights exist? They're
definitely not intrinsic to humans, as copying and emulation are built-in, one
of our most basic ways we learn.

Copyrights exist to protect the copyright owner from harm. ("Harm" is
defined by appropriate copyright laws, and does vary quite a bit around the
world.)

Our societies have decided that copyrights are a necessary counterbalance,
limited in duration (not for forever!), to encourage creators to create new
works.

What harm can there be to a copyright owner, when an API is copied?

After all, an API in and of itself is useless, unless there is an
implementation. (In the Oracle-Google court case, there seems to be very little
in dispute with respect to the implementation itself; a handful of lines.)

When a new work appears, and implements the same API, the only harm to the
original copyright owner is increased competition. And that only if the two
implementations are interchangeable. The body of the original work is not
infringed, and its value is still the same. Only the market for the original
work has changed.

When a new work appears, having an API with substantial similarities -- enough
to make it familiar for those familiar with the first one --, what is the harm
to the original copyright owner? It does not even change the market for the
original work; there is no impact on the original work.

Any impact there is, is completely indirect, and completely depends on the
market approach of the copyright owner. Unless copyrights are intended to
protect specific business models, then copying the API of a work does no harm to
the copyright owner.

Now, assume APIs are copyrightable. Java APIs borrow extremely heavily from
other languages like C and C++. What license did Sun/Oracle get for using those?
Or is this entire argument something that only applies when the copyright owner
is a certain large company?

[ Reply to This | # ]

Oracle's API Kool-Aid
Authored by: jbb on Tuesday, April 24 2012 @ 06:10 PM EDT
Again from the Verge:
11:43 am: Judge Alsup breaking in, asking Schmidt how he can reconcile needing a clean room but not needing a license. Van Nest says he'll address the issue in further questioning.
It appears that Judge Alsup has taken a deep gulp of Oracle's tainted Kool-Aid. The entire purpose of a clean room is so you don't need to get a license. Usually the code you are re-implementing belongs to a competitor who doesn't want you to do a re-implementation. If a license was needed to do the clean room then the competitor would not grant it. If they did want to give you a license then it would make sense for them to give you a license to the code as well so you don't have to waste gobs of time and resources rewriting it all again from scratch.

It really seems to me that the Oracle team is just making stuff up. Saying you need a license to do a clean room implementation is identical to saying APIs can be protected by copyright. I really wish the judge would pin them down on these unsupported claims they keep making that are so central to this case. First Oracle said the legal landscape has changed since 1996 and even though APIs could not be copyrighted back then, now they can. I've seen no evidence to back up this extraordinary claim. A few days later in a tacit admission that their extraordinary claims were fibs, they admitted to the judge that they were actually asking him to make "new law". Now Oracle is at it again trying to sneak their unsupported claim through the back door by saying you need a license to do a clean room implementation.

The judge warned the jury to remember that what the lawyers say is not evidence. Why doesn't he take this advice himself? If the judge takes to heart unsupported claims made by the lawyers then aren't we on a collision course for a miscarriage of justice? Perhaps the judge does not believe Oracle but it still seems grossly unfair to let them frame the debate around their concoctions. It feels more like we're in a dirty political campaign than in a court of law.

After is all said and done (I hope) Oracle's lawyers might have a lot of 'splainin' to do. Part of me yearns for a "three fibs and you're out" rule. Maybe judges could start issuing green cards, yellow cards, and red cards to lawyers like referees do in some sports but I can see how that could be abused and cause problems. You don't want to punish people for making honest mistakes. OTOH, if there is no penalty when someone repeatedly games the system then eventually the system will always be gamed.

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

"about forcing FOSS into a very sad and limited corner"
Authored by: Yossarian on Tuesday, April 24 2012 @ 07:01 PM EDT
That "corner" will be the world outside the US.
I don't think that a lawsuit like Oracle can win in Europe,
India or China. A win by Oracle will just move all the FOSS
projects into "the rest of the world".

The US will probably lose plenty of talent, and may be even
lose the lead in software innovation. But the US lawyers
will make plenty of money suing the rest of the world.

It seems like a great business plan, for the lawyers...

[ Reply to This | # ]

under Update 4
Authored by: Anonymous on Tuesday, April 24 2012 @ 07:40 PM EDT
Judge Alsup: Re your question on why lawyers have to ask to approach... old tradition of lawyers leaning over the witness stand, putting their arm around the witness, and shouting in their ear. The witness would say anything to get rid of the lawyer.
Up to and including, "Don't touch me."

If a lawyer did that to me in a courtroom, the bailiff would be subduing us both.

[ Reply to This | # ]

APIs a clear analogy
Authored by: Anonymous on Tuesday, April 24 2012 @ 08:20 PM EDT
APIs are how data are passed between different modules,
programs, classes,
functions, etc. APIs are connectors. On
some side of most electronic devices,
you have connectors.
Some provide power, some computer data. On the other end
of
what plugs into those connectors is another connector. You
can't use any
connector to any connector, otherwise nothing
(good) will happen.

Some
examples of connectors: href="http://en.wikipedia.org/wiki/Electrical_connector">


On the back of your
computer, you typically have USB type A
port, power (which can be different for
different models or
manufacturers), audio, network. Some older computers may
also have parallel port, serial port, IRDA, firewire
(IEEE1394), and sometimes
other proprietary connectors for
various peripherals such as docking stations
(for laptops).

Each connector is a certain size, shape, with a certain
number
of pins arranged in a particular direction and
pattern.

You can do without
many connectors, such as network
(wireless works around it, no network works
around it, and
USB can work around it), but others you cannot do without,
or
if you do, you have little functionality. Power is
essential, you cannot do
without it. USB is essential in
this modern age, as you can't do much without a
USB
connection. On most devices today, an audio connection is
essential for
private listening.

Wireless devices such as bluetooth or wireless networking
are radio connectors, but bluetooth doesn't work with
wireless network, and
vice versa.

[ Reply to This | # ]

Motions of Rule 50
Authored by: jbb on Tuesday, April 24 2012 @ 08:38 PM EDT
When Oracle was done presenting its case Judge Alsup said:
We've reached a milestone. All motions of Rule 50 have been deemed to have been entered at this time.
I looked it up and found:
Rule 50. Judgment as a Matter of Law in a Jury Trial; Related Motion for a New Trial; Conditional Ruling

(a) Judgment as a Matter of Law.

(1) In General. If a party has been fully heard on an issue during a jury trial and the court finds that a reasonable jury would not have a legally sufficient evidentiary basis to find for the party on that issue, the court may:

(A) resolve the issue against the party; and

(B) grant a motion for judgment as a matter of law against the party on a claim or defense that, under the controlling law, can be maintained or defeated only with a favorable finding on that issue.

(2) Motion. A motion for judgment as a matter of law may be made at any time before the case is submitted to the jury. The motion must specify the judgment sought and the law and facts that entitle the movant to the judgment.

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

Google clean roomed Java ..
Authored by: Anonymous on Tuesday, April 24 2012 @ 09:04 PM EDT
"Google developed its Android smartphone software without using Sun's intellectual property and its use of Java in Android was "legally correct," .. Instead, Schmidt said, Google created a "clean room" version of Java that didn't use Sun's protected code. Its engineers invented "a completely different approach" to the way Java worked internally, Schmidt testified." link
-- --

`by a process of elimination we were able to determine you're Bob Arctor`

`I'm Bob Arctor?'

[ Reply to This | # ]

Can you safely use the GPL'ed OpenJDK
Authored by: Anonymous on Tuesday, April 24 2012 @ 09:35 PM EDT
I was wondering if someone can clear up where the below reasoning is wrong.
There HAS to be something I'm missing here as it seems there is no safe way to
do changes to OpenJDK.

1. OpenJDK released under GPL2.
2. You can make changes and if you sign away your copyright to Oracle they can
be accepted this back into OpenJDK so then you could use your changes as part of
OpenJDK.
3. If you make changes and these are not put back into OpenJDK then you have
created a Fork.
4. Your Fork is fine for copyrights because GPL gives you rights to these but
you can't call it Java or use trademarks etc. You also don't get Patent
coverage so Oracle can sue you when and If they feel like it (GPL2 has no patent
clauses right?)
5. You can then apply for a TCK if you pay them some money and then your Fork
can be called Java and has all there Patents and IP covered.
6. Now the field of use restictions you have just accepted with the TCK breaks
GPL so it is void and you have now broken coyprights of anyone who contributed
to OpenJDK.
7. Oracle or anyone else who can claim copyrights to OpenJDK can now sue you for
infringement.

I think you would be quite safe from being sued in most situations but only
because they won't bother. But having your derivative work under a big black
cloud of uncertainty can't be great.

Michael

[ Reply to This | # ]

Didn't use bytecode?
Authored by: Anonymous on Tuesday, April 24 2012 @ 11:47 PM EDT
"Eric Schmidt: We went with a route that didn't use the byte code
approach."

It struck me as odd for such a technical guy to get that fundamentally
wrong. Was it a misquote?

[ Reply to This | # ]

Week 2, Day 7 at the Oracle v. Google Trial ~ pj - Updated 5Xs
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:32 AM EDT
Here's one more explanation of an API declaration/implementation, that
might work well for non-technies.

Consider a bank Ace. To operate your accounts at the bank, you would need
to use a form to make a request. These forms would be

Basic forms
1. Request balance
2. Credit amount $X to accnt C
3. Withdraw amount $X from accnt C
Adv. forms
4. Transfer amount $X to Accnt C
5. Transfer amount $X to Accnt C every month

Internally, bank Ace implements this with people & ledgers.

Bank Ace wants to make this a standard in the entire world, and says this is
called SmoothBanking. If you want to call yourselves a SmoothBank, you have
to pay us. But if you just want your customers to use this, and not call
yourselves a SmoothBank, then you don't need to pay us. But the more
customers we have in the world who use these forms, the better for all of us.
So we're ok with anyone using these forms as such.

Since it's now the 21st century, bank Bar decides to open up, using only
software to do this. They implement the same interface, since they want the
same set of customers to be able to use bank Bar without changing how the
customers work, and since Bank A said they're fine with people using these
forms.

Bank Bar offers the SAME operations, but instead of someone manually
operating with ledgers, they do it with software.

The API interface is like the set of forms used to request an operation. The
form itself does nothing. The implementation is HOW you do an operation,
and in software you could do it in any number of different ways.

Sun said anyone can implement the Java language, but you need to be
compatible and pay for the trademark, if you want to call it Java. Without the
API, the Java language has very few operations in it.

It's like if the bank forms didn't have (#4, #5) "transfer to". All
the customers
who implemented SmoothBanking would find their operations failing, since
they rely on (#4, #5) "transfer to" being available in the API of the
bank.

[ Reply to This | # ]

Oracle v. Google Trial - as math
Authored by: SirHumphrey on Wednesday, April 25 2012 @ 12:38 AM EDT
with Oracle_v_Google {

import credibility from("/dev/null");
import SCOXQ.BK(gamePlan);
import java.awt.notBeAbusedThisWay;
boolean initialDamagesClaim $7.4;
long windedObfuscation;
float aGrandPlan;
double claimOfDamages && double again;
String aBunchOfVagueClaimsTogether;
call witnessToStand();
confuse public claims(with statements.~[ fa(based)ct ]);
Aggravate.Boies(by(Rubin) with truthfulStatements);

}

[ Reply to This | # ]

Trade Secrets?
Authored by: Anonymous on Wednesday, April 25 2012 @ 01:13 AM EDT
Judge Alsup: I've said to both of you about how that works in the
industry, trade secrets…. none of it is in the record as evidence.

Uh, oh... This out to sound familiar. With all the publications out there,
this is going to be an issue for Oracle. How many publications are out
there dealing woth those 37 APIs? No trade secrets there? :)

[ Reply to This | # ]

Week 2, Day 7 at the Oracle v. Google Trial ~ pj - Updated 5Xs
Authored by: Anonymous on Wednesday, April 25 2012 @ 01:54 AM EDT
Another API explanation/analogy, and since we seem to be missing a car analogy:

- API = ignition, steering, acceleration, and brakes
- Most vehicles have a key (or wireless fob), steering wheel,gas pedal, and
brake pedal

You can get in any car and use the ignition to start the vehicle - Turn
clockwise on the steering wheel to turn right. Turn counterclockwise to go
left. - Press on the gas to go. - Press on the brake to stop.

The actual implementation (code) is the interrelationship between the engine,
sensors, computer, hydraulic system, steering mechanism (manual, power,
rack-and-pinion, etc). Every manufacturer does it differently to some extent to
make their solution "better" than the competition. Components are not
interchangeable between manufacturers.

With Oracle's attempt to claim ownership of the API, the equivalent effect would
require each manufacturer to come up with a different way to allow the user to
interact with the vehicle. The term Edsel comes to mind.

[ Reply to This | # ]

"A kind of proprietary alternative to Linux"
Authored by: Anonymous on Wednesday, April 25 2012 @ 02:15 AM EDT

PJ said:

Oracle seems, to me, to be trying to develop a kind of proprietary alternative to Linux. If you license Java, you get extensible software.

This analogy isn't very apt, as it compares a programming language to an operating system. For Oracle, Java is an element in the "platform" that they sell on top of any operating system. And it really isn't Java itself that matters, so much as the way they can make it integrate into their other much more profitable products. I think that Oracle can see that operating systems and databases are becoming commodities, which is why they have been steadily buying up enterprise software vendors which provide complete solutions rather than just infrastructure. "Java" is intended to be the "glue" which makes them work together. Or at least that's what it no doubt looks like on Oracle's Power Point presentations.

Quite frankly, I think that if Oracle wins, it will be more of an own goal rather than any great loss for Free Software. Developers will simply have one more reason for avoiding corporate controlled languages and using truly free and open languages. Regardless of what Java fans may think, Java is not indispensable and quite a few developers would be happy to see the back of it.

The one real problem would be if the "API's can be covered by copyright" theory. That's a can of worms whose effects could reach throughout the software industry in ways that no one can anticipate at this time. However, I have serious doubts about whether that theory will survive the trial.

[ Reply to This | # ]

State of Play
Authored by: sproggit on Wednesday, April 25 2012 @ 02:51 AM EDT
I would like to ask (Mark, PJ, and our legally-trained Groklawrians) if they
would be willing to give us their views on the state of the case to date.

Oracle have presented their evidence on the first part of the case and Google
have had a chance to cross-examine Oracle's witnesses. I wonder how things stand
from the perspective of Judge and Jury.


What I don't know enough about here is the legal bar that Oracle need to
overcome. Their strategy is very clearly one of describing a great deal of smoke
to the jury - as in the adage "You can't have smoke without fire."
What I don't yet see from Oracle is actual, honest-to-goodness fire.


So I'm curious and my question to those legally trained would be: if you were
van Nest, today, how would you feel about the outcome of the trial?

[ Reply to This | # ]

  • State of Play - Authored by: PJ on Wednesday, April 25 2012 @ 07:56 AM EDT
    • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 09:26 AM EDT
      • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 09:46 AM EDT
        • op self-correction. - Authored by: Anonymous on Wednesday, April 25 2012 @ 09:58 AM EDT
        • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 10:59 AM EDT
          • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 11:37 AM EDT
            • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 12:03 PM EDT
              • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 01:36 PM EDT
    • State of Play - Authored by: Kilz on Wednesday, April 25 2012 @ 09:28 AM EDT
Court: Is each API stand-alone or are the APIs a work as a whole?
Authored by: Ian Al on Wednesday, April 25 2012 @ 03:57 AM EDT
Oracle: Which one is worth the most?

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

[ Reply to This | # ]

Of course, I know what a JSR is!
Authored by: Ian Al on Wednesday, April 25 2012 @ 04:05 AM EDT
Just in case you don't:

Q : What is a JSR?

A : A JSR is a "Java Specification Request", the formal vehicle
through which Java technologies are created or updated. A JSR is proposed by
any JCP member, who is then known as the "specification lead" or
"spec lead" for that JSR. The spec lead organizes an "expert
group" and that expert group works to create the specification. The expert
group must also create a "reference implementation" or "RI",
as well as a "technology compatibility kit" or "TCK".

Yes, I did know that!

I really, really did!

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

[ Reply to This | # ]

Mixing and Matching: SSO/Names : Book/Code
Authored by: Anonymous on Wednesday, April 25 2012 @ 07:20 AM EDT
Software source code is a literary work
Apple Vs Franklin +USC 107 101
An API Specification is a literary work
It is a document, it is the documentation, it is a treatise on another
literary work (the source code), it would be nonsense to argue anything else,
and I don't believe anyone is. It is a book about APIs.

An "API" Copyright is therefore a two part copyright in literary work.
It does not matter what an API is or isn't.

The Document <--- Google copied the SSO from this
The Source code <-----Google did not copy this

What do you get when you take the "SSO" of the document?
What do you get when you take the "SSO" of the code?

Can you compare the two?

Can the source code have it's own SSO?
and also be/have an exact copy of the SSO of the document?

(does anyone care, unless you are specifically attempting to stretch the
boundaries of copyright protection?)

What do you get, when you take an unprotected part of the source code (the
Names) and then claim that as the SSO in the document?

What do you get when you take the SSO from a document, and then point at
unprotected elements in source code and say "you can see all the elements
from our SSO, symbol for symbol"?

Do Oracle have copyright in their document, or hundreds of thousands of
copyrights in all the many "works as a whole" that comprise their
document?
(which is not a compilation, so they said anyway)

Aside from a judge who says
"Names are not protected"
"SSO is protected"


(and BTW yer'onor, was that the SSO in the document, or the SSO in the code?
Have you asked if they are equivalent?)

One thing that is for certain, whatever an SSO is and it not an API, and both
sides should be held to task when they say API or Package and they mean
"SSO in the Document"

This is really hurting my head ATM.


Look under here...do you see the pea?

[ Reply to This | # ]

Are google Attorneys making a mess of this?
Authored by: Anonymous on Wednesday, April 25 2012 @ 07:26 AM EDT
From Update 3 on day 6 , the student

"Also you can find in transcripts or notes that Google's attorney argued
that API "package" is a made up term, that it doesn't exist in the
literature and is not used in the field."

Can anyone point to that, or is that just a random assertion, misinterpretation
by the reporter?

If Google did/are arguing that, they need to get new people and damned fast,
"package" is one of the things that is copied symbol for symbol from
the SSO, and is a Java Language keyword.

e.g

#package java.nio;
//comment
class IntBuffer{
// stuff,methods, fields, implementation
}

[ Reply to This | # ]

Oracle relying heavily on Johnson Controls v Phoenix Control?
Authored by: Anonymous on Wednesday, April 25 2012 @ 08:35 AM EDT
I think Oracle are basing their case on the Johnson Control
v Phoenix Control case. However there is considerable
criticism of this case, it appears to be weak, maybe even
erroneous, at any rate very questionable in its application
to API's.

I found one paper:
"Copyright Protection of SSO: Replete with
Internal Deficiencies and Practical Dangers
Cary S. Kappe"

... this addresses quite a few of the issues
that I have seen also especially this quote:

"The SSO of a computer program is conceptually closer to a
system of accounting, which was held not copyrightable in
Baker v. Selden, than to the plot of a novel."

The above is a key point and IMO Johnson Controls missed it.
Another issue is that they were arguing about different
subject matter namely: actual customized source code
(implementation).

Furthermore IMO were the law is as clearly worded as in 17
USC 102(b) the legislative Law takes precedent over case law
(correct me if I am wrong on this please).

Are there any other papers similar to this, which critisize
copyrightability of SSO in computer programs?

[ Reply to This | # ]

An API is ... an offset into a 'binary' file and a tremendous amount of imagination...
Authored by: Anonymous on Wednesday, April 25 2012 @ 10:31 AM EDT

Some People write books about the imaginary things

Some People write source code about the imaginary things

Some People make programs from the source code

Some People write books about the source code

Some People write books about the programs

Some People write source code about the books

An API is none of these things.

It is an offset into memory, some careful filing and a modicum of hope, but
mostly your imagination,

oh, if you squint really hard you might see some electrons shuffling round a
circuit.


(c) A Tired Programmer With a Headache.
Given freely unto the public domain

Spread the word.

[ Reply to This | # ]

Another gaping flaw in the Oracle argument?
Authored by: Anonymous on Wednesday, April 25 2012 @ 11:01 AM EDT
Just struck me.

In order to be certified as being "Java", implementations
need to apply for and take the TCK.

They seem to be saying that in order to be java, the TCK
must run. The TCK tests the API. This is basically admitting
that the APIs are a fundamental and inseparable part of
"Java". They have already admitted that Java is free to use.

Case dismissed.

I'm pretty sure this logic is as well reasoned as anything
Oracle have come up with.

IANAL.


[ Reply to This | # ]

How to "Fix an API" in a tangible medium of expression
Authored by: Anonymous on Wednesday, April 25 2012 @ 11:02 AM EDT
hexdump -C libGL.so.1.2 |head
00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 03 00 03 00 01 00 00 00 70 5a 01 00 34 00 00 00 |........pZ..4...|
.......
00055500 8b 6c 24 28 8d 64 24 2c c3 e8 82 84 00 00 eb ca |.l$(.d$,........|
00055510 8d 64 24 d4 89 5c 24 1c 89 74 24 20 e8 18 06 fc |.d$..$..t$ ....|
00055520 ff 81 c3<--------------This one here!!!

That one, that's glColor4f(float r,float g,float b,float a) that is

Honest.

Try it.


Well may be you better not, actually if you did your program would probably
crash horribly or something else completely unexpected, because I just made that
up.

It's in there somewhere though, I leave it to real programmers to decide what
the actual address is.....


<duck><flamethrower>..

[ Reply to This | # ]

Licensing APIs
Authored by: the_flatlander on Wednesday, April 25 2012 @ 11:54 AM EDT
Someone should mention to Larry that Oracle didn't take a license to the API of
whatever language Oracle RAC is written in. I mean, if I were the vendor for
whatever C compiler his database is likely written in, I'd be preparing for some
additional revenue.

The Flatlander.

[ Reply to This | # ]

an interface example to help understand API
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:07 PM EDT
In computer science, and interface sits at the border between two different
"units", and acts as a gatekeeper. In this sense, a Network Firewall
is an interface from one network into another. It opens up ports to the
external network, and routes the traffic to a port on a server inside the
network for processing. When you are outside the firewall, the only thing that
you can possibly know, is which ports are open, and some firewalls try to hide
that as well. The API for the firewall would be the identities of which ports
are open, and what services they are providing (how to use them). It does not
tell you which servers inside the network are processing the traffic.

In programming circles, the interface is the edge that exists between two
different compiled entities (programs, libraries, OSes, etc). That edge makes
certain services/functions available for use by external entities, but does not
necessarily say what they are or how to use them. The API provides this info.

Compare this to the interface between computer and the user (ie the UI or User
Interface).

[ Reply to This | # ]

Java's relationship to C++
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:37 PM EDT
Oracle's case portrays Java as some wonderfully unique product some engineers
developed on their own, but in reality a lot of it came from C++.

I don't know enough about either language's APIs to know whether this copying
carried over to the APIs but would be surprised if it did not.

Perhaps demonstrating this relationship to the Jury might be helpful in putting
the value of Java in context. And Sun didn't get a license from Bjarne
Stroustrup for copying his language or APIs, did they?

[ Reply to This | # ]

ECMA 234
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:57 PM EDT
There was a group years back, ECMA, that was a standards body.

A group, INCLUDING Sun, helped develop and PASS as an international standard,
ECMA 234.

It was a specification of the Microsoft Windows Application Interface. Several

large,international, computer manufacturers passed the specification. The
intent was that we could 'fix' the API so that companies could be assured the
API
would NOT CHANGE. The fear being that Microsoft could at its own whim,
change the contract.

Microsoft opposed, but at the time, no one, including Sun, thought we could
NOT do what we were doing. Based on the spec, we were able to build a
compatible implementation that ran on Unix computers. The Wine Project is
indirectly a benefactor of this, building a 'clean room' version of the Windows

API.

There are YEARS of precedent for this, including even the Phoenix BIOS. I would

have thought that the years of practice in the field of software development
would have established this as acceptable practice, to be able to claim fair use
to
use an interface to an existing body of code to build a separate, compatible
implementation.

How much will we have to undo if we roll back the clock and now say what we
were doing then is no longer acceptable.

Would Java even be possible?


[ Reply to This | # ]

  • ECMA 234 - Authored by: Anonymous on Wednesday, April 25 2012 @ 01:21 PM EDT
Oracle: move to strike, non-responsive.
Authored by: hAckz0r on Wednesday, April 25 2012 @ 01:01 PM EDT
Interesting that when the witness says something that the Oracle lawyer doesn't like, he takes the opportunity to have it stricken from the record? That was not a "non-response" in my opinion, it was in direct conflict with what the lawyer was trying to get the witness to cooberate.

Eric Schmidt: I see that. Given what I recall, this is not accurate.

Oracle: move to strike, non-responsive.

---
DRM - As a "solution", it solves the wrong problem; As a "technology" its only 'logically' infeasible.

[ Reply to This | # ]

Analogy for APIs: mechanical interfaces
Authored by: Anonymous on Wednesday, April 25 2012 @ 02:08 PM EDT
An analogy for an API would be a mechanical interface standard.

For instance, an IEC 60309 multiphase plug and socket. You have a machine which
needs electrical power. The building has electrical power. The interface between
the two is the plug and socket pair. The standard says, you make something with
this shape and electrical specifications in the device, and that shape and
electrical specifications on the building, and both will work together so the
device has power.

Now transposing this analogy to computer programming:

In the "device" side (your program), you have for instance a method
call:

System.out.println("Hello, world!");

In the "building" side (the framework), you have the called method:

public void println(String text) { /* ...do something which prints to the
screen... */ }

The API is just the definition of how one side calls the other:

public void println(String text);

Together with an explanation of what the semantics of calling that method will
be.

Of course, given that this is a computer, it appears to be much more
complicated. Instead of a single power socket, imagine if you had thousands of
them, in several different shapes, and some of them were plugged in the opposite
direction (callbacks from the framework into the program). But the complexity is
just in the number and variety of small pieces, which allows for endless
combinations; each piece of the API is individually simple.

[ Reply to This | # ]

An INCREDIBLY obvious analogy for APIs
Authored by: xtifr on Wednesday, April 25 2012 @ 03:46 PM EDT

I'm surprised that nobody has come up with this before. The most obvious analogy for an API is a computer language! Because that's basically what an API is--and extension to an existing language. The API adds new words to the language. When people say an API is "just words", that's exactly right! It adds new vocabulary to the language.

When you write a useful library, you need to make it accessible to the people who are writing programs in a given language, so you create an interface between the language and the code in your library. This makes your library essentially become part of the language--programmers can reference it just like they can reference the built-in parts of the language, to write their programs.

The more I think about it, the more this seems like a perfect analogy. You can write a library in one language (like, say, C) and provide APIs for several (say, C, Python, Perl, even Java if you want to sacrifice the portability factor). The library remains the same in all cases--all the API does is add the library to the language! And someone can come along and write a similar library using only their own code, and use your API (your vocabulary) to add their library instead, just as they can re-implement the basic underlying language(s).

I'd love to hear one of Google's lawyers ask the expert: "what is the difference between a language and an API?" We all know that languages aren't copyrightable--although implementations are. Why is it different for extensions--added vocabulary--for the language?

---
Do not meddle in the affairs of Wizards, for it makes them soggy and hard to light.

[ Reply to This | # ]

McNealy
Authored by: TemporalBeing on Wednesday, April 25 2012 @ 04:07 PM EDT
[PJ: You know what's salient to me? Oracle didn't call Scott McNealy. He's still alive. If it were true that Sun was upset at Google's Android when it began, or if he could rebut the testimony from Jonathan Schwartz that Sun was fine with Android, don't you think they would have called him to the stand?]
McNealy gave a nice keynote speech at POSSCON 2012 (YouTube).

While there are some inconsistencies (e.g. to paraphrase - "Sun invented Open Source"), it does give quite a bit of insight into how Sun operated. It also probably bolsters Google's position and likely what Schwartz will testify to.

So it's no wonder why Oracle won't bring McNealy up - he'd probably kill their whole lawsuit.

BTW - if you ever get a chance to listen to him speak, do so - especially now. He was a riot at POSSCON.

[ Reply to This | # ]

Analogy: let's try lawyers :)
Authored by: Anonymous on Wednesday, April 25 2012 @ 05:22 PM EDT
IANAL, I am not a native speaker and I can be way off, but let's try to describe
the lawyer API.


As far as I know, the litigation in USA is a precisely defined process with
strict rules what each party can do and when.

So, let's say, any legal action (all the things lawyers do according to the
rules of litigation process) is a method.

There are fairly low primitive methods like "assert objection on the
testimony", "provide exhibit", "ask question" and there
are highly sophisticated methods like "argue a case in court",
"conduct cross-examination" etc. which themselves will typically rely
(would be built on) on the more primitive methods.

Any actor (attorney, attorney assistant, judge, witness etc) is a class with a
certain set of methods it commands. There could also be inactive (inhuman)
classes without any methods at all (like "exhibit" or
"document" etc) acting as just an information containers.

So, the API would be a catalogue of those actors and their methods. Like the
list of possible moves any of the actors can do in no particular order without
any specifics.

The API documentation would be that list of moves with descriptions what said
move is good for. Sometimes with examples for clarification. But without any
specifics of how exactly those particular movies are done.


So, let's say you want to provide a solution to a certain type of the legal
problem (developer wants to develop the application for a certain purpose).

To do this you think of all the eventualities, actions you can take and lay out
the action plan using the methods defined in said catalogue. Like how to obtain
the relevant information from your client, how to test if the information is
relevant or not, how to set up the case according to that information, how to
accomplish all the needed legal procedures in order to go to court and how to
argue the case at the court, how to decide if appeal or not and so on.
This would be an application, a highly complicated creative work.

For example, the witness examination API for attorney would look like following
(for simplicity I am using some pseudo programming language):

METHOD witness_examination (LIST prepared_questions, witness)

(1) TAKE question out of list of prepared_questions
(2) answer = witness.ASK_QUESTION(question)
(3) result = attorney.EVALUATE_ANSWER(answer)
(4) IF (result = LEGALLY_INADEQATE)
THEN judge.ASSERT_OBJECTION(answer)
ELSE witness_answers.PUT(answer)
(5) repeat from (1) UNTIL done with prepared_questions
(6) judge.ANNOUNCE_EXAMINATION_FINISHED(witness)

END OF METHOD

So, this was the actual implementation. The API would contain only the
following:

CLASS attorney
{
METHOD witness_examination (LIST prepared_questions, witness)
... and many others....
}

So, if you would want to qualify as a fully fledged attorney, you would need to
write the actual implementation for each and every method in the attorney class.
If you skip some methods or name them differently then you would not be able to
practice.

Let's say you want to specialize on certain methods, because you are good in
that particular area. Or you just earn for the living as an assistant providing
some technical services. So you could declare yourself as a LIBRARY which
provides certain PACKAGES. Like for example "divorce litigation" or
"court action" or "witness testimony analysis" or just
trivial everyday routine like "preparation of certain types of the legal
letters".

So others can buy your library and incorporate it into bigger application. Some
libraries come from courts or judges directly just to solve the routine tasks
(included in java), some come from third party (law firms).


Now let's put it into Java VS Android perspective.

Let's say, Java is the USA Court system. Also, there are a lot of existing law
firms practicing under the USA legal system (developers programming in JAVA).

Now let's imagine, Google creates a colony on the moon and calls it Android.
They can't call it USA, as it is not USA (government of the USA refused to form
an federation), but would like to offer some legal system compatible to the USA,
so any american lawyer could fly to the moon and use his/hers existing know-how
to practice a law there.

So, what google did is to take the american catalog of legal actions and create
own courts, judges etc to implement all those methods. So, the american attorney
can fly to the moon and will know how to interact with local judge. And the
local judge will know how to interact with american attorney.

[ Reply to This | # ]

Hopeful that Judge Alsup will Create GOOD Case Law
Authored by: RMAC9.5 on Wednesday, April 25 2012 @ 10:20 PM EDT
I hope Google has a software expert lined up who will help Judge Alsup
understand that Application Program Interfaces are "methods of
operation" and can't be copyrighted because of how they work and have
worked for the last 40+ years!

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