|
Oracle v. Google - Day 5 Filings; What Is the "Work as a Whole?" ~mw |
|
Saturday, April 21 2012 @ 10:00 AM EDT
|
Day 5 and the activity is still centered on the courtroom, which is as it should be. However, there continue to be filings in the case, the first of which is the stipulation the parties submitted for the court's approval yesterday with respect to the selection, arrangement and structure of the 37 APIs (946 [PDF; Text])
More important is the order issued by Judge Alsup requesting another brief on the copyright issue. (948 [PDF; Text]) With the order we are finally getting to the conflict among what Oracle argued in its complaint, what it dances around with in court when talking about infringement versus damages, and Oracle's licensing practices with respect to Java.
When talking about copyright infringement in its complaint (Amended Complaint [PDF]), here is what Oracle has to say:
9. One of the most important technologies Oracle acquired with Sun was the Java
platform. The Java platform, which includes code and other documentation and materials, was
developed by Sun and first released in 1995. The Java platform is a bundle of related programs,
specifications, reference implementations, and developer tools and resources that allow a user to
deploy applications written in the Java programming language on servers, desktops, mobile
devices, and other devices. The Java platform is especially useful in that it insulates applications
from dependencies on particular processors or operating systems. To date, the Java platform has
attracted more than 6.5 million software developers. It is used in every major industry segment
and has a ubiquitous presence in a wide range of computers, networks, and devices, including
cellular telephones and other mobile devices. Sun’s development of the Java platform resulted in
many computing innovations and the issuance to Sun of a substantial number of important
patents.
...
11. Oracle America owns copyrights in the code, documentation, specifications,
libraries, and other materials that comprise the Java platform. Oracle America’s Java-related
copyrights are registered with the United States Copyright Office, including those attached as
Exhibit H.
...
38. As noted in paragraph 11 above, Oracle America owns copyrights in the code,
documentation, specifications, libraries, and other materials that comprise the Java platform.
39. Google’s Android infringes Oracle America’s copyrights in the Java platform, and
Google infringes Oracle’s exclusive rights under copyright by reproducing and distributing
Android and inducing others to reproduce and distribute Android or the code contained within it.
40. Android includes infringing class libraries and documentation. Approximately one
third of Android’s Application Programmer Interface (API) packages (available at
http://developer.android.com/reference/packages.html) are derivative of Oracle America’s
copyrighted Java API packages (available at http://download-llnw.oracle.com/javase/1.5.0/-
docs/api/ and http://download-llnw.oracle.com/javase/1.4.2/docs/api/) and corresponding
documents. The infringed elements of Oracle America’s copyrighted work include Java method
and class names, definitions, organization, and parameters; the structure, organization and content
of Java class libraries; and the content and organization of Java’s documentation. Examples of
this copying are illustrated in Exhibit I to this complaint. In at least several instances, Android
computer program code also was directly copied from copyrighted Oracle America code. For
example, as may be readily seen in Exhibit J, the source code in Android’s
“PolicyNodeImpl.java” class is nearly identical to “PolicyNodeImpl.java” in Oracle America’s
Java, not just in name, but in the source code on a line-for-line basis.
41. Google has distributed Android to many companies interested in the mobile device
market, including the members of the Open Handset Alliance, with the understanding and
intention that those companies would distribute Android to developers and end-users, all with the
purpose of encouraging and promoting the creation and execution of Android software
applications. Users of Android must copy and use infringing Java class libraries, or works
derived therefrom, to manufacture and use functioning Android devices, in violation of Oracle’s
copyrights. Such use is not licensed. Google has thus induced, caused, and materially
contributed to the infringing acts of others by encouraging, inducing, allowing and assisting
others to copy and distribute infringing works. [empahsis added]
So at different times Oracle talks about infringement of the Java platform versus infringement of select components of the Java platform. More recently the Oracle arguments have become more limited focusing on the 37 API specifications (not code) and the limited number of lines of directly copied code. And yet Oracle at times persists in trying to paint the picture of damages as being the entire Java platform. Whatever. The parties, and particularly Oracle, per the judge's order are going to have to settle on what has been copied and limit its infringement and damages assertions to those items.
What comes out of the judge's recent order, though, are two things. When determining "substantial similarity" what is Oracle comparing. The entire Java platform? Each separate API? It would seem the only thing they can prove is the latter. However, the more and more fine grained the degree of alleged infringement, i.e., the lower in the platform structure one goes (Java platform -> Java class libraries -> Java API specifications) the greater the likelihood that what is encompassed by the infringement allegation is beyond the scope of copyright protection, i.e., functional in nature or subject to the merger of idea and expression. So the judge is trying to clarify this.
However, there is another place we see the words "work as a whole" used in the licensing of software, and that is in the GPL version 2, the very license that Sun applied and Oracle now applies to the Java programming language. Why is this important. Let's take a look at selected sections of GPLv2:
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
So the question is, given that the Java programming language is licensed under GPLv2, are the APIs and associated class libraries necessary to make programs run in the Java language "associated interface definition files?" If so, one could argue that those 37 APIs are a part of the "work as a whole" (the Java programming language) and, thus, also subject to the GPLv2. Interesting.
The briefs are due Sunday, and it will be interesting to see how Oracle dances around all of this.
*************
Docket
04/20/2012 - 946 - ORDER GRANTING STIPULATED STATEMENT by Hon. William Alsup granting 945 Stipulation.(whalc1, COURT STAFF) (Filed on 4/20/2012) (Entered: 04/20/2012)
04/20/2012 - 947 - Minute Entry: Jury Trial held on 4/20/2012 before William Alsup (Date Filed: 4/20/2012). Witnesses called. Further Jury Trial 4/23/2012 7:30 AM. (Court Reporter Kathy Sullivan; Debra Pas.) (dt, COURT STAFF) (Date Filed: 4/20/2012) (Entered: 04/20/2012)
04/20/2012 - 948 - ORDER RE ADDITIONAL ISSUES FOR SECOND BRIEF DUE SUNDAY. Signed by Judge Alsup on April 20, 2012. (whalc1, COURT STAFF) (Filed on 4/20/2012) (Entered: 04/20/2012)
04/20/2012 – 949 - Transcript of Proceedings held on 4/18/20, before Judge William H. Alsup. Court Reporter/Transcriber Katherine Powell Sullivan and Debra L. Pas, OfficialReporters, Telephone number 415-794-6659 Katherine_Sullivan@cand.uscourts.gov. Per General Order No. 59 and Judicial Conference policy, this transcript may be viewed only at the Clerks Office public terminal or may be purchased through the Court Reporter/Transcriber until the deadline for the Release of Transcript Restriction.After that date it may be obtained through PACER. Any Notice of Intent to Request Redaction, if required, is due no later than 5 business days from date of this filing. Redaction Request due 5/11/2012. Redacted Transcript Deadline set for 5/21/2012. Release of Transcript Restriction set for 7/19/2012. (Sullivan, Katherine) (Filed on 4/20/2012) (Entered: 04/20/2012)
04/20/2012 – 950 - Transcript of Proceedings held on 4/19/12, before Judge William H. Alsup. Court Reporter/Transcriber Katherine Powell Sullivan and Debra L. Pas, OfficialReporters,Telephone number 415-794-6659/ Katherine_Sullivan@cand.uscourts.gov. Per General Order No. 59 and Judicial Conference policy, this transcript may be viewed only at the Clerks Office public terminal or may be purchased through the Court Reporter/Transcriber until the deadline for the Release of Transcript Restriction.After that date it may be obtained through PACER. Any Notice of Intent to Request Redaction, if required, is due no later than 5 business days from date of this filing. Redaction Request due 5/11/2012. Redacted Transcript Deadline set for 5/21/2012. Release of Transcript Restriction set for 7/19/2012. (Sullivan, Katherine) (Filed on 4/20/2012) (Entered: 04/20/2012)
*************
946
UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION
ORACLE AMERICA, INC.
Plaintiff,
v.
GOOGLE INC.
Defendant.
CASE NO. CV 10-03561 WHA
STIPULATION AND [PROPOSED]
ORDER REGARDING SELECTION,
ARRANGEMENT AND STRUCTURE
Judge: Honorable William H. Alsup
STIPULATION
WHEREAS, the parties have met and conferred and have reached agreement regarding a
statement that Google made in a brief to the Court regarding substantial similarity of the
selection, arrangement and structure of API elements in the 37 accused API packages;
NOW THEREFORE THE PARTIES HEREBY STIPULATE AND AGREE as follows:
1. The following statement shall be read to the jury on the same terms as the other
statements in the Court’s Order Granting in Part Oracle’s Motion to Deem Issues Undisputed and
Denying Relief Regarding Statement to Jury (ECF No. 938):
For the 37 accused API packages, Android and Java 2 SE Version
5.0 have substantially the same selection, arrangement and structure
of API elements.
2. This stipulation is made without prejudice to Oracle arguing that the selection,
arrangement and structure of the 37 API packages are virtually identical between Android and
Java 2 SE.
3. This stipulation is made without prejudice to Google arguing that the 37 accused
API packages in Android and Java 2 SE are only a small portion of the Android and Java
platforms, respectively, as a whole.
ORDER
The foregoing stipulation is approved, and IT IS SO ORDERED.
Date: April 20, 2012
/s/William Alsup
Honorable William H. Alsup
Judge of the United States District Court
1
948
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
ORDER RE ADDITIONAL
ISSUES FOR SECOND BRIEF
DUE SUNDAY
In addition to all other issues raised this morning (definition of “class libraries” for
example), please address the following in the second brief due Sunday.
1. What case law or other authority is there that states the judge must identify the
“work as a whole” (for similarity, fair use, and de minimis) for the jury? Quote
the entire relevant paragraphs. Which party has the burden to identify the “entire
work”?
2. With respect to what segment of the “work” can stand alone within the meaning
of Hustler v. Moral, 796 F.2d 1148, 1155 (9th Cir. 1986), the Court wishes to
know whether the implementation of the 37 API packages inherit, call upon,
invoke, or incorporate any method, field, or class outside the 37.
3. Why shouldn’t we let the jury decide what the “work as a whole” is?
4. Is the “work as a whole” the same for purposes of “substantial similarity (or
virtually identical)”, “fair use,” and “de minimis copying? If not, how are the
“works as a whole” to be found for these purposes?
5. For purposes of identifying the “work as a whole,” should Oracle be held to the
copyrighted work identified in the operative complaint? Quote key case law.
6. If the SSO and declarations are held to be protected elements, then why are there
still issues of access and similarity for purposes of infringement (excluding de
minimis and fair use)? Put another way, isn’t substantial similarity only an issue
if there isn’t admission of factual copying of protectable elements?
IT IS SO ORDERED.
Dated: April 20, 2012.
/s/William Alsup
WILLIAM ALSUP
UNITED STATES DISTRICT JUDGE
2
|
|
Authored by: s65_sean on Saturday, April 21 2012 @ 10:25 AM EDT |
Mark, I think you are confused. You say:
So the question is, given
that the Java programming language is licensed under GPLv2, are the APIs and
associated class libraries necessary to make programs run in the Java language
"associated interface definition files?" If so, one could argue that those 37
APIs are a part of the "work as a whole" (the Java programming language) and,
thus, also subject to the GPLv2. Interesting.
The license that you
were quoting before that statement appears to be a license for a software
program, as it talks about "the program as a whole". The java programming
language is not a software program, it is the language that you use to write
programs. Perhaps the license you are quoting from is for a java compiler or for
a java environment implementation, but it certainly should not be for the java
programming language, otherwise the stipulation that was made in court this week
that hte java programming language is free to use by anyone would make no sense.[ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, April 21 2012 @ 10:26 AM EDT |
The Java API's have been released under the GPL as part of OpenJDK. See
http://openjdk.java.net/legal/gplv2+ce.html . However, for Goggle or anyone
else to take advantage of this, any version they derive from the OpenJDK would
have to be release under the GPL. In other words, Google would have to license
Android under the GPL, and all phone manufacturers would have to release the
code to the phones under the GPL. Google chose not to use a GPL license or GPL
derived code for Android because they did not believe the platform would be
adopted by the phone manufacturers if they had to release their derivative code
under the GPL.
But the bottom line is that anyone can release a Java environment under the GPL
can claim the benefit of the OpenJDK license, but if their Java environment is
not released under the GPL, the OpenJDK license doesn't help them.[ Reply to This | # ]
|
|
Authored by: SilverWave on Saturday, April 21 2012 @ 10:27 AM EDT |
:-)
---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions
[ Reply to This | # ]
|
|
Authored by: SilverWave on Saturday, April 21 2012 @ 10:28 AM EDT |
:-D
---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions
[ Reply to This | # ]
|
|
Authored by: SilverWave on Saturday, April 21 2012 @ 10:29 AM EDT |
#-#
---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions
[ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, April 21 2012 @ 11:07 AM EDT |
That part of the license just means, that if you take OpenJDK under the GPL
license and want to extract *a part* of it and give away that part, you still
have to give the source code for the work as a whole (i.e. the entire OpenJDK,
not just the little piece you are giving away as part of your program).
It doesn't apply to Google anyway, because they didn't use any OpenJDK code.[ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, April 21 2012 @ 11:17 AM EDT |
2. With respect to what segment of the “work” can stand alone
within the meaning of Hustler v. Moral, 796 F.2d 1148, 1155 (9th Cir. 1986), the
Court wishes to know whether the implementation of the 37 API packages inherit,
call upon, invoke, or incorporate any method, field, or class outside the
37.
That's a tough one for Oracle. Again it demonstrates
Judge Alsup's superb technical understanding. The 2nd part leaves Oracle no
wiggle room, no hand-waving. It's a completely objective technical question and
I hope Google's lawyers recruit some competent techies to present that
dependency graph in an impressive manner.
While I have not checked it
myself, my feeling is that depending on the dependencies you look at, almost all
of the 37 APIs and in fact much more than that is interconnected. In particular,
and that's the major issue I see for Oracle here, the dependency graph will show
that you cannot cleanly separate what Oracle contends is the "Java language"
from the "Java APIs". For instance java.lang.String (conceded by Oracle to be
part of the freely usable "Java language") has a constructor that throws
java.io.UnsupportedEncodingException which puts us straight into the "java.io"
package which as I understand it, Oracle claims is not free. And the court not
only asks about the declarations but also the implementation ("call upon",
"invoke") and when you go down to that level, you find even more
interconnectness. Here are the imports from the implementation of
java.lang.String from OpenJDK 6:
import
java.io.ObjectStreamClass;
import java.io.ObjectStreamField;
import
java.io.UnsupportedEncodingException;
import
java.nio.charset.Charset;
import java.util.ArrayList;
import
java.util.Arrays;
import java.util.Comparator;
import
java.util.Formatter;
import java.util.Locale;
import
java.util.regex.Matcher;
import java.util.regex.Pattern;
import
java.util.regex.PatternSyntaxException;
I'm quite sure that
the above java.util.* classes are on Oracle's "non-free" list. But how are they
going to explain that you are free to use the String class as part of the Java
language, if that class cannot be implemented without using non-free classes?[ Reply to This | # ]
|
|
Authored by: calris74 on Saturday, April 21 2012 @ 11:28 AM EDT |
In C and C++, the API definitions are in a bunch of header
files and you
program needs to include the header before it
uses the API
But the
library is nowhere to be seen when you write the
code The compiler only needs
the headers to know how the API
should be called (function name, number and
type of
arguments etc)
The library needs to be available when you run
the program.
The dynamic loader/linker will load the library and do all
sorts
of behind the scenes stuff to make sure you program
can call functions in the
library.
But, the library does not need to be the the same one as the
one written by whoever wrote the header files - so long as
the implementation
exactly matches the definition. Wine is a
perfect example - it is a collection
of independently
written libraries which implement the Windows
APIs
Now header files have never been copyrighted (or the
copyright
never enforced) as to do so would mean nobody else
could write programs using
your API.
But Java is different - There are no headers. The API
definition is in the Java library (.jar) files themselves.
So now you have a
file with a mix of API definition and API
implementation which (at least part)
is definitely covered
by copyright...[ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, April 21 2012 @ 11:48 AM EDT |
It seems to me that Oracle keeps conflating "the ideas that constitute
APIs" with "the documentation that constitutes fixed descriptions of
those ideas".
You can copyright Harry Potter, the movie, and the corresponding script, and
even the sentence, "a child awakens to their magic powers, trains, and
defeats a world-threatening evil", but the idea behind all three remains
free. APIs as "the essential plot points of software" leans closer to
a literal description than a metaphor.[ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, April 21 2012 @ 12:01 PM EDT |
1. Does a programmer install the javac compiler and the rest of the Java
Development Kit on a PC?
2. Does the programmer add some Android/Dalvik/Harmony-specific
classes to the classpath?
3. Does the programmer write x.java source files?
4. Does the programmer compile them with the standard Java compiler
javac?
5. Does the programmer then use some Android/Dalvik-specific program to
do something with the bytecodes in the x.class files written by the
compiler?[ Reply to This | # ]
|
|
Authored by: vadim on Saturday, April 21 2012 @ 01:38 PM EDT |
Assuming that:
1) Current law allows reverse engineering of the software
2) If API is copyrightable it means that any use of the API requires
permission of the copyright holder
By virtue of 1) i can reimplement java library to ensure that java apps can
run on my platform
But by virtue of 2) i can't do it if copyright holder doesn't allow it.
It means that assumption 2 contradicts assumption 1 which is current law. Ergo
- assumption 2 is incorrect[ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, April 21 2012 @ 02:44 PM EDT |
Easy: This is already in copyright law and what is purported to protect software
copying.
“class libraries” are an "expression of the source code"
This goes to the whole tangible medium thing.
ExcellentGame(tm) is distributed on Cassette tape.
Joe takes a binary copy of the tape, and records it onto a floppy disk.
Joe is a flagrant copyright violator, he has copied the expression in the
tangible medium.
Bob, takes a copy of Joes floppy disk, and transfers it on tape. Whoops, wrong
tangible medium, yet Bob clearly has a copy of ExcellentGame(tm) and is having
fun with it without paying.
Easily fixed. The binary is a (tangible) expression of the source code.
The "Class Libraries" are an expression of the "Java API source
code"
The source code is protected, the "Class Libraries" are protected, the
"English language Book" describing the libraries (API Specification)
is protected.
The facts about the class libraries, which are contained in all three items are
not.
Game over.
Done.
[ Reply to This | # ]
|
|
Authored by: Ian Al on Saturday, April 21 2012 @ 03:11 PM EDT |
The Java API Specification is a manual and not source code for a program. The
GPL refers throughout to a copyright program. You cannot derive a program from a
manual. Thus the GPL does not apply to the Specification. There is another
licence that applies to documentation. The documentation licence explains
document copying, modification and redistribution.
As with any book about making things, the names, ideas and concepts in the
Specification book can be used by programmers to write libraries for the use of
Java application programmers.
A clever programmer can even replace all of the Sun libraries with their own
version and the application programmer can use them in just the same way as the
Sun library originals. For this to work, they have to use the same function
names and use that name to locate the function packaged in the same way as the
original Sun library packages. This may be where the valuable SSO comes into
play. However, knowing that the function foobar must be placed in package foo
for compatibility does not use much of the SSO. How much SSO is lots?
The APIs in Sun Java, Harmony and OpenJDK are not interfaces. They are source
code and byte code (binaries) for libraries of functions that can be used with
Java.
There are no interfaces in software. The interfaces are abstract concepts
documented in manuals to help programmers write down what is necessary to make
available functions in libraries or other programs. All there is is functional
program code that is either provided by the programmer of an application or
provided by libraries or other programs including operating system programs.
APIs are a higher level way of getting at functions. An API is the use of a name
in the syntax of a computer language to match to the same name in the library
thus identifying the function code to be used.
When programmers were real men, they wrote their program code, put it directly
into the memory and arranged for any libraries of functions to be loaded
somewhere else in memory. The individual functions in the library were found
using the number of bytes offset from the start in memory of the library at
which the specific function code could be found.
Some microprocessor instruction sets made offset jumps very easy. Some did not.
If the worst came to the worst, one could look up the offset in the library
manual, add it to the base address of the library and make the processor start
executing the code at the new location.
JMP [Address]
Now those operating system monsters and hard drive file system loonies have got
on the scene, a programmers memory is not his own. He is forced by these malign
monsters to use ABIs and APIs and to 'jolly well put up with being loaded where
we want you loaded'. They won't even tell you where the libraries are kept in
memory, any more.
The programmer has to look up in a book how to get access to system or library
functions. The Java Api Specification is just such a book... compilation of
books... list of compilation of compilations of books.
The compiler and the library code just don't care. They look at function names
in the programmers code and pick out the function code in the library identified
by the name.
Then they look in specific places in the programmers code for any parameter data
to be used with the library code. The compiler then plops library and program
code (in byte-code form) into the class file as a single logical set of
instructions.
As far as the compiler and library are concerned, you can use the Specification
to resolve the offset in a kitchen table leg.
---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid![ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, April 21 2012 @ 03:15 PM EDT |
'So the question is, given that the Java programming language is licensed under
GPLv2, are the APIs and associated class libraries necessary to make programs
run in the Java language "associated interface definition files?" If
so, one could argue that those 37 APIs are a part of the "work as a
whole" (the Java programming language) and, thus, also subject to the
GPLv2. Interesting.'
AFAIK this case is about Java 5 which was never released under the GPL. So I
doubt this argument is relevant - even if Java 6 (which was) and 5 are
substantially similar? 5 is not a derivative of 6 for simple causality reasons,
lol
IANAL, etc.[ Reply to This | # ]
|
|
Authored by: Anonymous on Sunday, April 22 2012 @ 12:30 AM EDT |
I have been reading Groklaw since the beginning. This is my
first post. I am
completely missing Mark's point:
So the question is, given that the
Java
programming language is licensed under GPLv2, are the APIs
and associated
class libraries necessary to make programs
run in the Java language "associated
interface definition
files?" If so, one could argue that those 37 APIs are a
part
of the "work as a whole" (the Java programming language)
and, thus, also
subject to the GPLv2. Interesting.
Yes, it is clear that the
JRE including the APIs is
licensed
under the GPLv2. This is not news. But
what relevance does
this have to Oracle-Google ? I don't see how this can be
used to either attack or defend, either Oracle or Google ? [ Reply to This | # ]
|
|
Authored by: RMAC9.5 on Monday, April 23 2012 @ 11:28 AM EDT |
It is a specific instance of the Java language just like a poem or a story is a
specific instance of what ever language it is written in.[ Reply to This | # ]
|
|
|
|
|