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 Gets Specific -- Files Amended Complaint - Updated 4Xs: And More, More, More: Oracles Answers Google's CC
Thursday, October 28 2010 @ 12:07 PM EDT

Oracle has filed an amended complaint, presumably to fix the problems noted by Google in the first one. It has clarified its copyright infringement claims, Claim VIII.

It's SCO II, at least in part, alleging that the infringed material is "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." Don't tell me it's APIs and methods and concepts again. And infringing the "organization" of Java documentation? Lordy.

I've done a comparative chart for you of the copyright infringement claim in both the original complaint and the new one, so you can see the changes, but here is the new operative paragraph in full, paragraph 40 of the new complaint:

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 19 copyrighted Java API packages (available at http://download-llnw.oracle.com/javase/ 1.5.0/- 20 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.
So some claim of line by line copying also.

[ Update 2: However, note that, as Google has already pointed out, Sun released code under the GPL, not that Google says it used it. But if it had, as you can see, Sun released PolicyNodeImpl.java under the GPLv2 with classpath exception. So what in the world is Oracle thinking? Also, it's not Harmony either, as the Apache guys are pointing out: "Even though the code in question has an Apache license, it is not part of Harmony. PolicyNodeImpl.java is simply not a Harmony class." I'm puzzled how GPLv2 code ended up with an Apache license, but I can't explain that yet. We have a comment saying that it's not code that is distributed with phones, in any case. It's for testing units. Here it is if you want to look at it. Here's what I think happened overall. The same thing that happened in the SCO saga. When lawyers don't grok the tech, they make bizarre claims that they then can't prove, and so they fail.]

If you recall, Google pointed out that Exhibit H, the copyright registrations, made no sense, writing in its Answer:

As to Oracle's copyright claim, the Complaint alleges that "Oracle America owns copyrights in the code, documentation, specifications, libraries, and other materials that comprise the Java platform" and that "Oracle America's Java-related copyrights are registered with the United States Copyright Office, including those attached as Exhibit H." Compl. ¶ 11. Exhibit H to the Complaint consists of certificates of copyright registrations obtained by Sun for two identified works, named "Java 2 Standard Edition 1.4" and "Java Standard Edition, Version 5.0" (the "Asserted Copyrights"). Compl. Ex. H. These registrations appear to relate to versions of certain Sun Java materials that were released as open-sourced software in 2006 and 2007.
Oracle has not changed that exhibit that I could see. So I'm guessing that means Oracle is going to say it's open sourced but only for the desktop. Field of use. Plus Java documentation, as you can see on this page, isn't redistributable. Conclusion? All the complaints that were directed at Sun were right. And now it's clear that using any proprietary anything is reckless. And that includes dual licensed code, because some donkey might buy it someday, and then where will you be? Stick to pure FOSS, where folks don't treat you like this.

Here it all is:

10/27/2010 - 36 - AMENDED COMPLAINT for patent and copyright infringement against Google Inc.. Filed byOracle America, Inc.. (Attachments: # 1 Exhibit A, # 2 Exhibit B, # 3 Exhibit C, # 4 Exhibit D, # 5 Exhibit E, # 6 Exhibit F, # 7 Exhibit G, # 8 Exhibit H, # 9 Exhibit I, # 10 Exhibit J)(Peters, Marc) (Filed on 10/27/2010) (Entered: 10/27/2010)

10/27/2010 - 37 - ADR Certification (ADR L.R. 3-5 b) of discussion of ADR options Oracle America ADR Certification by Party and Counsel (Ballinger, Richard) (Filed on 10/27/2010) (Entered: 10/27/2010)

And here is the chart:

# First Oracle Complaint Amended Oracle Complaint
37. Oracle America hereby restates and realleges the allegations set forth in paragraphs 1 through 15 above and incorporates them by reference. Oracle America hereby restates and realleges the allegations set forth in paragraphs 10 1 through 15 above and incorporates them by reference.
38. The Java platform contains a substantial amount of original material (including without limitation code, specifications, documentation and other materials) that is copyrightable subject matter under the Copyright Act, 17 U.S.C. § 101 et seq. As noted in paragraph 11 above, Oracle America owns copyrights in the code, 12 documentation, specifications, libraries, and other materials that comprise the Java platform.
39. Without consent, authorization, approval, or license, Google knowingly, willingly, and unlawfully copied, prepared, published, and distributed Oracle America’s copyrighted work, portions thereof, or derivative works and continues to do so. Google’s Android infringes Oracle America’s copyrights in Java and Google is not licensed to do so. 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. On information and belief, users of Android, including device manufacturers, must obtain and use copyrightable portions of the Java platform or works derived therefrom to manufacture and use functioning Android devices. 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 use, copy, and distribute Oracle America’s copyrightable works, and works derived therefrom. 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 19 copyrighted Java API packages (available at http://download-llnw.oracle.com/javase/1.5.0/- 20 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.
- 41. On information and belief, Google’s direct and induced infringements are and have been knowing and willful. 42. On information and belief, Google’s direct and induced infringements are and have been knowing and willful.
- 42. By this unlawful copying, use, and distribution, Google has violated Oracle America’s exclusive rights under 17 U.S.C. § 106. 43. By this unlawful copying, use, and distribution, Google has violated Oracle America’s exclusive rights under 17 U.S.C. § 106.
43. Google has realized unjust profits, gains and advantages as a proximate result of its infringement. 44. Google has realized unjust profits, gains and advantages as a proximate result of its infringement.
- 44. Google will continue to realize unjust profits, gains and advantages as a proximate result of its infringement as long as such infringement is permitted to continue. 45. Google will continue to realize unjust profits, gains and advantages as a proximate result of its infringement as long as such infringement is permitted to continue.
- 45. Oracle America is entitled to an injunction restraining Google from engaging in any further such acts in violation of the United States copyright laws. Unless Google is enjoined and prohibited from infringing Oracle America’s copyrights, inducing others to infringe Oracle America’s copyrights, and unless all infringing products and advertising materials are seized, Google will continue to intentionally infringe and induce infringement of Oracle America’s registered copyrights. 46. Oracle America is entitled to an injunction restraining Google from engaging in any further such acts in violation of the United States copyright laws. Unless Google is enjoined and prohibited from infringing Oracle America’s copyrights, inducing others to infringe Oracle America’s copyrights, and unless all infringing products and advertising materials are seized, Google will continue to intentionally infringe and induce infringement of Oracle America’s registered copyrights.
- 46. As a direct and proximate result of Google’s direct and indirect willful copyright infringement, Oracle America has suffered, and will continue to suffer, monetary loss to its business, reputation, and goodwill. Oracle America is entitled to recover from Google, in amounts to be determined at trial, the damages sustained and will sustain, and any gains, profits, and advantages obtained by Google as a result of Google’s acts of infringement and Google’s use and publication of the copied materials. 47. As a direct and proximate result of Google’s direct and indirect willful copyright infringement, Oracle America has suffered, and will continue to suffer, monetary loss to its business, reputation, and goodwill. Oracle America is entitled to recover from Google, in amounts to be determined at trial, the damages sustained and will sustain, and any gains, profits, and advantages obtained by Google as a result of Google’s acts of infringement and Google’s use and publication of the copied materials.
Update: More filings from Oracle. There's a motion in opposition to Google's motion to dismiss Count VIII of Oracle's Complaint (or in the alternative for a more definite statement); there's Oracle's reply to Google's answer and counterclaims, and there is an order to show cause why the pending motion to dismiss should not be denied as moot.

You call this fixing the oops. Oracle I gather realized that Google had a point about lack of specificity, so it threw out some specifics, and now it wants Google's motion to dismiss denied as moot, and probably will be. Google could file another such motion in response to Oracle's amended complaint, of course.

Here is the specific that I'd like answered. If Google used Apache's Harmony, and the only reason Harmony can't get Oracle's blessing is because Oracle won't let it, then what? Google pays a sum for any past issues, and then everyone including Google switches to the GPL'd stuff? I mean, when Oracle complains about "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," that's not talking about Dalvik, surely, is it? It's all Apache Harmony, no?

Harmony was attempting to create a clean-room implementation of Java and get it approved as being Java via the Technical Compatibility Kit (TCK). This includes a clean-room implementation of class libraries. However, by definition, for it to be Java, it has to use "Java method and class names, definitions, organization, and parameters" and implement "the structure, organization and content of Java class libraries". What Oracle is asserting then, in effect, I gather, is that you cannot pass the TCK without licensing stuff from Oracle or deriving from the GPL'd OpenJDK. Harmony is licensed under the Apache License, not the GPL.

That would be ironic, indeed. Google forced to go GPL. Hahahaha. Ironic and fine with me. Well, maybe I'm dreaming. There are the patents clinging like barnacles to Java, too. What a mess.

The additional filings:

10/28/2010 - 38 - ADR Certification (ADR L.R. 3-5 b) of discussion of ADR options (Zimmer, Donald) (Filed on 10/28/2010) (Entered: 10/28/2010)

10/28/2010 - 39 - NOTICE of need for ADR Phone Conference (ADR L.R. 3-5 d) (Ballinger, Richard) (Filed on 10/28/2010) (Entered: 10/28/2010)

10/28/2010 - 40 - Memorandum in Opposition re 33 MOTION to Dismiss Count VIII of Plaintiff's Complaint or, In the Alternative, for a More Definite Statement filed byOracle America, Inc.. (Attachments: # 1 Proposed Order)(Ballinger, Richard) (Filed on 10/28/2010) (Entered: 10/28/2010)

10/28/2010 - 41 - ANSWER TO COUNTERCLAIM 32 Answer to Complaint, Counterclaim Oracle America, Inc.'s Reply to Defendant Google Inc.'s Answer to Complaint for Patent and Copyright Infringement and Counterclaims byOracle America, Inc.. (Ballinger, Richard) (Filed on 10/28/2010) (Entered: 10/28/2010)

10/28/2010 - 42 - ORDER TO SHOW CAUSE WHY THE PENDING MOTION TO DISMISS SHOULD NOT BE DENIED AS MOOT Show Cause Response due by 11/1/2010.. Signed by Judge Alsup on October 28, 2010. (whalc1, COURT STAFF) (Filed on 10/28/2010) (Entered: 10/28/2010)

Here's the wording of the Order to Show Cause:
On October 4, 2010, defendant Google, Inc. moved to dismiss, or in the alternative, for a more definite statement regarding plaintiff Oracle America, Inc.’s copyright infringement claim in this Java-fueled battle over the Android platform. Just yesterday, however, a day before its opposition brief to the motion was due, plaintiff Oracle America, Inc. filed an amended complaint altering and augmenting its copyright infringement allegations. Given this development, Google is ORDERED TO SHOW CAUSE why its pending motion to dismiss should not be denied as moot (without prejudice, of course, to Google filing a fresh Rule 12 motion targeting the claims as pleaded in plaintiff’s newly minted complaint). A response to this order is required no later than NOON ON MONDAY, NOVEMBER 1.
"Java-fueled battle", indeeed. And Oracle is complaining about polemics?

Update 2: Carlo Daffara adds some technical info on the line-by-line claim, having done a diff:

Hm. First of all, the definition of line-for-line equality is not correct here, as the lines are different (but quite similar). I have not developed for quite some time, but I would say that it is not strange to see similarities within the API constraints. Second, while technically part of Android, the code is Apache Harmony, a reimplementation of J2SE that tried (for many, many years) to get the compliance toolkit from Sun, but never did (and now will never do).

But the relevant point is different: the PolicyNodeImpl.java that is presented comes from the OpenJDK distribution, and was as such released under the GPL+ClassPath exception (something that is not mentioned anywhere within the complaint, by the way). Here, the claims are two and different: the first is that Android (actually, Harmony) copied its API that Oracle claims is copyrighted. The second claim is that the actual source code of the PolicyNodeImpl.java file has been copied verbatim.

Let’s start with the first one: the claim that Oracle Java APIs are protected and copyrighted. On this, it seem to me that the interface definition themselves (not the actual source code) as a mere interface does not fall within the copyright provisions, unless the actual names are trademarked, and thus its implementation requires the actual copying of a protected name in a way that is deemed incompatible by its licensee (something similar was done by Autodesk, embedding a copyrighted phrase that if not included in the file prevented the application from opening it directly)....

And now, for the claim that the code is actually copied, here is in its glory the full diff (note: if you download the OpenJDK source you don’t get the file; I had to grab it from here in the Mercurial publication site, the raw file is this one). It seem to me that this is actually a reimplementation and not a straight copy as Oracle claims – but I would like to ask my readers for their opinion.

Me too. Click the link to see his diff.

Update by Carlo: He has two updates:

Second important update: After quite some digging, I have finally found out that the file had the following history:
* An initial import, from a private branch to the public git repo, with this commitdiff, at Sat, 10 Jan 2009 01:50:54

* A deletion of the file and of most of the imported branch at Wed, 4 Mar 2009 02:28:14, with this commitdiff

* The branch got re-imported, with all new files, at Wed, 4 Mar 2009 03:28:47, with this commitdiff, without PolicyNodeImpl.java

So the file was present in the git repo from Jan, 10 to March, 4; after checking the test execution code, it is clear that the code itself was not included in the final build (delivered to handsets) but was part of a test harness, that (funnily) was mostly silenced during the development period due to the majority of tests failing :-) It is however clear that the code itself was distributed, as it was freely accessible online and through the git tree (and – funnily – it is still available under the same means). It was, however, not part of the Android SDK release, as Android 1.6 rel2 was released in December 2009, while rel3 was released in May, with the commit diff already applied.

Important update: I have verified that the code included in Android is actually a decompilation of an old Java 1.5 class file, and my own comparison is invalid, as it was done with a recent Java edition (that does have more changes – thus suggesting a reimplementation). Also, it seems that Harmony actually has not that code in its repo – despite the fact that in Android is part of the initial import under the “Harmony” subproject. My apologies.

Update 3: To the person in Redwood City, CA, or at least purporting to be, trying to post links to objectionable material on Groklaw, you need to stop.

Update 4: Here's what I think is the operative part of Oracle's Answer to Google's Counterclaims:

9. Answering Paragraph 5, Oracle America admits that Sun released some source code for Java SE and other editions in 2006 and 2007 subject to the terms of the GNU Public License, version 2 (“GPLv2”). Oracle America denies any remaining allegations of Paragraph 5.

10. Answering Paragraph 6, Oracle America admits that Sun published its copyrighted Java specifications and offered licenses to them under certain conditions. For example, in the case of the Java 2 Platform, Standard Edition, Sun permitted developers to create “clean room” implementations of Sun’s Java specifications provided that they comply with all applicable license requirements, including requirements that they (i) include a complete implementation of the current version of the specification without subsetting or supersetting; (ii) implement all the interfaces and functionality of the required packages of the Java 2 Platform, Standard Edition, as defined by Sun, without subsetting or supersetting; (iii) do not add any additional packages, classes, or interfaces to the java.* or javax.* packages or their subpackages; (iv) pass all test suites relating to the most recent published version of the specification of the Java 2 Platform, Standard Edition, that are available from Sun (the Technology Compatibility Kits) six (6) months prior to any beta release of the clean room implementation or upgrade thereto; (v) do not derive from Sun source code or binary materials; and (vi) do not include any Sun source code or binary materials without an appropriate and separate license from Sun. Google is not in compliance with these license conditions. Developers were well aware that Sun’s specification license requires compatibility testing using Sun’s TCKs, which were and are available free of charge to qualifying universities, colleges, not-for-profit organizations, and individuals (see http://java.sun.com/scholarship/). Oracle America lacks sufficient knowledge or information to admit or deny the remainder of the allegations of Paragraph 6, and, on that basis, denies them.

Here are the paragraphs from Google's Answer with Counterclaims (the Counterclaims section), referenced by Oracle here, and I've marked in blue the parts that Oracle is not admitting:
5. Upon information and belief, in response to the urging of open-source advocates and in the hopes of increasing the number of Java users, Sun officially announced that Java would become open-source. In 2006 and 2007, Sun released some but not all of the source code for Java SE (as well as the other editions of the Java Platform) under the terms of the GNU Public License, version 2 (“GPLv2”) open source license. This open-source aspect of Java contributed to its widespread acceptance among software developers.

6. Upon information and belief, Sun also released the specifications for Sun’s Java platform, including Sun’s Java virtual machine, under a free-of-charge license that can be found at http://java.sun.com/docs/books/jls/third_edition/html/jcopyright.html and http://java.sun.com/docs/books/jvms/second_edition/html/Copyright.doc.html, respectively. The license allows developers to create “clean room” implementations of Sun’s Java specifications. If those implementations demonstrate compatibility with the Java specification, then Sun would provide a license for any of its intellectual property needed to practice the specification, including patent rights and copyrights. One example of a “clean room” implementation of Sun’s Java is Apache Harmony, developed by the Apache Software Foundation. The only way to demonstrate compatibility with the Java specification is by meeting all of the requirements of Sun’s Technology Compatibility Kit (“TCK”) for a particular edition of Sun’s Java. Importantly, however, TCKs were only available from Sun, initially not available as open source, were provided solely at Sun’s discretion, and included several restrictions, such as additional licensing terms and fees. In essence, although developers were free to develop a competing Java virtual machine, they could not openly obtain an important component needed to freely benefit from Sun’s purported open-sourcing of Java.

So this is the argument. Oracle says Google didn't cross all it's Ts. And also it seems to be arguing that Google doesn't qualify, not being an individual, nonprofit, etc. Google answers that it used Apache Harmony, a clean room implementation, and it blames Oracle for refusing to give Apache Harmony its blessing. So. This means the picture has gotten clearer, and not so clear at the same time. We know now what the argument is about, and it's also obvious now why Oracle is upset. It feels Google didn't get an appropriate license, and maybe that it derived from Sun source code or binary materials and included Sun source code or binary materials "without an appropriate and separate license from Sun".

If your patents close the door to any alternative way to achieve similar functionality, is the software patent then still legitimate? If you refuse a license to your patent, and there is no other way to achieve that functionality, then what happens? We're going to find out, I gather, with the added complication that the Apache Foundation says the allegedly copyright infringed file named by Oracle isn't part of Apache Harmony. That's what I mean by clearer and yet not so clear. The argument, in effect, goes to the question of the fairness of the patent system, I'd say. And if you look at Google's record in dealing with patent infringement litigation, you would see that they have a very good record of getting patents tossed overboard.

For example, in August, Google was successful against what folks not wishing to get sued by litigious nut jobs now call "non-practicing entities", as reported by The Prior Art:

Earlier this month, Google and its lawyers at Quinn Emanuel Urquhart & Sullivan went to trial against Erich Spangenberg -- one of the best-known and most successful patent enforcers -- in federal district court in Marshall, Tx. At issue was an e-mail sorting patent that Spangenberg picked up on the cheap and then asserted against Google, Yahoo, AOL, Amazon, Borders, and IAC/Interactive in 2007, at the height of the East Texas patent litigation explosion. All of the defendants except Google and Yahoo settled, but it's no surprise that Google, which has a uniquely unbending attitude toward suits brought by non-practicing entities, refused to take out a license on Spangenberg's controversial patent. The company's hard line was vindicated when, after a six-day trial, a panel of 10 jurors found that the search engines run by Google and Yahoo do not infringe the asserted patent. The jury also invalidated the patent on multiple grounds.

None of the parties are saying much about the trial. The lead lawyer for Spangenberg's patent holding company, Bright Response LLC, was Marc Fenster of the Los Angeles firm Russ, August & Kabat; he didn't respond to The Prior Art's requests for comment. Google's outside lawyers at Quinn Emanuel deferred to the company, but a Google spokesperson declined to comment. The company did offer a short statement to sister publication AmLaw Litigation Daily (subscription required) immediately after trial. At that time deputy GC Tim Alger said: "This decision, as well as other recent Google patent litigation victories, validates our long-standing belief that the courts are burdened with a great number of frivolous patent lawsuits filed by speculators looking for an unjustified windfall."

If you view patents as the most holy of holies, then you are asking yourself, why would Google not just buy a Sun license and go through the whole rigamarole? They pay others for licenses, after all, and they have more money than god. Maybe they thought it through carefully and decided Sun was being unreasonable and that it was worth it to fight. Here's the Apache Foundation's Open Letter to Sun Microsystems back in 2007, complaining about Sun's refusal to grant it a license. A bit of it, to give you the idea:
Since August 2006, the ASF has been attempting to secure an acceptable license from Sun for the test kit for Java SE. This test kit, called the "Java Compatibility Kit" or "JCK", is needed by the Apache Harmony project to demonstrate its compatibility with the Java SE specification, as required by Sun's specification license. The JCK license Sun is offering imposes IP rights restrictions through limits on the "field of use" available to users of our software.

These restrictions are totally unacceptable to us. As I explain below, these restrictions are contrary to the terms of the Java Specification Participation Agreement (JSPA) - the governing rules of the JCP - to which Sun is contractually bound to comply as a signatory. The ASF has a proud history of support for open software ecosystems in which commercial software can flourish. However, Sun's JCK license protects portions of Sun's commercial Java business at the expense of ASF's open software. It prevents our users from using Apache software in certain fields of use. Such implicit or explicit threats of IP-based aggression give one actor overwhelming commercial advantages over the other participants in the ecosystem. In an open ecosystem, it must be the case that the necessary IP to implement a specification can be secured independently from the specific commercial interests of any one actor in the ecosystem, which is the basis of our objection to your offered terms.

Your restrictions violate the basic protections of the JCP, which ensure both that a) specification leads and expert groups produce open specifications, and b) anyone can implement and distribute compatible implementations of those specifications without fear of obligation to the specification lead or members of the expert group for any "necessary IP" needed to implement that specification. Specifically, the JSPA requires that

1) a specification lead cannot "impose any contractual condition or covenant that would limit or restrict the right of any licensee to create or distribute such Independent Implementations" (section 5.C.III)

2) a specification lead must license all necessary IP royalty-free to any compatible implementation of a specification (section 5.B)

Your terms are attempting to circumvent both of these requirements.

Besides holding back the Harmony project - a community-led open source project of the ASF since May of 2005 - this failure to comply with your contractual obligations poses serious risk to the credibility of the JCP as an open standards organization, and the reputation of Java itself as an open technology. We believe that this also threatens the general cooperative nature of the commercial Java ecosystem, puts at risk the long-standing positive relationship between Sun and the ASF, and probably between Sun and the broader open source community - all of which is key to the continued growth of Java.

Beyond the obligations of the JSPA, these limitations are also contrary to Sun's public promise that any Sun-led specification would be fully implementable and distributable as open source/free software. It shouldn't have to be mentioned that "fully implementable" includes passing the JCK, as required by the specification license. To this end, limitations on field of use for our users is contrary to the basic principles of open source licensing, and therefore these limitations would prevent distribution under any open source license, including our own.

Or maybe somebody goofed. Or maybe Google did something it shouldn't, according to the rules of the most holy of holies. We won't know for sure until discovery gets going, and there is always a possibility that this settles out and we never find out. But at least now we know what the argument is about. And if you are curious about how copyright law handles copyright infringement of structures and methods, here's Whelan v. Jaslow, which is a famous case that set out a way to know when it is infringing and when it's just the only way to accomplish a computer task.

  


Oracle Gets Specific -- Files Amended Complaint - Updated 4Xs: And More, More, More: Oracles Answers Google's CC | 538 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections Here if needed
Authored by: entre on Thursday, October 28 2010 @ 12:11 PM EDT
For PJ

[ Reply to This | # ]

Help me understand...
Authored by: Anonymous on Thursday, October 28 2010 @ 12:22 PM EDT
I thought Google did an independent implementation of everything in the virtual
machine, except for parts of the Harmony libraries, which are also an
independent implementation. Now Google is claiming right to used copyrighted
material because they used source derived from GLPed Java source after all?
Isn't that a contradiction, or what am I missing?

Or is it all about docs? The patent claims are silly (according to me), but you
can't just literally copy documentation. That's like a book. Isn't it?

[ Reply to This | # ]

Oracle Gets Specific -- Files Amended Complaint
Authored by: Anonymous on Thursday, October 28 2010 @ 12:22 PM EDT
PolicyNodeImpl.java was GPL'd by Sun here

[ Reply to This | # ]

Newspicks
Authored by: hans on Thursday, October 28 2010 @ 12:29 PM EDT
Chumby's are cool.

Hans

[ Reply to This | # ]

Additional thoughts about copyright infringement induced by the javadoc program
Authored by: iraskygazer on Thursday, October 28 2010 @ 12:40 PM EDT
A question:
Do all users of the javadoc program become copyright infringers? I ask this
question because javadoc can produce java class documentation that looks like an
exact copy of the documentation produced by the original class developer.

Does this program, javadoc, promote infringement by producing identical
documentation for each execution of the program?

[ Reply to This | # ]

Off Topic Thread
Authored by: artp on Thursday, October 28 2010 @ 12:48 PM EDT
Please change the Title Block.


---
Userfriendly on WGA server outage:
When you're chained to an oar you don't think you should go down when the galley
sinks ?

[ Reply to This | # ]

Organization of Java documentation
Authored by: Anonymous on Thursday, October 28 2010 @ 01:13 PM EDT
Isn't most of the organization of the Java documentation dictated by the Javadoc
tool, which from what I understand not only Sun used for the Java documentation
but also several Java programmers use for their code documentation?

[ Reply to This | # ]

Oracle Gets Specific -- Files Amended Complaint
Authored by: Anonymous on Thursday, October 28 2010 @ 01:13 PM EDT
There is something strange about this "they actually copied code"
example. If you look at the harmony source code there is no PolicyNodeImpl.java
class here:

http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/securi
ty/src/test/support/common/java/org/apache/harmony/security/tests/support/cert/

But it does exist in the android class library:

http://android.git.kernel.org/?p=platform/libcore.git;a=tree;f=support/src/test/
java/org/apache/harmony/security/tests/support/cert

Note that it is a test class, not an actual implementation class used in the
core class library, only used in the test framework.

The version from Sun/Oracle (under GPL) can be found here:
http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/sun/security
/provider/certpath/

Here it is actually an implementation class really used by the core class
library.

Neither the android git history, nor the openjdk mercurial history of this file
goes back far enough to really understand where these versions originated from.

There is some vague similarity between the android version and the openjdk
version, but not really enough to know whether it was actually copied, or
created mostly identical because they were implementing/testing similar things
to be compatible.

But it seems this particular file didn't enter android through harmony.

[ Reply to This | # ]

OK, that's beg the question
Authored by: Yossarian on Thursday, October 28 2010 @ 01:28 PM EDT
>"Java method and class names, definitions, organization, and
>parameters; the structure, organization and content of Java
>class libraries"

Java has plenty in common with C++ and other object oriented
languages. Should not Java be held to the same standards
Oracle demands from other, by removing all those methods and
definitions from Java?
(Yes, I know that not much would remain of Java in that case.
That's my point.)

[ Reply to This | # ]

Oracle Knows it must - Files Amended Complaint
Authored by: webster on Thursday, October 28 2010 @ 01:30 PM EDT
.
Oracle did not oppose the motion. They hurried up and specified. They knew
they had to eventually anyway; they skipped a few steps; they eliminated the
risk of paying any fees or costs or having to refile for not specifying. No
settlement yet, so back to the mines, Sifun'umsebenzi.

OMG the Monopoly is threatening ASUS and Acer about running some patents in
Android, too! They should sort it out and maybe offer all these confusing
patents up to [g]od.

.

[ Reply to This | # ]

ASL vs. GPL
Authored by: Anonymous on Thursday, October 28 2010 @ 01:35 PM EDT
Sun Java materials that were released as open-sourced software in 2006 and 2007
Is that sufficient? Noone denies that OpenJDK is an open source license, but it is GPL'ed. Android's license is ASL. At least those parts of Android, which are derived from the OpenJDK (if there are any) must be GPL'ed as well.

[ Reply to This | # ]

You've got to be kidding
Authored by: Anonymous on Thursday, October 28 2010 @ 01:48 PM EDT
Oracle is claiming that the API is copyrighted? And that the format of the Javadoc is copyrighted? Oh, and one file is copied?

I mean, OK, one file copied is at least a real issue. But it sounds like a SCO - "similar lines in both files". Um, yeah, there sure are, BECAUSE THEY'RE DOING THE SAME THING!

If this reflects on how valid the patents are, this is a slam dunk for Google - which isn't to say that it won't take five years.

MSS2

[ Reply to This | # ]

Where does this leave the programming community?
Authored by: cassini2006 on Thursday, October 28 2010 @ 02:42 PM EDT

Are programming platforms becoming balkanized by O/S?

Java was the only cross-platform programming language with any impact. Every platform has dropped major programming languages in the last years. Microsoft is abandoning IronPython and IronRuby. In past, they dropped support for VisualJ++ a long time ago. Apple has announced the phase out of Java support. Linux has never really developed a C# implementation compatible with Microsoft's.

This leaves Microsoft programming being about .NET, C# and C++ on the Windows API. Apple and iPhone programming is about Objective C. Linux programming has many language choices, but none compatible with Apple or Microsoft.

What is the cross-platform programmer to do?

[ Reply to This | # ]

there's a bunch of patents violated here.
Authored by: Anonymous on Thursday, October 28 2010 @ 02:49 PM EDT
From an interview with James Gosling, creator of Java. He also worked at
Oracle, when they bought Sun. So yes Google did violate patents and yes Oracle
wants a licensing deal.

http://www.basementcoders.com/transcripts/James_Gosling_Transcript.html

Moderator: What are your thoughts on the lawsuit. The whole Google thing? What
are your thoughts behind that?

James Gosling: It's all about money. There's nothing else in there. At Sun we'd
done an analysis and yeah, there's a bunch of patents violated here.

Moderator:Is it because of the encroachment on something like ME, JavaME (mobile
edition) because now ME doesn't really look that attractive with Android?

James Gosling: It was just other patents being involved and that legal guys do
these evaluations all the time, and we've been through a lot of patent cases and
we really, really, really, really hated litigation. It's a waste of time, it's
really expensive, it's a PR nightmare when the other side is the universe's
lovechild it's an especially large PR nightmare. (27:00) So the Google guys are
being a little weird, but they're also being a little good, so add up the
balance, but the Oracle guys want a licensing opportunity.

[ Reply to This | # ]

Something to chew on ...
Authored by: Anonymous on Thursday, October 28 2010 @ 09:40 PM EDT
from the Java SDK license ...

<blockquote>
Nothing in this agreement shall be construed to limit either party's right to
independently develop or distribute software that is functionally similar to the
other party's products, so long as proprietary information of the other party is
not included in such software.
</blockquote>

This kind of clause might cause real problems for Oracle if it is trying to
argue copying of methods and concepts.

[ Reply to This | # ]

A New Kind of Threat?
Authored by: Anonymous on Thursday, October 28 2010 @ 09:52 PM EDT
It seems to me that we have a new trend emerging: companies built atop open
source who die and get bought out by business weasels that try to monetize the
corpse of that company.

SCO/Caldera was once a decent, if unsuccessful, company under Ransom Love. Now
we have Sun. I wonder who will be next? Even if we trust somebody 100% today,
they could suffer a hostile takeover tomorrow and all of their copyrights and
such could end up in the hands of greedy lawyers.

I don't know about anyone else, but I'm going to start calling companies like
this 'IP Zombies'. The image of someone's corpse being turned into an unholy
mockery controlled by some fiend in order to seek out and eat the brains of the
living seems fitting.

[ Reply to This | # ]

Oracle Gets Specific -- Files Amended Complaint - Update: And More, More, More
Authored by: Anonymous on Friday, October 29 2010 @ 12:56 AM EDT
There is some interesting discussion on reddit that the harmony source file matches almost identically to what comes out of the java decompiler called JAD if you run oracle's class file from 1.5.0 through it. Here

[ Reply to This | # ]

"the 4 fields specified by RFC 3280"
Authored by: ak on Friday, October 29 2010 @ 01:57 AM EDT

The OpenJDK version of PolicyNodeImpl.java contains a comment "the 4 fields specified by RFC 3280".

RFC 3280 is an Internet Engineering Task Force (IETF) standard. The official name is "Internet X.509 Public Key Infrastructure- Certificate and Certificate Revocation List (CRL) Profile".

In other words: some similarities in the code can be explained by a standard.

[ Reply to This | # ]

It's Google's Fault for using JAVA
Authored by: Anonymous on Friday, October 29 2010 @ 03:20 AM EDT
It's Google's FAULT for using JAVA without licensing it.
It's simply Google's fault.

Google should have used FOSS, not Oracle's proprietary IP - particularly if it
did
not want to license it in the first place.

Now it is in a lot of hot water.

My guess is that Google will have to PAY Oracle millions.

[ Reply to This | # ]

Oracle Gets Specific -- Files Amended Complaint - Update: And More, More, More
Authored by: Anonymous on Friday, October 29 2010 @ 03:58 AM EDT
I also have to disagree. I have seen MS many times coming second, and even
worst, plagiarizing/bullying/buying off successful competitors into oblivion and
destroying/rapping their technologies.

It is not true either that there may not be foresight within MS: they saw UNIX
as the solution in the 80s, saw the importance of the browser, etc... But time
and over again, their greed has led them to ignore, subvert or delay these
potential advantages for short sighted gain.

To be true this is not MS-only: most big companies tend to do the same at some
point. If you can, it is most cost-effective to continue making a profit from an
already developed technology than to invest in new things that compete with what
you already have (see IBM in the 80s or Apple in the 90s).

Some companies mature and learn at some point that they have no choice but to
innovate continuously (as Google is doing) or at least reach a compromise
between innovation an RoI. That is where MS fails, they are too much tilted
towards RoI and even though they may do innovate, they refrain from exploit it,
often until it is too late, or only as a way to troll/extort others and prevent
competition.

[ Reply to This | # ]

"...and then everyone including Google switches to the GPL'd stuff"
Authored by: Anonymous on Friday, October 29 2010 @ 04:03 AM EDT
I wondered about that (mentioned in comments on
http://lwn.net/Articles/404260/). It would indeed seem possible to generate a
dalvik version whose java-ish bits derive from GPLjava. Here are the issues that
occur to me:

- google wants to remain non-GPL
- the usefulness of the switch depends on the strength of the implicit GPL2
patent licence, which I believe is untested

Thus, a GPL-protected version would probably only be attractive if Oracle win
and seriously threaten OEMs using dalvik. However, assuming that the implicit
licence does have some teeth, such a move would seem to remove most of Oracle's
java patents from the equation. (Oracle might find itself in the amusing
position of having to argue that patents it had claimed read on Java in fact
read on GPLdalvik but not GPLjava, to avoid the implicit licence).

And of course it would be a brilliant thing for FOSS.

On a separate question. What if part of the current dalvik is shown to be
derived from GPLjava? That already seems to be a possibility here. Presumably
that means that GPL can be enforced on the whole of dalvik? There might be some
interesting follow-ups to this suit.

[ Reply to This | # ]

What interests me is what Oracle wants to get out of this
Authored by: TiddlyPom on Friday, October 29 2010 @ 07:55 AM EDT
What I would like to know is what Oracle wants to gain from this lawsuit - I
presume they want a revenue stream from Android?

JavaME is NOT suitable for modern smart phones based on Android, iOS or WM7 so
this will not force suppliers to use that. Ultimately that was why they decided
to use Apache Harmony and their own register based VM - it worked much better on
smart phones!

Attacking Dalvik is plain stupid.

There are LOTS of VMs and prior art to invalidate any claims that Oracle might
have - including Python, Ruby, Perl (Parrot), BASIC, PHP and vast numbers of
other interpreted languages as well. Oracle - Dalvik is NOT Java or indeed
specifically a JVM - it is a VM which runs its own byte code.

That means that they must by attacking Apache Harmony (which has existed for
ages in various forms) or more specifically Google's use of it - so why not
state that from the beginning?

That leaves the following choices for Google:

1) Stick things out and stand up to Oracle. It is certainly possible that they
could win at this and is a preferred outcome IMHO. Dalvik (I think) is quite
safe so the major fighting will be over the use of Apache Harmony I think.

2) License standard Java in some way for commercial use on Android - I presume
that is what Oracle wants Google to do so that they can gain a revenue stream.
Oracle must know that Google cannot afford (either money-wise or license-wise)
for that to happen as it would destroy a major competitive advantage of Android
over iOS and WM7.

3) Move over to using the OpenJDK. Being GPL licensed, I would suspect that
there is sweet naff all that Oracle could do about this - but the ClassPath
exception would mean that all applications published under Android would HAVE to
be GPL licensed. That would be GREAT but many commercial vendors would not want
to support Android anymore I suspect. Oracle is probably banking on this not
happening.

4) Move over to another language such as Python or Ruby. Google should have
done this in the first place I think. The hard part would be to write a compiler
that compiles Ruby or Python to Dalvik byte code. Tricky but not impossible.
Although it sounds horrendous, it would also not be impossible to write some
sort of parser that reads Android Java files and generates (say) equivalent Ruby
files but would take a while. A better alternative might be to just run the
CPython or CRuby VMs natively on the phone but would require a re-writing of the
whole Android platform.

5) Use some other language (such as Google Go) which is easier to target at
Dalvik/Android. Again, existing code could be ported using a code translator.

Why, oh, why are you doing this Oracle!

Convincing more people to use Java hurts your major competitor, Microsoft which
is surely more beneficial to you than kicking your current supporters.

You are really hurting the long term future of Java and will turn the open
source community away from Java in the long term. Personally I have abandoned
Java for Python, PHP and Ruby a long time ago. Rewriting an equivalent to
Eclipse would be hard but not impossible and the FOSS community would no doubt
do it.

A quick heads up guys.

Oracle is TRYING to control the open source world with its actions of holding
OpenOffice and MySQL and its current actions against Google with Java. Python,
Perl and Ruby are complete community projects and quite safe from Oracle BUT PHP
(in the form of Zend) COULD be purchased by Oracle and then subverted. Oracle
has already stated thatPHP is already a preferred web technology.

I suspect though that PHP would just be forked (as with SkySQL and LibreOffice)
as the code is GPL based. I would also suggest making an official fork of
VirtualBox to take that out of Oracle's hands.

---
Microsoft Software is expensive, bloated, bug-ridden and unnecessary.
Use Open Source Software instead.

[ Reply to This | # ]

The Scoracle, Right to Use Licence
Authored by: Ian Al on Friday, October 29 2010 @ 07:58 AM EDT
Since they were so kind as to say where the documentation could be found, I wondered what sort of licence they were offering. I only, fairly, reproduce the first couple of paragraphs for internal, educational purposes. It is all Copyright 2003 Sun Microsystems, Inc.
NOTICE; LIMITED LICENSE GRANTS

Oracle and/or its affiliates. ("Sun") hereby grants you a fully-paid, non-exclusive, non-transferable, worldwide, limited license (without the right to sublicense), under the Sun's applicable intellectual property rights to view, download, use and reproduce the Specification only for the purpose of internal evaluation, which shall be understood to include developing applications intended to run on an implementation of the Specification provided that such applications do not themselves implement any portion(s) of the Specification.

Sun also grants you a perpetual, non-exclusive, worldwide, fully paid-up, royalty free, limited license (without the right to sublicense) under any applicable copyrights or patent rights it may have in the Specification to create and/or distribute an Independent Implementation of the Specification that: (i) fully implements the Spec(s) including all its required interfaces and functionality; (ii) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (iii) passes the TCK (including satisfying the requirements of the applicable TCK Users Guide) for such Specification. The foregoing license is expressly conditioned on your not acting outside its scope. No license is granted hereunder for any other purpose.
IIRC it is permissible to add all sorts of limiting terms to a copyright licence (as seen in EULAs) that go way beyond the act of copying.

I assume that extends to the right to employ the specification to make something. That second paragraph seems to say that you can only use the specification to make an independent implementation of the specification that does not stray from the official implementation.

The Dalvik dx tool, presumably, implements the specification so that it can translate from the Java class file to the Dalvik, .dex class file. This fits the restriction of 'internal evaluation'. However, it does not fit 'applications intended to run on an implementation of the Specification' because Dalvik does not implement all the core classes in Java according to descriptions I have read.

The first paragraph deals with what you are allowed to do with the documentation. You are allowed to view it (how thoughtful!) as long as you only inwardly digest the text. If Dalvik provides copies of the specification documentation to Dalvik developers then this is not permitted under paragraph one and they should, instead, be directed to the Oracle USA site to get their own copyright licence.

My guess is that the Harmony documentation is not the Sun documentation. I also guess that the Harmony clean-room implementation complies with paragraph two. If Dalvik developers are directed to Harmony documentation, then the Sun Licence does not apply.

Of course, if the Harmony project laddered and obfuscated the Sun text, then the Harmony project would have violated the Sun copyright according to the SCO theory. They would have been inciting Android to misuse the Harmony documentation.

Perhaps that is what Oracle are maintaining when they assert that,
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 19 copyrighted Java API packages
Perhaps PJ's observations suggest just how much derivamication and copyficating infringimissability is at issue, here.
"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." Don't tell me it's APIs and methods and concepts again. And infringing the "organization" of Java documentation? Lordy.
PJ seems quite scornful of Oracle USA's definition of what sort of derivation from copyright material constitutes copyright infringement. It's hard not to share that scorn. My crystal ball forecasts much tap-dancing, bench pounding and handwaving in your future. She's right, isn't she? 'This filing smells like Boies Schiller to me, their style.'

This case is being heard in the court of the Northern District of California. I thought that copyrights were a federal matter. Is that actually a federal court? I don't know about patents and federal courts. The question arose because I was thinking of the tests in the Gates Rubber case. I wondered, depending on the federal court circuit, if the Abstraction, Filtration and Comparision test will be found relevant. PJ mentioned the APIs and these are some of the things that get filtered out.

However, there is another issue raised by this which is even more central to the complaint. An EULA on software is a licence to use the software (hey, don't glaze over just yet!). This documentation is not the software. It is the specification of the software. If one writes a recipe for pizza in a book, is one entitled to issue a copyright licence for the information in the book which prevents you using the recipe for the base and to add your own topping? What is it about Oracle USA's recipe for a program environment that permits licencing that is more restrictive than copyright law?

---
Regards
Ian Al
SCOG, what ever happened to them? Whatever, it was less than they deserve.

[ Reply to This | # ]

Microsoft has an opportunity in all of this
Authored by: Anonymous on Friday, October 29 2010 @ 08:54 AM EDT
Perhaps this should have gone it OT, I'm not sure. With all of the concerns
over OpenJDK and JCP, it seems to me that if Microsoft would come forward and
address the concerns regarding Mono (perhaps Moonlight too) it could put itself
in a strategically beneficial place.

[ Reply to This | # ]

What lossess?
Authored by: jez_f on Friday, October 29 2010 @ 09:57 AM EDT
As a direct and proximate result of Google’s direct and indirect willful copyright infringement, Oracle America has suffered, and will continue to suffer, monetary loss to its business...

What and how. I don't understand what losses Oracle can get from Android?

Are they saying that Android killed Java ME? What money does Google make directly from distributing android?

[ Reply to This | # ]

  • Devil's advocate - Authored by: Anonymous on Friday, October 29 2010 @ 10:31 AM EDT
    • None! - Authored by: TiddlyPom on Friday, October 29 2010 @ 11:05 AM EDT
  • What lossess? - Authored by: hAckz0r on Friday, October 29 2010 @ 12:25 PM EDT
  • These losses - Authored by: Anonymous on Friday, October 29 2010 @ 12:37 PM EDT
The code IS copied, and it is NOT copied from OpenJDK!
Authored by: Anonymous on Friday, October 29 2010 @ 01:33 PM EDT
The "OpenJDK defense" is incorrect, because the code is not a reimplementation, but a direct copy. Furthermore, the origin of the code does not come from OpenJDK. Please see this discussion for more details, but to be brief:

Running JAD on PolicyNodeImpl.class in JDK 1.5 results in output that is identical to Google's version (including all the weird variable names like "flag1", "flag2" etc, strangely written for-loops, use of string literals instead of named constants even where the latter is first declared etc) except for indentation & whitespace. There is no reasonable way in which one could manually write the same exact code from scratch, so copying code is a given now.

Furthermore, last I checked, JDK 1.5 predates OpenJDK, and was not distributed under GPL or other similar FOSS license. So Google is clearly in the wrong here by all accounts.

[ Reply to This | # ]

How can they claim to own copyrights on "method and class names"
Authored by: mvs_tomm on Friday, October 29 2010 @ 02:29 PM EDT
Doesn't a copyright have to be on something more substantial than "method
and class names"? Can the title of a book be copyrighted?

[ Reply to This | # ]

"To the person in Redwood City, CA......"
Authored by: tiger99 on Friday, October 29 2010 @ 02:37 PM EDT
Just possibly a spambot on someone's badly maintained Windoze PC. Some of my friends had pr0n posted on their Facebook pages because of that a while back.

But it is very clear that the anonymous trolls and shills are also out in force today. I guess that PJ's reporting, and/or some of the well-informed comments, are too close to the truth for some people. Just like what used to happen immediately before every setback for SCO in court. Could it mean that Oracle's legal position is a bit flaky?

As this involves Oracle, I can't help but wonder if the infamous Cindamuse, with her alleged connection to Larry Ellison, is involved, the same one who tried twice to have the OpenIndiana article deleted from Wikipedia. I note that she does not seem to be married to Jimmy Wales today. Must be feeling lonely......

PJ will of course only reveal as much as is compatible with the security of Groklaw, i.e. usually not very much, which is exactly as it should be. But the trolls, whoever they are, are rather annoying. They look silly too.

[ Reply to This | # ]

PJ, you misunderstand a technical term
Authored by: Anonymous on Friday, October 29 2010 @ 03:25 PM EDT

It's SCO II, at least in part, alleging that the infringed material is "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." Don't tell me it's APIs and methods and concepts again.

"Methods and concepts" as used by SCO in its complaint meant the same as they do in ordinary use.

"Method" in Java, however (as in many other object-oriented languages) has a precise technical meaning. It's a 'term of art', if you like. It's to do with exactly how APIs relate to classes. A lot of the work in object-oriented design goes into this, probably most of the work, in fact. IANAL so I don't know what the legal threshold for infringement is, but if anything at all short of copying everything is regarded as infringing, this should be.

Note, I'm not expressing any opinion as to the overall merits of either side's case, as to whether patent law is good or bad, or as to whether copyright law is good or bad. I'm merely pointing out that there is no material resemblance between Oracle's complaint and SCO's. It is not SCO's 'methods and concepts' again.

[ Reply to This | # ]

Stalling
Authored by: Anonymous on Friday, October 29 2010 @ 03:35 PM EDT
This copyright claim seems like stalling to me. They don't seem to want the case
to end sooner. I doubt they can get anything out of their copyright claim if
this is the best example of copying.

If the code is indeed generated by a decompiler from a Sun JDK binary. What
would be interesting is to see if any other code might match if one compare the
rest of JDK (decompiled).

Another interesting point would be if this particular file/code is found
anywhere else (both the JDK and Android version)?

[ Reply to This | # ]

  • Decompiled - Authored by: Anonymous on Friday, October 29 2010 @ 06:07 PM EDT
Oracle Gets Specific -- Files Amended Complaint - Updated 3Xs: And More, More, More
Authored by: Anonymous on Friday, October 29 2010 @ 04:55 PM EDT
The EU must be surprised.

The Commission ... examined ... the ... impact of Oracle's acquisition of ... Java ...

They forgot mobile devices?

... It found that Oracle's ability to deny its competitors access to important IP rights would be limited ...

Perhaps Google should implement MySQL with a new pluggable storage engine on Android :-)

Oracle will refrain from threatening legal action against any third party that chooses to implement MySQL's Pluggable Storage Engine architecture without

[ Reply to This | # ]

"some donkey might buy it someday, and then where will you be?"
Authored by: Yossarian on Friday, October 29 2010 @ 05:56 PM EDT
I'll sue Shrek

[ Reply to This | # ]

Creating more work for Google
Authored by: Anonymous on Friday, October 29 2010 @ 06:36 PM EDT

Oracle's latest filing demonstrates to Google that they've been doing their homework before initiating this action, and that Google has to be prepared for a fight if it wants to continue. By releasing only one specific example of possible copyright infringement, Oracle forces Google to guess what else they might know, but haven't revealed, and creates extra work for Google to go back over everything and verify that there haven't been other shortcuts taken in the Android development process.

The PolicyNodeImpl.java example cited by Oracle does indicate that at least one Google employee may have cut some corners on the way to getting Android out the door. There's pretty convincing circumstantial evidence that the code was not adopted from Apache Harmony, but was added to Android by a Google developer after decompiling from a class library found in a Sun JDK release.

As was pointed out in previous comments, the class appears to be used in Android only for testing purposes. It's location in the Android source tree corresponds to a similar location in the Harmony source tree, but the Android directory contains 3 additional files compared to the Harmony version.

Android: /support/src/test/org/apache/harmony/security/tests/support/cert/

Harmony: .../classlib/modules/security/src/test/support/ common/java/org/apache/harmony/ security/tests/support/cert/

Comparing the pattern of source files with those apparently added by Google shows some clear differences. The Harmony-derived files all contain an author name, which is in keeping with Apache's attention to documenting the provenance of any code submitted to the project. The Android-only ones listed here do not. Two of the Android files, MyFailingCertificate.java and MyFailingCertPath.java, do not contain a header stating a license to use. The PolicyNodeImpl.java file listing includes this:

1 /*r
2 * Licensed to the Apache Software Foundation (ASF) under one or morer
3 * contributor license agreements. See the NOTICE file distributed withr
4 * this work for additional information regarding copyright ownership.r
5 * The ASF licenses this file to You under the Apache License, Version 2.0r
6 * (the "License"); you may not use this file except in compliance withr
7 * the License. You may obtain a copy of the License atr
8 *r
9 * http://www.apache.org/licenses/LICENSE-2.0r
10 *r

This is problematic for Google, because the file claims to be licensed to the Apache Software Foundation under one or more contributor license agreements, yet this file does not appear to have been part of an Apache project. It also differs from other Apache derived files in that it contains escape sequences that indicate the source was created on a Windows system which uses CR-LF as a line terminator, rather than the LF that Linux and Unix systems typically use.

Other people have mentioned strong signs that indicate the source was derived from a decompiled binary form found in a Sun-released .jar file. While not completely conclusive, the circumstantial evidence seems to make it extremely likely that this is indeed the case. Just to add one more piece to the puzzle, I'll point out that one particular method implementation is illustrative of why the source seems derived from a decompiled binary. The Sun version of the class has a method called prune, with one section as follows:

251: while (it.hasNext()) {
252:    PolicyNodeImpl node = it.next();
253:    node.prune(depth);
254:    // now that we've called prune on the child, see if we should
255:    // remove it from the tree
256:    if ((node.mChildren.size() == 0) && (depth > mDepth + 1))
257:    it.remove();
258: }

The corresponding Android implementation has this:

143 do {r
144    if(!iterator.hasNext()) break;r
145    PolicyNodeImpl policynodeimpl = (PolicyNodeImpl)iterator.next();r
146    policynodeimpl.prune(i);r
147    if(policynodeimpl.mChildren.size() == 0 && i > mDepth + 1)r
148    iterator.remove();r
149 } while(true);r

The Android version shows a functionally equivalent way to express a while block, but uses a form that most programmers would find awkward. It reflects the style a compiler might represent a while block for efficiency reasons, and which a decompiler would produce when run on compiled code.

What does this mean for Google? As far as copyright infringement goes, this is a relatively minor issue. Google was wrong to transform a GPL-license into an Apache license for this code. The person who did it did it willfully, because the license header claiming to be a contribution to an Apache project had to be added after the act of decompiling the code from the Sun source. But given all that, the implications seem small. The GPL code was released with a classpath exception. The code does not appear to be used in actually running Android, but was part of a series of automated tests for compliance with Sun specifications. It likely was not distributed as part of the Android runtime environment, but was distributed as part of the complete source tree of the Android project. It technically appears to be a violation of the GPL license, but a violation that can be easily remedied by either replacing the Apache license with a GPL+classpath exception license, or simply removing the code from the source tree distribution (since it is not essential in any way to Android operations).

The greater impact to Google is that Oracle has successfully raised some doubts as to how careful Google has been in policing its own source code. If one person cut corners by improperly appropriating code from other sources, were there others? Even if the answer is no, Google is now put on the defensive to show that it's true. That's more work to do, in a case that already promises to involve a massive effort as two behemoths in the industry face off against one another in court.

--bystander1313

[ Reply to This | # ]

I've verified the Android version is very close to the decompiled Oracle code
Authored by: jbb on Friday, October 29 2010 @ 06:45 PM EDT
I use Gentoo. YMMV on other systems.

I got the rt.jar file from sun-jre-bin-1.6.0.22. I simple unzipped it and found the PolicyNodeImpl.class file (in the sun/security/provider/certpath directory). I decompiled it using jad (from the jad-bin package).

$ jad -ff -nonlb PolicyNodeImpl.class
I downloaded the Android version from here. I will post the actual diff I got in a reply to this message.


---

[X] Ignore DRM Restrictions

[ Reply to This | # ]

What's the harm to Oracle from copying PolicyNodeImpl?
Authored by: Anonymous on Saturday, October 30 2010 @ 08:59 PM EDT
Without knowing anything about how android works, this file would seem to be
quite unimportant, and hardly worth suing over. From its location it appears to
be part of a test suite google had for the security stuff in apache harmony- is
it even used in android? Is it distributed as part of android? Even if the worst
is true for google and they come out with their hands up and say 'sorry, an
intern copied this file by mistake'- then they delete it, or re-write it, and
perhaps pay a fee for damages to oracle- but it's surely worth next to nothing
in real terms for either company, since its not part of any core functionality
(any functionality at all?), and can be easily re-implemented (in perhaps only
one way, since it appears to be based on a well-defined standard).

For the other allegations google would seem to have some reasonable defences.
But even if google have to pay up for this file, is it even worth the price of a
lawyers lunch?

[ Reply to This | # ]

harmony
Authored by: SilverWave on Sunday, October 31 2010 @ 05:54 AM EDT
December 19, 2007 Apache, Sun still in disharmony over Harmony The open-source Java project moves forward with the announced availability of Harmony 5.0 Milestone 4, but disagreement remains over compliance testing By Paul Krill | InfoWorld




http://www.infoworld.com/d/developer-world/apache-sun-still-in -disharmony-over-harmony-146

Quote:
We knew when we chose the GPL and the free software model for Java technology that we couldn't satisfy everyone's desires. This is the case for the Apache Harmony Project at the Apache Software Foundation," Green said. "Sun has offered Apache Harmony a license to use the JCK (Java Compatibility Kit) and the Java Compatible logo at no charge once their implementation passes the tests, and we're even offering free support to help Apache run the JCK. But because the Apache code is not governed by the GPL and does not require code-sharing by any entity using or modifying Harmony, the terms of this license are the same terms under which Sun licenses the JCK to commercial entities that build their own independent implementations of the Java SE platform," Green said. "As was made clear in their open letter to Sun, [Apache] is not satisfied with these terms," Green said. "Unlike the GPL, the Apache open source license does not require innovation to remain in the open. Java technology governed by the Apache license could be altered by any organization -- commercial or non-profit -- and rendered both incompatible and inaccessible to the community. The trust and value of "Write Once Run Anywhere" could not be upheld," said Green."


Interesting...

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

So Google's defence is that SUN wasn't "fair" with Harmony-ASF? Oh what a tangled web we weave.
Authored by: SilverWave on Sunday, October 31 2010 @ 06:37 AM EDT
Well they at least have a chance as there is a lot of wiggle room in the various
promises and agreements.

This just got a lot more interesting.

Particularly the interplay betwixt the GPL an the Apache licence.





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

May you copyright math?
Authored by: Ian Al on Monday, November 01 2010 @ 04:31 AM EDT
We all do it, even me. We think that software can be copyrighted because of what
it does, rather than what it is.

Nobody gets their briefs in a twist because someone paraphrases a paragraph in a
book.

We have got all hot and bothered because a few lines of software can be
translated into something that will run on an implementation of an approximation
of an abstract math idea called the Universal Turing Machine.

I want to repeat elements of PoIR's previous work because there are still
doubters out there. That makes it too large for this comment and so I give it in
a child comment.

The punch line is that a paragraph of source code is a paragraph of creative
expression that has value because it can be converted to run on a computer. It
is also math. I discuss how much math has to be copied from a copyright piece
before copyright is infringed.

---
Regards
Ian Al
SCOG, what ever happened to them? Whatever, it was less than they deserve.

[ Reply to This | # ]

Oracle Gets Specific -- Update 4
Authored by: rsteinmetz70112 on Monday, November 01 2010 @ 03:20 PM EDT
It seems Sun was trying to prevent a repeat of the Microsoft Java debacle. I can
certainly understand why.

However if Sun released the Java specification with specific conditions, then it
seems Java is incomparable with the GPL and Apache License.

If that's the case I wonder why Sun didn't tell Apache that their license
apparently allowed someone to violate the conditions under which Sun released
the specification, or Maybe they did.

---
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 Gets Specific -- Files Amended Complaint - Updated 4Xs: And More, More, More: Oracles Answers Google's CC
Authored by: cdaffara on Tuesday, November 02 2010 @ 08:49 AM EDT
Some updates on my initial analysis; the file has the
following history:

- An initial import, from a private branch to the public git
repo, with this commitdiff, at Sat, 10 Jan 2009 01:50:54
- A deletion of the file and of most of the imported branch
at Wed, 4 Mar 2009 02:28:14, with this commitdiff
- The branch got re-imported, with all new files, at Wed, 4
Mar 2009 03:28:47, with this commitdiff, without
PolicyNodeImpl.java

So the file was present in the git repo from Jan, 10 to
March, 4; after checking the test execution code, it is
clear that the code itself was not included in the final
build (delivered to handsets) but was part of a test
harness, that (funnily) was mostly silenced during the
development period due to the majority of tests failing.

It is however clear that the code itself was distributed, as
it was freely accessible online and through the git tree
(and – funnily – it is still available under the same
means). It was, however, not part of the Android SDK
release, as Android 1.6 rel2 was released in December 2009,
while rel3 was released in May, with the commit diff already
applied.

[ Reply to This | # ]

PolicyNodeImpl member ordering suggests it was copied from Oracle
Authored by: Anonymous on Tuesday, November 02 2010 @ 10:22 AM EDT
As this detailed analysis of PolicyNodeImpl members points out, private members are not part of an API and neither the Oracle or Google code follows the ordering conventions commonly seen with multiple definitions.
The code does look like it was copied. Can Google simply move things around to create enough 'difference' for the work to be considered distinct? Can copyright be claimed on any ordering of member definitions?

[ Reply to This | # ]

Field of use nonsense
Authored by: Anonymous on Wednesday, November 03 2010 @ 05:56 PM EDT
>Oracle has not changed that exhibit that I could see. So I'm guessing that
means Oracle is going to say it's open sourced but only for the desktop. Field
of use.<

Copyright law contains no exclusive right to "use" a copyright -- this
isn't patent law. "Using" a copyrighted work on a desktop machine
doesn't violate any sec. 106 exclusive right. See:

"An unlicensed use of the copyright is not an infringement unless it
conflicts with one of the specific exclusive rights conferred by the copyright
statute. Twentieth Century Music Corp. v. Aiken, 422 U.S., at 154-155.";
SONY CORP. OF AMER. v. UNIVERSAL CITY STUDIOS, INC., 464 U.S. 417 (1984).


See also:

"The Copyright Act of 1909, 35 Stat. 1075, as amended, 17 U.S.C. § 1 et
seq., [Footnote 2] gives to a copyright holder a monopoly limited to specified
"exclusive" rights in his copyrighted works. [Footnote 3] As the Court
explained in Fortnightly Corp. v. United Artists, supra:

'The Copyright Act does not give a copyright holder control over all uses of his
copyrighted work. Instead, § 1 of the Act enumerates several 'rights' that are
made 'exclusive' to the holder of the copyright. If a person, without
authorization from the copyright holder, puts a copyrighted work to a use within
the scope of one of these 'exclusive rights,' he infringes the copyright. If he
puts the work to a use not enumerated in § 1, he does not infringe.'

Accordingly, if an unlicensed use of a copyrighted work does not conflict with
an "exclusive" right conferred by the statute, it is no infringement
of the holder's rights. No license is required by the Copyright Act, for
example, to sing a copyrighted lyric in the shower." ;Twentieth Century
Music Corp. v. Aiken, 422 U.S. 151 (1975).

[ Reply to This | # ]

The patent issue
Authored by: Ian Al on Thursday, November 04 2010 @ 05:48 AM EDT
Someone suggested that, because software is math, that may invalidate software patents. That seems worth following up!

The full complement of instructions to which a processor in a computer (including a virtual processor like the Java one) will respond are all mathematical operations. The processor with its associated components is a physical implementation of an approximation of the Turing idea of an abstract machine to do mathematical operations.

It is referred to as the Universal Turing Machine and it was developed as a math concept long before general purpose computers were implemented.

A software program is written in a Turing complete language. It is an abstract mathematical algorithm. When compiled into machine code, it is mathematically translated into a series of instructions that can cause the processor to carry out specific mathematical operations. The syntax and semantics of the source code depend on which actual language used, but it must compile to machine code to be useful and the only way to do that and get an exact result is if the source code is a mathematical expression.

That means that source code is not math-like or capable of doing math or made by using math tools and principles, but is math.

It is the math running on the Turing machine that is so useful. However, the source code is so much more than math. It contains creative expression. One cannot take the math out of the source code to isolate the creative expression any more than one can take the facts out of a news report and isolate the copyrightable element. However, the creative expression part is not relevant to patents: it is what the math does in conjunction with the Turing math machine that is relevant.

The only reason Groklaw cares about software patents is because folk try to damage our free and open software with patent attacks. The angle I approach in this comment is how our software might infringe.

Let's say that the source code is accused of reaching all the claims in a software patent and is therefore infringing. The patentable part of the software is all math. It must be run using the Turing math machine to infringe by actioning the method or process, being the machine or transforming the matter. If the plaintiff accuses the software of reaching all the patent claims when run on the Turing machine then the patent claims are met with nothing but the math in the software. The patent is invalid under the law for just this reason.

We know that a valid patent will do something beyond the Turing math machine implementation. It may be that the math in the program is but one step in a whole process or one part of a whole method. In that case, the software, when running, only reaches some of the claims in the patent. The software does not infringe. Only the person running the software with all the other process steps or parts of the method is infringing. The software cannot be an inducement to infringe because it only induces a part of the process or method and that cannot be protected by patent, independent of the whole process or method.

If the patent is a machine patent then we know that the source code does not infringe the patent. Microsoft v. AT&T,
...§271(f) is inapplicable to the export of design tools--blueprints, schematics, templates, and prototypes--all of which may provide the information required to construct and combine overseas the components of inventions patented under United States law.

But the extra step [to encode software's instructions onto a medium that can be read by a computer] is what renders the software a usable, combinable part of a computer; easy or not, the copy-producing step is essential.

Here, as we have repeatedly noted, the copies of Windows actually installed on the foreign computers were not themselves supplied from the United States.

Infringement occurs only when Windows is installed on a computer, thereby rendering it capable of performing as the patented speech processor.
Leaving aside, for a moment, that software is not a component in a machine, we need to consider why the Supreme Court was making this tortuous argument. If you manufacture a key component which is central to making an infringing machine then selling that component may be considered inciting the manufacture of the whole infringing machine.

The Supremes can be paraphrased by a non-lawyer as saying,

  • Source code is a template and not the component
  • The executable has the potential to be the component of an infringing machine
  • It only becomes an infringing component when the executable is copied to the actual physical media that is to be installed in the infringing machine
  • The infringing machine is created when the software component is installed in the machine.

    Please note that the Supremes show no indication that they understand that source code is (usually) compiled into executable code. They consider that electronic transmission of the executable code is the blueprint and not the source code. However, we know that the source code is not usually the executable and so we can apply their definitions.

    We can come to the following conclusions for software machine patents:
  • For a software patent, all of the inventive content is in the software and, specifically, is in the math component of the source code. There is nothing of the invention in an infringing machine which is outside of the software. A software patent is, by definition, an attempt to patent just math.
  • Even if it was not, the source code does not infringe the patent: it is merely the blueprint.
  • The executable does not, of itself, constitute an infringing component.
  • Only when the executable is copied to the machine readable media that will be used to install the software in the infringing machine does it have the potential of becoming an infringing component.
  • Only when the executable is installed in a computer is an infringing machine created. Please note that this also includes downloading and installing the executable.

    Looking at the patents in the Oracle v. Google case, is there anything that requires more than math being actioned by a Universal Turing machine? I don't know the detail, but they all look like ways of doing math, to me. They are all about programming methods. Even the one that refers to security is referring to securing the running of the math against malicious math modifications which will change the results.

    The question of damages arises. For open and free software, how many infringing machines have been made? What is the level of damages caused by each infringing machine and how is that damaged caused?

    No doubt a court case would have to cover all these points. For a non-lawyer, it seems self evident that a software patent claims can only be reached by the math part of software. A software patent is, by definition, a patent on the math, no matter what form of patent it is; process, method, machine or transformation.

    ---
    Regards
    Ian Al
    SCOG, what ever happened to them? Whatever, it was less than they deserve.

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