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
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.


Contact PJ

Click here to email PJ. You won't find me on Facebook Donate Paypal


User Functions

Username:

Password:

Don't have an account yet? Sign up as a New User

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
Oracle v. Google - More Questions From the Court on Copyright
Friday, March 30 2012 @ 09:25 AM EDT

One thing is for certain: Judge Alsup is not bashful about asking questions or seeking clarification of the copyright issues asserted in this case. In yet another directive to the parties, Judge Alsup seeks further clarification of the copyright issues. (838 [PDF; Text]) Specifically, he asks the following questions:

(1) Under the law, does “selection, arrangement, and structure” arise as an issue only in the context of originality and more specifically, as a way to allow protectability for otherwise noncopyrightable elements in a compilation?

(2) Is “selection, arrangement, and structure” also an exception to the rule that a system or method cannot be copyrighted? That is, if something is a system or method can it still be copyrighted so long as the system or method is the result of selection, arrangement and structure?

(3) If a method or system is copyrightable if the result of selection, arrangement, and structure, won’t that be true for all original methods and systems which by definition involve a structure, arrangement, and selection steps?

(4) For the merger doctrine, at what level of abstraction should we consider the idea/system? At a high level of abstraction (for instance, the concept of APIs generally), there are many ways to express “selection, arrangement, and structure” in creating a particular API. But for the idea/system of the 37 Java APIs, there may be only one way to express the “selection, arrangement, and structure.”

(5) Is it true that the APIs are an integral part of Java? That is, programmers write their own programs using the APIs? If the answer depends on the particular API, please specific which of the 37 asserted are integral.

(6) To what extent are computer languages (not programs, but languages) copyrightable? Patentable?

(7) From Google’s presentation at the hearing, it seems as though Sun/Oracle attempted to claim the structure/hierarchy/arrangement of APIs in the ’855 patent and ’093 patent. Would it be possible to claim the selection of classes for APIs under patent law?

(8) By claiming that Google infringes the API implementation, is Oracle alleging that Google copied something other than the “selection, arrangement, and structure” of APIs, as fixed in the specifications?

And the judge's directive is even more pointed in that he advises the parties:

Please do not hedge. Please take a firm position and then candidly state the extent to which the law supports and contradicts your position.
So what is the good judge after? I suspect he is starting to catch the ever increasing aroma of a copyright claim that has questionable substance.

Let me take a quick crack at a few of these questions. With respect to the first question, "selection, arrangement, and structure," does NOT extend protectability [under copyright] for otherwise noncopyrightable elements in a compilation. It only extends to protection to that compilation as a whole in its specific form. Any of the elements within the compilation that were not protected by copyright at the time of creation of the compilation do not magically become protected by copyright by being included in the compilation.

With respect to question 2, my take is that "selection, arrangement, and structure" (which provide the basis for a claim of copyright in a compilation) does not extend copyright protection to the system or method that may be described in that compilation. It only protects that specific expression describing the system or method. This answer would moot question 3.

In answer to question 4, the merger doctrine must be considered at each level of abstraction. The doctrine may knock out elements at the deepest level of abstraction and yet leave intact the compilation as a whole.

I will leave 5 to those of you with deeper technical knowledge than I possess (which would likely encompass just about all of you). Question 6 strikes me as fairly straightforward. In their entirety certainly a computer language is capable of copyright protection. As for patent protection, not likely. I won't attempt an answer on 7 and 8.

How the parties answer these questions (firmly and with candor) will be interesting.


**************

Docket

03/29/2012 - 838 - REVISION TO DUE DATE AND REQUEST FOR FURTHER BRIEFING. Signed by Judge Alsup on March 29, 2012. (whalc1, COURT STAFF) (Filed on 3/29/2012) (Entered: 03/29/2012)

03/29/2012 - 839 - EXHIBITS re 783 Declaration in Support, of Oracle's motion to amend 205 patent infringement contentions and supplement expert reports (Exhibit B) filed byOracle America, Inc.. (Related document(s) 783 ) (Peters, Marc) (Filed on 3/29/2012) (Entered: 03/29/2012)

03/29/2012 - 840 - Witness List by Google Inc. (Supplemental) Trial Witness Disclosure Pursuant to Fed. R. Civ. P. 26(a)(3). (Van Nest, Robert) (Filed on 3/29/2012) (Entered: 03/29/2012)


**************

Documents

838

IN THE UNITED STATES DISTRICT COURT
FOR THE NORTHERN DISTRICT OF CALIFORNIA

ORACLE AMERICA, INC.,
Plaintiff,
v.
GOOGLE INC.,
Defendant.

No. C 10-03561 WHA

REVISION TO DUE DATE
AND REQUEST FOR
FURTHER BRIEFING

The due date for the post-hearing briefs is postponed to NOON ON TUESDAY, APRIL 3. Please address the following questions in addition to the items already requested.

(1) Under the law, does “selection, arrangement, and structure” arise as an issue only in the context of originality and more specifically, as a way to allow protectability for otherwise noncopyrightable elements in a compilation?

(2) Is “selection, arrangement, and structure” also an exception to the rule that a system or method cannot be copyrighted? That is, if something is a system or method can it still be copyrighted so long as the system or method is the result of selection, arrangement and structure?

(3) If a method or system is copyrightable if the result of selection, arrangement, and structure, won’t that be true for all original methods and systems which by definition involve a structure, arrangement, and selection steps?

(4) For the merger doctrine, at what level of abstraction should we consider the idea/system? At a high level of abstraction (for instance, the concept of APIs generally), there are many ways to express “selection, arrangement, and structure” in creating a particular API. But for the idea/system of the 37 Java APIs, there may be only one way to express the “selection, arrangement, and structure.”


(5) Is it true that the APIs are an integral part of Java? That is, programmers write their own programs using the APIs? If the answer depends on the particular API, please specific which of the 37 asserted are integral.

(6) To what extent are computer languages (not programs, but languages) copyrightable? Patentable?

(7) From Google’s presentation at the hearing, it seems as though Sun/Oracle attempted to claim the structure/hierarchy/arrangement of APIs in the ’855 patent and ’093 patent. Would it be possible to claim the selection of classes for APIs under patent law?

(8) By claiming that Google infringes the API implementation, is Oracle alleging that Google copied something other than the “selection, arrangement, and structure” of APIs, as fixed in the specifications?

Please do not hedge. Please take a firm position and then candidly state the extent to which the law supports and contradicts your position. Please block quote the full paragraph of all relevant passages in your cites, italicizing the language of importance without using ellipses. Each side may have up to 20 pages. Complete candor is requested, for the Court needs the genuine assistance of the excellent counsel in this case. By THURSDAY AT NOON, each side may file replies up to ten pages.

IT IS SO ORDERED.

Dated: March 29, 2012.

/s/William Alsup
WILLIAM ALSUP
UNITED STATES DISTRICT JUDGE

2


840

UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION

ORACLE AMERICA, INC.,
Plaintiff,
v.
GOOGLE INC.,
Defendant.

Case No. 3:10-CV-03561-WHA

NOTICE RE GOOGLE'S FIRST
SUPPLEMENTAL TRIAL WITNESS
DISCLOSURE PURSUANT TO FED. R.
CIV. P. 26(a)(3)

Judge: Hon. William Alsup
Dept.: courtroom 8, 19th Floor


PLEASE TAKE NOTICE that Google served the attached First Supplemental Trial Witness Disclosure Pursuant to Fed. R. Civ. P. 26(a)(3) on February 23, 2012. As stated in the Supplemental Disclosure, each of the witnesses disclosed therein was identified in the February 3, 2012 Expert Report of Dr. Iain M. Cockburn as conducting review and analysis of patents in connection with Dr. Cockburn's third expert report. Each of the individuals was deposed in February 2012 pursuant to a Court order authorizing the depositions.

Dated: March 29, 2012

KEKER & VAN NEST LLP

/s/ Robert A. Van Nest
By: ROBERT A. VAN NEST

Attorneys for Defendant
GOOGLE INC.

1

UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION

ORACLE AMERICA, INC.,
Plaintiff,
v.
GOOGLE INC.,
Defendant.

Case No. 3:10-CV-03561-WHA

GOOGLE'S FIRST SUPPLEMENTAL
TRIAL WITNESS DISCLOSURE
PURSUANT TO FED. R. CIV. P. 26(a)(3)

Judge: Hon. William Alsup
Dept.: courtroom 8, 19th Floor


Pursuant to Fed. R. Civ. P. 26(a)(3), (e) and the Court's Guidelines for Trial and Final Pretrial Conference in Civil Jury Cases, Google supplements its October 7, 2011 lit of witnesses for trial of this matter. Each of the individuals disclosed in this Supplemental Disclosure was identified in the February 3, 2012 Expert Report of Dr. Iain M. Cockburn as conducting review and analysis of patents in connection with Dr. Cockburn's third expert report. Each of the individuals was deposed in February 2012 pursuant to a Court order authorizing the depositions.

Google may call each of these witnesses, all of whom are current Oracle employees. As required by the Court's Guidelines, Google has identified non-cumulative testimony in the summaries below by italicizing that testimony.1

NameManner of
Presentation
Substance of Trial Testimony
Kessler, PeterLive or by
deposition
Mr. Kessler may testify concerning Oracle's alleged conception, reduction to practice, and use of U.S. Patent Nos. 6,910,205 and RE38,104, including but not limited to in the JDK; Oracle's benchmarking tests and related Android and Java source code modifications; work he performed in connection with Dr. Iain Cockburn's third expert report; and issues related to Java or Android technology. He may also testify concerning documents on the exhibit list that are either authored by him or were sent to him.
Plummer,
Christopher
Live or by
deposition
Mr. Plummer is an Oracle engineer who may testify about work he performed in connection with Dr. Iain Cockburn's third expert report and issues related to Java or Android technology. He may also testify concerning documents on the exhibit list that are either authored by him or were sent to him
Reinhold,
Mark
Live or by
deposition
Mr. Reinhold may testify about Sun's practices and policies relating to alleged Java intellectual property rights; Sun's communications with Apache and/or communications concerning Apache Harmony; Sun's policies and practices with respect to licensing and open sourcing Java-related software and platforms; the Java Community Process; alleged "fragmentation" or "forking"; work he performed in connection with Dr. Iain Cockburn's third expert report; and issues related to Java or Android technology. He may also testify concerning documents on the exhibit list that are either authored by or were sent to him.

________________________________________

1 Peter Kessler and Mark Reinhold were disclosed in Google's October 7, 2011 witness list.

1


NameManner of
Presentation
Substance of Trial Testimony
Rose, John R.Live or by
deposition
Mr. Rose is an Oracle engineer who may testify about work he performed in connection with Dr. Iain Cockburn's third expert report and issues related to Java or Android technology. He may also testify concerning documents on the exhibit list that are either authored by him or were sent to him.
Wong,
Hinkmond
Live or by
deposition
Mr. Wong is an Oracle engineer who may testify aboutwork he performed in connection with Dr. Iain Cockburn's third expert report and issues related to Java or Android technology. He may also testify concerning documents on the exhibit list that are either authored by him or were sent to him.

In addition to the witnesses identified above and in Google's October 7, 2011 disclosure, Google may also call witnesses for rebuttal and may call witnesses identified on Oracle's witness list. Google will counter-designate testimony of various witnesses designated by Oracle pursuant to Judge Alsup's Guidelines for Trial and Final Pretrial Conference in Civil Jury Cases. Should Oracle introduce any deposition testimony it has designated for witnesses not at trial, Google will, in rebuttal, introduce the testimony they have counter-designated.

Dated: February 23, 2012

KEKER & VAN NEST LLP

/s/ Robert A. Van Nest
By: ROBERT A. VAN NEST

Attorneys for Defendant GOOGLE INC.

2


  


Oracle v. Google - More Questions From the Court on Copyright | 223 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections here
Authored by: feldegast on Friday, March 30 2012 @ 09:32 AM EDT
So they can be fixed

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

[ Reply to This | # ]

News picks
Authored by: feldegast on Friday, March 30 2012 @ 09:33 AM EDT
Please make links clickable

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

[ Reply to This | # ]

Off topic
Authored by: feldegast on Friday, March 30 2012 @ 09:34 AM EDT
Please make links clickable

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

[ Reply to This | # ]

Comes transcribing
Authored by: feldegast on Friday, March 30 2012 @ 09:36 AM EDT
Thank you for your support, Post text here, documents can be found on the booking page at www.groklaw.net/ staticpages/index.php? page=ComesBooking

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

[ Reply to This | # ]

Questions, questions, questions
Authored by: maroberts on Friday, March 30 2012 @ 09:37 AM EDT
One thing I do think in his favour is that he is willing to admit what he
doesn't know or is in doubt about, and then gives invitations to both sides to
clarify the matter for him. I also guess he wants to streamline the case by
clearing things in his own mind before the jury trial. I wonder how crucial
these Q&A sessions will be in the coming weeks??

[ Reply to This | # ]

Programming Languages
Authored by: Anonymous on Friday, March 30 2012 @ 09:59 AM EDT

Languages are not protectable by copyrighted. A programming language is an abstract framework. The language allows any program that meets the requirements of the framework to be compiled by the compiler (or interpreted by the interpreter.)

The language specification itself (ie: the yacc and lex compilation rules) can be copyrighted. However, these can easily be recreated by another compiler author to do something similar.

It is very difficult to protect a computer language via copyright. This matches the human experience. No one is allowed to copyright spoken languages either. A company cannot copyright English, French, or Italian either.

[ Reply to This | # ]

Oracle v. Google - More Questions From the Court on Copyright
Authored by: Anonymous on Friday, March 30 2012 @ 10:03 AM EDT
If I am not mistaken (I am a Java programmer) the only thing
you can do without using the APIs is converting electricity
into heat.

If you want to display / output anything (or get input), you
must use the Java APIs.

[ Reply to This | # ]

Copyrighted programming language?
Authored by: hardmath on Friday, March 30 2012 @ 10:09 AM EDT

Of course the specification of a programming language can and ordinarily would be copyrighted, assuming the goal of a standard definition is in view.

But presumably the Judge has something more restrictive in mind, a copyright that allows the programming language "owner" to license the use of the language for programming (and by extension to treat those programs as derivative works).

The first thing to be said is that this simply isn't done. It would be like selling write-only memory as a product. Who would use it?

The closest I can think of to this arrangement is where a vendor treats data formats as proprietary, and thus seeks to proscribe its customers from editing or analyzing the data independently, or at least from doing so without incurring additional license fees. For example I dealt with a vendor of telephone call logging equipment at an international agency, who argued that the phone call data was in a proprietary format and the international agency could not lawfully ask me to write new reporting software that would present the necessary information according to customer requirements.

Such a scheme depends on and reinforces vendor lock-in. It has rarely gotten much of a foothold in the programming world because general purpose programming languages can do everything a specialized but proprietary language might do.

At its inception Verilog HDL, a hardware description language rather than a software programming language, was proprietary and copyrighted. Due to competition in the marketplace, Verilog was submitted for open standardization after a decade of life in the proprietary lane.

---
Do the arithmetic or be doomed to talk nonsense. -- John McCarthy (1927-2011)

[ Reply to This | # ]

Language Copyrightability
Authored by: Anonymous on Friday, March 30 2012 @ 10:12 AM EDT
What would it mean for a language to be protected by
copyright? What specific thing can you not copy?

There is the language specification - that is clearly
protected by copyright. But once you have a copy of the
specification (you bought it, or someone gave it you,
whatever) then you're probably not very interested in
creating more copies.

There is code written in the language - clearly not a case
of the language falling under copyright, though the code
itself will be copyrightable by whoever wrote it. But when
I write code in C, Dennis Ritchie does not own the copyright
in it.

There is the compiler or interpreter used to transform the
language into machine code instructions. While one specific
compiler falls under copyright, pretty clearly independently
implemented compilers don't infringe. GCC and MSVC both
compile C
code without there being problems of copyright between them.

So what is left to copyright? A language has two parts,
syntax and semantics - roughly answering the two questions,
"Does this piece of text mean anything at all?" and "What
does this piece of text mean?" There is nothing that has to
be literally copied to make use of either of these. It's
often tempting to see the 'standard' API that goes with a
language as part of the language itself, but almost always
the association between a language and its standard library
is by convention, not necessity.

This is why, IIRC, Sun never attempted to 'copyright' Java,
but rather protected the Java trademark and asserted
copyright over the Java compatibility test kit.

OTOH there are lots of possible things about languages that
might deserve patent protection IMO (not that current patent
law necessarily provides it). Generics, garbage collection,
closures, first-class function objects, exception handling,
threading, lambda expressions and many more are all non-
obvious language features that are significant advances of
the art of computer science that have gradually been adopted
by one language after another as they gain popularity. They
are not the sort of obvious incremental advance that anyone
writing a particular type of software will naturally come up
with but are innovations that fundamentally change the way a
language works. To a large degree we are simply fortunate
that the people who developed these ideas didn't see a need
to patent them.

[ Reply to This | # ]

ManOMan, I really want to buy this guy a beer
Authored by: Anonymous on Friday, March 30 2012 @ 10:43 AM EDT

You can blind/confuse people only for so long with the kind of skullduggery that
has got us here in the first place.

Let's just hope that Judge A doesn't go down the route of the PTO and decide to
try and somehow reconcile the division of the indivisible.


my view (IANAL)

1) No, your *selection* can be unique enough to obtain
copyright protection in and of itself as a 'unique' part of the whole, that does
not change the copyright protection in the underlying facts of your selection

2) No, it is the selection and arrangement that's gets copyright protection, not
the elements contained within the selection and arrangement

3) The mistake is conflating Selection and arrangement and structure, with the
API versus the API Specification. SAS applies to your work as a whole, not the
pile of facts which you are describing in your SAS.

4) I don't understand (IANAL)

5) NO (I can write Java programs without any of those APIS)

6) According to the EU, not at all.
http://www.physorg.com/news/2011-11-language-copyrighted-eu-court.html
Of course you could decide otherwise, then maybe American would be a massive
language copyright infringement. and all your $ are belong to us (except those
which you owe to the Chinese ;o)

7) It seems you can claim anything under patent. It's actual
validity as a patent remains open to question, despite it's issuance, but
that's a different argument.
e
8) They *did* infringe the implementation, look we've got 8/12/11 files and
they admitted it, and here's a copy of our registration certificate to prove
it..



IANAL (not IAN AL)



[ Reply to This | # ]

Which are the 37 APIs?
Authored by: hardmath on Friday, March 30 2012 @ 11:02 AM EDT

Who are the 39 Steps?

Apparently there was some horsing around at the outset with the number of APIs Oracle claimed as to copyright infringement. According to this Groklaw article, a figure of 37 APIs was arrived at by Oracle in its supplemental interrogatory responses of July 29, 2011, narrowing the scope from previous claims about 48 or 51 Java APIs, thus occasioning revisions to Google's expert Owen Astrachan's report ( PDF), which had been submitted on that same date.

Oracle had removed claims about 11 packages (11 = 48-37), namely java.math and ten more that began java.xml.

A list of 37 accused Java APIs (packages beginning with either java or javax) are found in this Oracle Exhibit C submitted on Aug. 1, 2011.

1. java.awt.font

2. java.beans

3. java.io

4. java.lang

5. java.lang.annotation

6. java.lang.ref

7. java.lang.reflect

8. java.net

9. java.nio

10. java.nio.channels

11. java.nio.channels.spi

12. java.nio.charset

13. java.nio.charset.spi

14. java.security

15. java.security.acl

16. java.security.cert

17. java.security.interfaces

18. java.security.spec

19. java.sql

20. java.text

21. java.util

22. java.util.jar

23. java.util.logging

24. java.util.prefs

25. java.util.regex

26. java.util.zip

27. javax.crypto

28. javax.crypto.interfaces

29. javax.crypto.spec

30. javax.net

31. javax.net.ssl

32. javax.security.auth

33. javax.security.auth.callback

34. javax.security.auth.login

35. javax.security.auth.x500

36. javax.security.cert

37. javax.sql

---
Do the arithmetic or be doomed to talk nonsense. -- John McCarthy (1927-2011)

[ Reply to This | # ]

#5 "integral" - strange choice of words
Authored by: Anonymous on Friday, March 30 2012 @ 11:08 AM EDT
"Integral" means either "inseparable" or "included within the whole"; I think the judge means the former. I suspect that what's in the back of his mind is that Oracle may be making a lot of noise over some de minimus alleged infringments. That shouldn't matter much on the legal merits, but this judge has already spent a lot of time on questions of damages, and he may be wondering whether Oracle's numbers are just a wee bit on the high side.

The odd bit is that "Java" means whatever Oracle wants it to mean - it's their trademark. So it's hard for anybody else to answer the question of which APIs are currently "integral". You can certainly look at what Oracle has said in the past about which APIs are "part of Java" - all of the ones at issue in this case, I'll bet - but that doesn't tell you which ones are "integral".

I haven't been following closely enough to know which APIs Oracle is asserting here - there's a big number of APIs (37?). Some may be applicable only in specialized domains and would be relatively easy to replace with a different library. Any program written to use the alternative library would still be written in the Java language - all the syntax would be identical, only the names of a few domain-specific functions would change. For example, you can easily imagine Java without J2EE (just go back in time...). Whether J2EE is crucial to you depends on whether you work in the enterprise domain and how well you know the various alternatives.

From a programmer's perspective, syntax is integral to a language, most APIs are not. A few are: it's hard to imagine C without printf() and malloc(), or Perl without split(). I tend to think of those things as a single API - "the standard library." In the case of Java, the trademark requires a whole bunch of libraries, some of which I'd argue aren't crucial. I can't remember my Java package names at the moment, but generally I'd say that the system stuff is crucial (file handling, command-line IO, IPC) as are basic programming utilities (regular expressions, sorting, data collections like vectors), and in Java's case I'd include graphics. Those are implemented in maybe a dozen packages. (Again, I'm not sure how Oracle is defining "API"). I don't think I can get to 37. But the point is, those are the ones that *I* consider crucial. You'll get lots of consensus on some of these functions being crucial, but rarely will two programmers come up with the same list of what's "crucial".

[ Reply to This | # ]

Groklaw 2.0 and question 5
Authored by: stegu on Friday, March 30 2012 @ 11:08 AM EDT
Mark, thanks for taking a stab at answering some
of the questions yourself. I like the fact that
Groklaw now has a lawyer on board. And with PJ
still lurking around, I don't have to decide which
one I like better. Groklaw 2.0 is simply upgraded.

The question whether the 37 APIs are essential to
Java is put in a strange way by the judge.
Yes, programmers writing applications write
their own programs using the APIs, that is the
whole point of an API ("application programming
interface"). However, that does not imply that
the APIs are essential to Java. In this case,
some of them are, and Sun said so in their Java
specification.

The answer is still not simple, because "Java"
is taken to mean many different things depending
on what Oracle decide it to mean, much like the
Cheshire Cat's nonsensical statements that tie
language in a knot and defy logic.

All the Java APIs are an integral part of Java
as a *platform*, the package Sun put its brand
name on. This one common meaning of "Java".

However, contrary to most other programming
languages, some APIs are in part essential also
to Java as a *language*. Some parts of java.lang
are very tightly intertwined with fundamental
constructs in Java programs, and no useful
program in the Java language could be written
without at least some other API to communicate
with the outside world, like java.io or java.net.
Sun explicitly said that the Java APIs are
essential and integral to the programming
language in their specification of the language,
and this is one of the things that set Java
apart from other programming languages.
It would be very difficult for Oracle to take
that back now, but I'd like to see them try.

[ Reply to This | # ]

Java without APIs ...
Authored by: nsomos on Friday, March 30 2012 @ 11:12 AM EDT
Java without APIs is like a car without its wheels and tires.
Sure, there might be some things you can still do with it,
but it is totally unsuitable for its intended purpose
WITHOUT the wheels and tires attached.

[ Reply to This | # ]

The Honorable Judge Alsup takes a knife to Oracle's Patent Case
Authored by: Anonymous on Friday, March 30 2012 @ 11:28 AM EDT
The question put about copyright of the 37 APIs is like giving
a curving knife ,a pot and stuffing to a Turkey and asking the
turkey to prepare itself for thanksgiving dinner.

The last sentence is the giving of thanks before the meal.

Complete candor is requested, for the Court needs the
genuine assistance of the excellent counsel(BSF) in this case.

[ Reply to This | # ]

I'm not sure I understand the question.
Authored by: Ian Al on Friday, March 30 2012 @ 12:10 PM EDT
Is it true that the APIs are an integral part of Java? That is, programmers write their own programs using the APIs? If the answer depends on the particular API, please specific which of the 37 asserted are integral.
My first response was 'don't be silly, the only reason for providing the 160+ core API packages was to allow programmers to write their own programs.

I think the correct answer is that the entire 160+ are used by programmers to write their own programs which run on the Java Runtime Environment. Not all 160+ are required for every programmers program.

The 37 asserted APIs are integral to programmers writing programs in the Java language to run on the Android/Dalvik Runtime Environment. However, additional packages unique to Android are also necessary. Again, not every API is used with every program.

In both cases, without both the API specification and the API implementation code, programmers can write programs in Java, but there is no way of executing the program on the relevant run-time environment.

I am assuming that Google only 'copied' the elements from the 37 packages to allow programmers to program in Java for Dalvik. There seems to be no other reason for choosing elements from the 37.

Do you think I have understood what the judge was driving at, or has he another angle on the APIs?

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

[ Reply to This | # ]

Oracle v. Google - More Questions From the Court on Copyright
Authored by: Kevin on Friday, March 30 2012 @ 12:48 PM EDT
Which API's are integral to the language? An interesting question. If we take
the narrowest interpretation, "which API's are such that, if they were
removed, fundamental statements in the language cannot be expressed?" we
find a few API's that truly are integral.

First, essentially all of 'java.lang' is explicitly called out in the language
specification. It represents the interfaces of classes, objects, enumerations,
boxed types, and so on: these simply must be provided for programs written in
the language to function - even if the programmer has not called for them
explicitly. When a programmer writes:

enum Color {RED, GREEN, BLUE}
for (Color c: Color.values()) { ... }

the machinery of java.lang.Iterable comes into play, as does java.util.EnumSet.

And java.util.EnumSet is itself quite a complex interface; it inherits from
AbstractSet (and thence AbstractCollection and Object). It must implement
Serializable, Cloneable, Iterable, Collection and Set. Already, we have a huge
piece of java.util - absolutely required for that simple 'for' statement.

Moreover, Serializable starts dragging in things like java.io.ObjectOutputStream
and java.io.ObjectInputStream - which have an equally complex web of
dependencies, covering a huge swath of java.io.

Other language features also touch many of the API's that Oracle asserts are
proprietary. Essentially, if Oracle's assertion that copyright extends to
implementations of these API's is allowed to stand, the API copyright becomes a
95-year patent on the language itself -- because the language cannot be
implemented without the core API's.

---
73 de ke9tv/2, Kevin (P.S. My surname is not McBride!)

[ Reply to This | # ]

Copyright on Computer Languages
Authored by: ausage on Friday, March 30 2012 @ 01:46 PM EDT
Question 6 strikes me as fairly straightforward. In their entirety certainly a computer language is capable of copyright protection. As for patent protection, not likely.

I believe that while the documents that detail the specification for a computer language are protected by copyright, the language itself, like natural languages, is not a suitable for copyright protection. If I remember correctly, this was established in the Lotus 123 vs Aston-Tate Visicalc litigation, where Lotus claimed that its user interface was effectively a "language" and was protected by its copyright. I seem to remember that the court ruled that while to total arrangement and structure of the interface (i.e. the expression) was protected, the individual parts (the "vocabulary") were not and could be used and rearranged by others.

In light of the most recently Supreme Court rulings, Bilski and Mayo, I would presume that any hopes for patent protection are remote at best. On the other hand, Adobe made a great deal of money with Postscript where the original patent protection of the language prevented others from creating alternative implementations for many years.

[ Reply to This | # ]

Oracle v. Google - More Questions From the Court on Copyright
Authored by: Anonymous on Friday, March 30 2012 @ 01:48 PM EDT
"(5) Is it true that the APIs are an integral part of Java?
That is, programmers write their own programs using the
APIs? If the answer depends on the particular API, please
specific which of the 37 asserted are integral."

It is true that the Java APIs are an integral part of Java
in that as it is currently designed, it cannot function
without it. However, this does not mean that an alternate
API would not function equivalently, or possibly better
(more efficiently, for example).

Programs written in Java do not (directly) use the Java
APIs, however, programs that communicate with the Java
program, do, and similarly, a Java clone can and often does
use the same APIs for compatibility.

If alternate APIs are used, an external program cannot be
guaranteed the ability to communicate with a Java program.

Think of a Java program as a normal program on your
computer, and the Java Virtual Machine as your OS. If a
program outside of your computer needs to communicate with
your program, it can do so by the ethernet "API" or the USB
"API". If a different computer/program wishes to communicate
with your program, it cannot use the USB "API" protocol over
ethernet, otherwise it will never get any usable response.
It cannot use it's own made up API, for similar reasons.
Communicating on the USB port, when the Java program isn't
watching for this nonstandard behavior will not result in
any useful communication.

Additionally, you have mentioned one lawyer who is very good
at explaining technical terms can illustrate an API. He used
the idea of a driver/car interface consisting of the
steering wheel, gas pedal, brake, and for some versions, a
clutch. You can move these around, and the car will
function, but people will push the clutch or gas rather than
the brake, or will miss the brake due to the changed
position(s). This illustration fails because the driver
uses the API, while the Java program does not. We could be
more accurate with the turn signal, brake lights, running
lights as they interface other drivers. If the turn signal
light is lit red where the brake lights are, then when the
person goes to change lanes, the driver behind them will
think they are braking (and a light is burned out), and
change lanes, possible leading to an accident.

[ Reply to This | # ]

For purposes of merger and scenes a faire it is most instructive
Authored by: Anonymous on Friday, March 30 2012 @ 01:50 PM EDT
For purposes of merger and scenes a faire it is most instructive to look at the
Java language as it is being taught in university courses and textbooks. Looking
at these it is easy to see that the APIs in question are now considered as
inseparable. There are many courses that claim they "teach the Java
programming language" but you won't find one that doesn't include parts of
these APIs. Oracles interpretation of "Java language" vs the APIs is
inconsistent with that of everybody else.

The APIs in question, if they were ever copyrightable, have merged with the idea
"Java". They are expected in a Java implementation. They are like the
many stock elements in action movies. At some point these APIs may have existed
as something separate and novel. But today they don't.

[ Reply to This | # ]

Appeal this at your peril
Authored by: mexaly on Friday, March 30 2012 @ 02:12 PM EDT
"I don't want you coming back with any of that balderdash you used to use
to hoodwink the circuit in some previous escapades."

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

when is the time for good manners over?
Authored by: Anonymous on Friday, March 30 2012 @ 02:44 PM EDT
"Please do not hedge." "Please..." "Please..."

The Court's time and taxpayers' money have been wasted in a bad way here.
Everybody can see that Oracle is cutting off its nose to spite its own face,
sticking with the case to the bitter end, no matter the cost.

I agree with Churchill that "when you're getting ready to kill a man, it
costs you nothing to be courteous." However, that quote is about formal
declarations of war. In this case, it was Oracle that declared war, and is now
dealing with the skepticism of a judge who won't just roll over at their
command. "But... but... we're Oracle! We're the most popular database on
the planet! How dare you question our assertions!" The arrogance should be
shocking... but it isn't.

The entire Oracle chain of command, from the lawyers clear up to Larry Ellison,
should be subpoenaed by the court to appear in person and explain this frivolous
suit. And no "please" about it.

[ Reply to This | # ]

In Europe Computer Languages cannot be copyrighted
Authored by: Anonymous on Friday, March 30 2012 @ 02:53 PM EDT
see the details on this from the link here, where the Advocate General is saying Computer Languages cannot be copyrighted. While the full court has not ruled on this, and may go against the initial ruling, this will not be ruled until sometime in 2012. Will this have some impact on a US case?

[ Reply to This | # ]

I think the Court is catching on that he is being asked to make new law.
Authored by: rsteinmetz70112 on Friday, March 30 2012 @ 03:36 PM EDT
I believe that the Judges has caught on that he is being asked to make new law
here and that no one has ventured as far into this area as Oracle wants to.

The Oracle likes to make analogies to literature and the arrangement of chapters
in a complex book.

Google likes to make analogies to the arrangement of a dictionary.

Neither is really entirely on point.

The structure of a computer language is functional but the designer of a
language has a lot more creative leeway in the arrangement than the author of
dictionary.

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

Oracle v. Google - More Questions From the Court on Copyright
Authored by: Anonymous on Friday, March 30 2012 @ 04:27 PM EDT
Thinking about it more, I think that the judge sees a duck.
Oracle came to court claiming that they had a turkey that
laid golden eggs and Google is trying to steal it. Google
said its a duck. The judge is now seeing that it walks
like a duck, quacks like a duck, and even swims like a
duck. But, for some reason, it does not look quite like
a duck. Google keeps saying its a duck. Oracle says its
a turkey. The more the judge keeps looking at it he begins
to see coverings on the feet and glued on feathers and head
dress, and indeed it just may be a duck. I think the judge
wants to see if it will fly because he knows turkeys don't
fly like a duck.

[ Reply to This | # ]

A language (computer or otherwise) is NOT copyrightable
Authored by: Anonymous on Friday, March 30 2012 @ 05:11 PM EDT
Formally, a language specification is a finite set of symbols and a grammar: a
set of rules for telling you how stringing the symbols together is legal or not
legal.

Formally, different sets of rules are equivalent if exactly the same series of
symbols are classified as legal or illegal.

Formally, a language specification is equivalent to a set of symbols and a
second set (possibly infinite) of all possible legal sequences of symbols. As
this is potentially infinite, it belongs solely to the realm of ideas and
mathematical entities and never to the realm of the copyrightable fixed
expressions of creativity.

Therefore, a language specification has a large idea content and large amounts
of a language specification are not copyrightable. For example, in enumerating
the symbols there will be limited grounds to introduce creativity as to how one
orders a list of symbols which could be listed in any order and still represent
the same set.

Naturally, any useful human guide to how to use and apply the language is going
to have lots of creating expression, but that's confusing a English textbook for
the English language itself.

-Richard Penner

[ Reply to This | # ]

language is a set of facts
Authored by: kawabago on Friday, March 30 2012 @ 06:31 PM EDT
Language is a set of facts. Each word in a language has a
specific meaning that everyone must know. Syntax are rules
you must follow. You cannot copyright individual words so
you cannot copyright the words of a language. You can create
a language by describing it's words and syntax but you can't
stop people from then using your language. Only the
expression describing the words is protectable, not the
words or ideas themselves. For example the new word muggle
created by JK Rowling means non-magic folk and now anyone
can use that word, it is a fair use. JK Rowling did win a
case where someone created a lexicon of all the terms she
used in her books. It was held that use of all the created
words in her works would violate her copyright. I think
single words would be considered fair use.

[ Reply to This | # ]

This programmer's take on question 5
Authored by: bugstomper on Friday, March 30 2012 @ 08:01 PM EDT
"Is it true that the APIs are an integral part of Java? That is,
programmers write their own programs using the APIs? If the answer depends on
the particular API, please specific which of the 37 asserted are
integral."

Notice that Judge Alsup explains what he means by "integral" a bit
differently than what some people here seem to assume by the word. His
"that is" rephrasing is not asking whether the APIs are
"integral" in the sense of being an essential, and inseparable part of
the Java language. He asks whether programmers use the APIs the same way that
they use the Java language, that is, they write their own programs and express
those programs in the Java language and the APIs.

That is a really astute question. Let's take the case of a hypothetical third
party Java class library written for astrophysicists to facilitate the writing
of simulations related to black holes. The authors of this class library have
put a lot of work into coming up with useful abstractions that provide a general
framework that supports several types of programs that a computational
astrophysicist may want to write. The selection of classes, their methods, the
inheritance hierarchy that relates them, and so on, is the concrete expression
of creative ideas. Not being a lawyer I could not say whether that “selection,
arrangement, and structure” is copyrightable, but I could see the argument for
it. If it is copyrightable, then the authors of this class library for
astrophysicists would have protection against someone else producing a clean
room implementation of a class library with identical packages, classes and
methods.

If that hypothetical library's API is not copyrightable because of “selection,
arrangement, and structure” then other questions about the 37 Java APIs that
Google copied are moot. But let's assume that the package and class structure
and selection of which methods to include can be protected as a whole.

That assumption sets a context for Judge Alsup's fifth question. Oracle concedes
that they are not asserting rights over the Java language. If ordinary Java
programmers writing ordinary Java programs use the APIs like they use the
language, as their medium of expression when they write their programs, then
there is an argument to be made that Oracle implicitly waived the rights that
might protect our hypothetical third party class library API.

From my perspective as an experienced professional Java programmer the answer to
question five, especially the rephrasing "That is, programmers write their
own programs using the APIs?" is very clear.

For all classes in the java.lang.* hierarchy there is no way to avoid their use.
The Java language spec says that every program has an implicit import
java.lang.*. Various syntactic constructs are defined as making use of classes
in java.lang. For example whenever you use a string contant in an expression
like "foo" it is defined as producing a constant of type
java.lang.String.

There are probably some other packages which come into play implicitly. Google
has provided a way for Java programmers to write Java programs that they compile
using Oracle's freely available Java compiler. That compiler is run against a
compatible JDK to transform a Java source program into class files. Google
provides a way to transform those class files into something that can run on the
Dalvik VM. Even though it is not part of the Java Language Specification, the
Java compiler is free to assume that all of the classes that are in the JDK will
be available at runtime in the JRE. For example, when there is a statement like
'for (int x : foo) ... ' I would expect the compiler to produce output that
references the java.util.Iterator interface. That means that a programmer who
uses the Java language to write a program and compile it using Oracle's Java
compiler, may very well be using classes and interfaces in the java.util.*
packages even if they are not aware of it.

For the other packages in the java.* and javax.* hierarchy there is a slightly
different answer. As a programmer if I were so inclined I could avoid the use of
the other packages. I could invent my own collection classes, for example, put
them in bugstomper.local.* packages, invent my own selection, arrangement, and
structure for them, and write an implementation. I could write my program to
call those methods instead of the Java Collection classes. When I ship my
program it would have my jar files for my collection classes along with the jar
files for my application program.

That would work. In fact that is exactly the choice that Google made for the
approximately 124 Java API packages that they did not copy. Any functionality
that is provided by those classes must either be not available in the Android
API, or else it is provided by the other packages that Google devised
themselves.

But I would be crazy to implement a bugstomper.local.* set of collection classes
unless I could hugely improve on what has been provided by Sun/Oracle as part of
the Java Standard Class Library. Even though it is not part of the Java Language
Specification, any competent Java programmer, when faced with a task that is
best done using the abstractions of one of the Collection classes, will use
that. They can avoid designing and writing their own classes. As part of the
java.* or javax.* package hierarchy they are guaranteed that any user of their
application who has the proper version of the JRE will have those classes
available in their runtime environment without the programmer having to ship the
library jar files with their application. The programmer can search the Internet
for examples of use, hints about pitfalls, answers to problems that they run
into using those standard classes. They can be sure that there are many other
programmers with the experience to maintain or enhance the code if necessary.

When I want to write a Java program I do not think in terms of constructing the
program out of the constructs of the Java language. I work with the standard
APIs, perhaps enhanced by my own libraries or other third party libraries. But
the Java Standard Classes are the language that I work in.

Google apparently did not need the functionality of the other 124 Java API
packages (or some of them like java.math they did use but aren't being claimed
by Oracle for other reasons). These 37 (plus the ones like java.math) presumably
are the ones that do provide functionalities that are integral to the writing of
Java programs that will be usefully run on Android. More importantly, they would
have been included by Google because Java programmers when they are writing Java
programs are used to writing their programs in terms of the methods of these
classes as if the classes were an integral part of the language.

[ Reply to This | # ]

Oracle's dilemma
Authored by: Kevin on Friday, March 30 2012 @ 08:49 PM EDT
Consider the 'java.lang' and 'java.util' APIs. As I mentioned earlier, both of
these are explicitly called out in the Java Language Specification, and the
behavior of certain constructs in the Java language itself is defined in terms
of them.

Are these integral to the language? If Oracle says that they are, Oracle is
asserting that its compilation copyright over the APIs gives it control over the
language as well. Not only does this set dangerous precedent (it essentially
makes the copyright into a perpetual patent over the Java technology), it also
explicitly contradicts Oracle's earlier statement that it is not asserting
control over the language itself.

On the other hand, presume that Oracle claims that 'java.lang' is not integral
to the Java language. In that case, Google impeaches the claim in
cross-examination by challenging Oracle's witness to produce a complete and
correct Java program - even one that does no input or output - without using the
'java.lang' API's. It cannot be done: the 'main' method accepts java.lang.String
as a parameter.

Oracle would no doubt try to escape by asserting that 'main' is not fundamental
to the language: that an alternative implementation could implement some other
method - 'start' perhaps - that accepts a different parameter signature. But
that doesn't get much farther. There are several language features (autoboxing,
annotations, enhanced 'for', and so on) that require 'java.lang' and 'java.util'
APIs as part of their description in the Java Language Specification. Oracle is
forced to argue that the language described in the Java Language Specification
is something larger than Java, over which Oracle asserts control even though the
Java language is not claimed.

Either alternative pretty much forces Oracle to concede that it is indeed trying
to assert control over the language, even though it has denied having that
ambition. That won't be a pretty sight.

Is there anything left of the copyright argument once Oracle is solidly impaled
on Morton's Fork?

---
73 de ke9tv/2, Kevin (P.S. My surname is not McBride!)

[ Reply to This | # ]

Oracle v. Google - More Questions From the Court on Copyright
Authored by: Anonymous on Friday, March 30 2012 @ 09:54 PM EDT
Could the judge (in theory) abort the copyright jury trial?

Like: I now have understood what APIs really are, and don't
need to bother any jury with this.
Oracle loses, Google wins.

It is so ordered.

[ Reply to This | # ]

These are some really great questions
Authored by: jbb on Friday, March 30 2012 @ 10:56 PM EDT
Two of my favorites are:
(5) Is it true that the APIs are an integral part of Java? That is, programmers write their own programs using the APIs? If the answer depends on the particular API, please specific which of the 37 asserted are integral.

(6) To what extent are computer languages (not programs, but languages) copyrightable? Patentable?

Both of these questions remind of me an article from the Harvard Journal of Law & Technology (from pdf page 31):
B. Computer Languages Should Not Be Copyrightable

The Copyright Act of 1976 does not directly address the copyrightability of computer languages. Computer languages should not be copyrightable subject matter for two reasons. First, language copyright is doctrinally suspect because that would provide copyright protection for expressions not yet fixed. If the author of a computer language sought to claim copyright protection of a computer language, either of two files would have to be covered: a list of all possible sentences in that language or an expression of its specification (i.e., a copy of the quadruple V, E, R, S) that fully describes the language [...] Although more practical, the second choice is problematic: the specification only tells us how to decide whether a given sentence is within the language and is not a fixation of the sentence itself.

[...] Second, even if language copyright were consistent with copyright principles, it would violate First Amendment principles. By authorizing protection for languages, the Act would be authorizing prior restraint of any expression in that language. If a programmer cannot lawfully include a copy of the grammar in a parser program, the parser cannot lawfully create expression in that language.

As I've said before, I believe that APIs should not be copyrightable for exactly the same reasons given above for why computer languages should not be copyrightable. I feel much less alarmed about a dire ruling coming from this court now that the judge is looking at the API issues from this perspective.

IMO this line of reasoning will end up at exactly the same place Google's arguments take us (that APIs should not be copyrightable by rule of law) but they do so in a way that people who are not intimately familiar with programming and APIs can understand and be comfortable with. In a nutshell: if Oracle is granted copyright protection for the Java APIs then they will have defacto control over almost all possible (practical) programs written in Java.

---
Shirky Principle: Institutions will try to preserve the problem to which they are the solution.

[ Reply to This | # ]

Copyright vs. Trademark
Authored by: Anonymous on Saturday, March 31 2012 @ 02:56 PM EDT
I'm curious where the line is generally drawn between
copyright issues and trademark issues with respect to novel
language.

Hypothetical. Let's say I invent a new programming
language. Let's say I invent some incredibly useful verbs
in that language called "Twiddle" and "Transmogrify" that
had never really been used in programming languages before.
The ability to Twiddle and Transmogrify is one of the most
useful features of the new language, and most developers
cite their incredible usefulness as the reason to use my
language.

I created this programming language, and I see premium
development tools, compliers, and a licensed integrated
"tech stack" to run programs in my new language.

Now let's say someone else wants to create an open source
version of my new language, using new code (that I don't
own) that implements Twiddle and Transmogrify. Am I allowed
to stop them from using the same new terms I invented? i.e.
tell them they can implement something that does what
Transmogrify does, but only if they call it something else?

And if so, is the reason due to copyright law (I invented
the terms in my original work), or trademark law (I created
these terms and I'm using them in commerce, and they're the
new buzzwords for my commercial product--you using them
would create confusion in the marketplace), or both?

Probably moot in this case--as Google pointed out in the
field-of-use issue, Oracle hasn't made a trademark
complaint. I'm more curious if they (in the abstract) would
have had that option.

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