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
no, this is WRONG | 152 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
no, this is WRONG
Authored by: Anonymous on Wednesday, May 30 2012 @ 04:52 PM EDT
I wish you guys would stop saying things that are clearly incorrect. grr.

Connectix reverse-engineered and copied the ABI of the Sony BIOS functions.
They _also_ reverse-engineered and copied the API of those functions. Both
kinds of info were necessary. They didn't create their own new API.

Connectix's VGS was designed to play _already existing games_ that were made for
the Sony PlayStation. VGS did not need to add new APIs, and if they had, none
of the existing games would be able to take advantage of them. What they did
need to do, was discover the non-protected functional details of the APIs of the
Sony BIOS functions, so they could implement those same APIs in their
replacement BIOS.

[ Reply to This | Parent | # ]

  • no, this is WRONG - Authored by: xtifr on Wednesday, May 30 2012 @ 06:03 PM EDT
    • aha - Authored by: Anonymous on Wednesday, May 30 2012 @ 06:22 PM EDT
      • aha - Authored by: xtifr on Wednesday, May 30 2012 @ 08:17 PM EDT
You are forgetting about SSO
Authored by: bugstomper on Thursday, May 31 2012 @ 05:32 PM EDT
I have started writing a rebuttal something like a million times and each time
canceled the post unsatisfied and dug into some more research. I've finally
realized what I've been missing about this.

We have fallen into Oracle's dual trap of using the terminology of
"copying" in an all-inclusive way and conflating the term
"API" with libraries when doing so. What Oracle accused Google of
should not have been called "copying an API". Google implemented a
class library whose "SSO" copied the SSO of Oracle's class library. It
is analogous to someone being sued over writing a book with a young magician
named Harvey going to magic school. The case would not be about whether the
Harry Potter books themselves had been copied, it would be about whether the
particular names and plot elements that were copied from the Harry Potter series
were protected elements of the Harry Potter copyright. I'm not saying that the
laws of software API are the same as the laws about books - Just that the Oracle
v Google case is not about copying of the entire library, it is about whether
duplicating the SSO of the API of a library is part of the copyright protection
of the library.

So now back to Sony v Connectix. Just like Google wrote their own class library
implementation that allowed developers to use software meant for the Java
Platform to be re-used with Android (in this case through partial compatibility
at the source level and sometimes even as jars), Connectix wrote their own
implementation of a library of BIOS routines that allowed software meant for
Sony's platform to be re-used on their VGS platform. Google achieved
compatibility by making their class library have the same API as a portion of
the Java Class Library. Oracle claims that the right to make a library that has
the same API as their own library is something that is protected by copyright
because the "SSO" of their library is a protected element.

Connectix copied even more of the design of the Sony software than Google did of
Oracle's. Their BIOS routines library had to be compatible at the binary level,
which means that their implementation had to use the same ABI that Sony used. In
other words, Connectix had to use the same binary representation for integers
and strings, they had to use the same registers or stack conventions for passing
parameters, etc. On the other hand, it would be a much harder argument to make
that what they did was to "copy" an ABI as opposed to using an ABI.
Any software written for the Sony system would have to use the same binary
conventions to work with it. The whole point of an ABI is that it is the set of
rules that a third-party program has to follow to be binary compatible with the
system. Connectix did not duplicate the ABI, they used the ABI when writing
their own software.

With one exception: Going back to the definition of ABI in wikipedia, it does
include "the system call numbers and how an application should make system
calls to the operating system". This was the one part of the ABI that
Connectix had to implement for themselves, the library of routines that were
implemented in the BIOS in Sony's hardware.

This is directly analogous to what Google did. They produced their own
independent implementation of a library of functions that had to have the same
calling sequences and produce the same results as the existing libraries.

Connectix did not have to use the same name in source code as Sony did. As you
point out Sony could have named the square root function sqrt and Connectix name
it square_root. But that is only because the way the routine is actually called
is through its position in the jump table in the BIOS. If function #10 takes one
argument of type double ad returns the type double value that is its square
root, then the API specification for that function is double
function_10(double).

You argued that API is at source level and so if Sony named the function sqrt
while Connectix named it square_root that Connectix has written a different API.
But that is exactly the point - That like Google, Connectix did not duplicate
the entire library, they wrote their own implementation that copied certain
design elements of the existing library, the SSO of the API of the library. As
Judge Alsup ruled, the names themselves were not protected.

What we have is an ABI. The ABI includes the specification of the system
functions, in this case the BIOS routines that programs in the system can call
by number in the jump table. The specification of the system functions says what
number in the jump table they are called by (rather than a name of the function,
but serves the same purpose), the arguments and their type to pass to them, the
return types, and a description of what each function does. In other words, the
ABI includes the API of the library of system functions.

Connectix used Sony's ABI to write what they did, and they produced their own
implementation of the system library that is specified by the ABI, producing a
library that had the same API as the BIOS routines in Sony's system. If what
Google did can be called copying the SSO of the API of the Java Class Library,
then what Connectix did can be called copying the SSO of the API of the BIOS
routines in the Sony system.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )