|
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
Name | Manner of Presentation | Substance of Trial Testimony |
Kessler, Peter | Live 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
Name | Manner 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
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- Programming Languages Copyrightable Periphery - Authored by: mcinsand on Friday, March 30 2012 @ 10:12 AM EDT
- What about Klingon? (nt) - Authored by: Anonymous on Friday, March 30 2012 @ 10:18 AM EDT
- bingo - Authored by: designerfx on Friday, March 30 2012 @ 10:48 AM EDT
- You can tell the Judge is starting to get it - Authored by: Anonymous on Friday, March 30 2012 @ 10:57 AM EDT
- Beware comparing natural and programming languages - Authored by: Anonymous on Friday, March 30 2012 @ 12:07 PM EDT
- Programming Languages - Authored by: Gringo_ on Friday, March 30 2012 @ 12:33 PM EDT
- Programming Languages -- maybe they can be copyrighted - Authored by: Anonymous on Friday, March 30 2012 @ 12:36 PM EDT
- Cannot be fixed in a tangible medium - Authored by: Anonymous on Friday, March 30 2012 @ 12:59 PM EDT
- Programming Languages -useful link? - Authored by: Anonymous on Friday, March 30 2012 @ 02:16 PM EDT
- Programming Languages: Copyright and pattent - Authored by: mtew on Friday, March 30 2012 @ 02:46 PM EDT
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- Results: - Authored by: Anonymous on Saturday, March 31 2012 @ 07:45 AM EDT
|
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 | # ]
|
|
|
|
|