Judge Rejects Oracle's Attempt To Get Court To Reject Jury Verdict Over Java API Copyright
from the nice-try,-see-you-next-time dept
Following the jury verdict finding in favor of fair use for Google and its use of Oracle's Java APIs (if you haven't yet, you should listen to our podcast about the trial), Oracle asked Judge Alsup to basically ignore the jury ruling. Specifically, Oracle asked Judge Alsup to rule that "as a matter of law" that Google's use was not fair use, thus negating the need for the jury to settle any dispute. This is actually how the original Alsup ruling in this case came about. After the first trial had a jury find Google had infringed, Alsup said that, as a matter of law, APIs were not eligible for copyright protection and effectively dumped the jury ruling... until the appeals court overturned that ruling and sent the case back for a second trial focused solely on the fair use question.This time, however, Judge Alsup was not at all willing to say that either side prevailed as a matter of law, and has declared the jury verdict final. Alsup's explanation for denying the motions to ignore the jury is well argued, and basically said "look, there was a clear trialable issue here and the jury handled it":
Under the law as stated in the final charge and on our trial record, our jury could reasonably have found for either side on the fair use issue. Our trial presented a series of credibility calls for our jury. Both sides are wrong in saying that all reasonable balancings of the statutory factors favor their side only. To the extent either side now quarrels with the law as stated in the final charge, the time for those arguments was at or before the charging conference or eventually on appeal. For now, at the district court, the jury instructions control.Alsup notes that, of course Oracle is going to appeal, so as with last time, he adds some background potentially directed at the appeals court more than either of the parties in the case. Concerning the main line of attack that Oracle is expected to use on appeal -- over the instructions to the jury concerning fair use, Alsup notes that there was nothing wrong with the instructions at all, and that both parties had plenty of chances to weigh in on those instructions:
The fair use instructions followed largely the review of fair use law as set forth in the Federal Circuit’s opinion except for modifications urged by counsel and to account for how the case was actually tried. The final jury charge culminated an exhaustive and iterative process of proposals by the judge followed by critiques by counsel. Months before trial, the Court informed both sides that it expected to use the Federal Circuit’s opinion canvassing fair use law as the starting point and requested briefing from the parties addressing what modifications should be made. After reviewing those comments, the Court circulated a first proposed charge on fair use and requested critiques. Counsel submitted their critiques a week later with replies the following week. In light of the critiques, a second draft made substantial revisions, asking counsel to meet and confer to reach an agreed-on instruction in light of that proposal and to submit briefs and responses regarding the areas of disagreement. After reviewing the further briefs and responses, the Court next circulated “penultimate instructions on fair use,” a third draft, and invited a third round of comment. Those critiques also led to modifications and a final notice of the pre-instruction on fair use to be read to the jury before the start of the evidence. Counsel (and the jury) were advised that the final instructions at the end of the evidence would possibly be adjusted to reflect the way the case was tried (and, in fact, some minor modifications did occur). During the trial, the judge sought briefs on several issues in play as the evidence came in. Based thereon, a notice of the proposed final charge circulated the night before the close of evidence. At the charging conference, counsel raised both new points and old ones (although they were permitted to rest on prior critiques). Final modifications followed. The jury was charged accordinglyAlsup also goes into great detail (again, remember that he taught himself Java to better understand the issues in this case the first time around -- and it shows here) discussing the dividing line between Java and not just the APIs, but the "necessary" APIs and the non-necessary APIs. Check out the following, excerpted at great length, to show how thoroughly deep into the weeds Judge Alsup got to understand this case (for clarification, the term "SSO" stands for "Structure, Sequence, and Organization" and was a key issue in the case):
Oracle has portrayed the Java programming language as distinct from the Java API library, insisting that only the language itself was free for all to use. Turns out, however, that in order to write at all in the Java programming language, 62 classes (and some of their methods), spread across three packages within the Java API library, must be used. Otherwise, the language itself will fail. The 62 “necessary” classes are mixed with “unnecessary” ones in the Java API library and it takes experts to comb them out. As a result, Oracle has now stipulated before the jury that it was fair to use the 62 “necessary” classes given that the Java programming language itself was free and open to use without a license....Honestly that's one of the most thorough and clear descriptions I've seen to date of the fair use question here.
That the 62 “necessary” classes reside without any identification as such within the Java API library (rather than reside within the programming language) supports Google’s contention that the Java API library is simply an extension of the programming language itself and helps explain why some view the Java API declarations as free and open for use as the programming language itself. At least to the extent of the 62 “necessary” classes, Oracle agrees.
All this said, our fair use issue, as presented to our jury, came down to whether someone using the Java programming language to build their own library of Java packages was free to duplicate, not just the “necessary” functions in the Java API library but also to duplicate any other functions in it and, in doing so, use the same interfaces, i.e., declaring code, to specify the methods — so long as they supplied their own implementing code.
Oracle’s argument in the negative amounts to saying: Yes, all were free to use the Java programming language. Yes, all were free to use the 62 necessary classes from the Java API. Yes, all were free to duplicate the same functionality of any and all methods in the Java API library so long as they “re-implemented” (since copyright does not protect functionality or ideas, only expression). But, Oracle would say, anyone doing so should have scrambled the functionalities among a different taxonomy of packages and classes (except as to the 62 “necessary” classes). That is, they should have used a different SSO.
Here, the undramatic yet practical point comes into sharp focus. If, as it was entitled to do, Google had simply reorganized the same functionality of the 37 re-implemented Java packages into a different SSO (taking care, however, not to disturb the 62 necessary classes and their three respective packages), then Java programmers, in order to use the Java system as well as the reorganized Android system, would have had to master and keep straight two different SSO’s as they switched between the two systems for different projects. Our jury could reasonably have found that this incompatibility would have fomented confusion and error to the detriment of both Java-based systems and to the detriment of Java programmers at large. By analogy, all typewriters use the same QWERTY keyboard — imagine the confusion and universal disservice if every typewriter maker had to scramble the keyboard. Since both systems presupposed the Java programming language in the first place, it was better for both to share the same SSO insofar as they offered the same functionalities, thus maintaining usage consistency across systems and avoiding cross-system confusion, just as all typewriter keyboards should use the QWERTY layout — or so our jury could reasonably have found.
The same could have been reasonably found for the second purpose of the declaring code — specifying the inputs, outputs, and their type. To the extent a specification could be written in more than one way to carry out a given function, it was nevertheless better for all using the Java language to master a single specification rather than having to master, for the same function, different specifications, one for each system, with the attendant risk of error in switching between systems — or so our jury could reasonably have found.
In terms of the four statutory factors, this consideration bears significantly upon the nature and character of the use (the First Factor), the functional character of the declaring code (the Second Factor), and the limited extent of copying (the Third Factor), that is, Google copied only so much declaring code as was necessary to maintain inter-system consistency among Java users. Google supplied its own code for the rest. Overall, avoiding cross-system babel promoted the progress of science and useful arts — or so our jury could reasonably have found.
Another issue that came up was whether or not Oracle showed that Google acted in "bad faith." Oracle used a number of emails (often taken out of context) to argue that Google knew it was infringing on Sun's copyrights (though, many of the details suggested the actual concern was more about trademark -- or involved people who didn't really understand the nuances of copyright law). Judge Alsup points out that it's not even clear "good faith" or "bad faith" are even allowed as considerations in fair use analysis, though he notes that he allowed Oracle to pursue it -- and then allowed Google to build a case for "good faith" in response. For the question of whether or not this is an issue "as a matter of law," Alsup notes that it's clearly one that a jury should decide (and did, in Google's favor):
... our jury could reasonably have concluded that Google’s use of parts of the Java API as an accelerant was undertaken based on a good faith belief that at least the declaring code and SSO were free to use (which it did use), while a license was necessary for the implementing code (which it did not use). Our jury could reasonably have concluded that Google’s concern about making an enemy of Sun reflected concern about the parties’ business relationship in light of the failed negotiations that would have brought Sun in as a major partner in Android, rather than concerns about litigation. Mental state was and remains a classic province of the jury.The judge also rejects Oracle's claim that no one could possibly argue that direct copying of the APIs was "transformative." That's not how the "transformative" test works, Alsup notes, pointing to previous fair use cases, such as the Campbell case over the parody of the song "Pretty Woman," which involved direct copying
In Campbell, the accused work (a rap parody song) used the same bass riff and an identical first line of Roy Orbison’s “Oh, Pretty Woman.” The parody also included exact copies of certain phrases in subsequent lines and maintained the same structure and rhyme scheme throughout. The copied elements served the same function in the accused work as in the original. Nevertheless, the Supreme Court acknowledged that the transformative purpose of parody had a “need to mimic an original to make its point,” and thus, warranted copying some exact elements. The question of the extent of the copying permissible to serve that function was the subject of the inquiry of the third statutory fair use factor. So too here.The ruling goes on like this, over and over again pointing out that the jury's decision is not so crazy and has support in the law. And then it concludes with a big slap to Oracle, noting that it seems to be making completely inconsistent arguments:
Android did not merely incorporate the copyrighted work “as part of a broader work,” without any change to the purpose, message, or meaning of the underlying work. Android did not merely adopt the Java platform wholesale as part of a broader software platform without any changes. Instead, it integrated selected elements, namely declarations from 37 packages to interface with all new implementing code optimized for mobile smartphones and added entirely new Java packages written by Google itself. This enabled a purpose distinct from the desktop purpose of the copyrighted works — or so our jury could reasonably have found.
In light of the foregoing, our jury could reasonably have concluded that Google’s use of the declaring code and SSO of 37 API packages from the desktop platform work in a full-stack, open-source mobile operating system for smartphones was transformative.
Stepping back, it seems hard to reconcile Oracle’s current position with the one it took just as the trial was getting underway, namely, that fair use is an equitable rule of reason and each case requires its own balancing of factors. In its critique of the first proposed jury instructions on fair use..., Oracle argued that the Court’s draft characterization of the policy of fair use contravened the legislative history, and Oracle cited the following language from a Senate report on the 1976 Copyright Act (which language was repeated in the House Report):Once again, much of this seems more addressed to the appeals court than the parties. Unfortunately, last time around that didn't work, as the appeals court got it wrong. Now we'll have to wait and see what happens this time around.Although the courts have considered and ruled upon the fair use doctrine over and over again, no real definition of the concept has ever emerged. Indeed, since the doctrine is an equitable rule of reason, no generally applicable definition is possible, and each case raising the question must be decided on its own facts..... The Court adopted Oracle’s proposed instruction in the next draft as well as in the final charge to the jury, stating: “Since the doctrine of fair use is an equitable rule of reason, no generally accepted definition is possible, and each case raising the question must be decided on its own facts”....
Now, Oracle argues instead that this case must be decided as a matter of law, and not “on its own facts.” Oracle argues that Google’s copying fails to resemble any of the statutory examples of fair use listed in the precatory language of Section 107, again contradicting its earlier position that “no generally applicable definition is possible.”
Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.
Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.
While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.
–The Techdirt Team
Filed Under: apis, copyright, fair use, java, matter of law, william alsup
Companies: google, oracle
Reader Comments
The First Word
“Let me see if I've got this right:
Oracle: Waaaaaaah! Google used a freely available open source Java implementation to build Android and made huge money! We want it! And Google didn't even use OUR java, they used an independently developed Java from the Apache Foundation! Waaaaaah!Judge Alsup: No. Your copyright is not infringed.
Oracle: Bu, bu, but... Google used our APIs!
Judge Alsup: APIs are not copyrightable. I even learned some Java programming in order to better understand this case.
Oracle: Appeals court -- Waaaaaaaah! -- Google used our API, and they are making a Gazillion dollars, and we are only making a Jillion dollars! Waaaaaaaah!
Appeals Court: Oh, poor thing! Of course APIs are copyrightable! If it looks like some computery stuff that I don't understand, then it must be of immense value.
Oracle: Judge Alsup, we want a jury trial!
Judge Alsup: Ok, you got a jury trial.
Oracle: Waaaaaah! A jury did not agree with us. They unfairly sided with reality, common sense, and with what every single person says who knows anything about computers. Waaaaaaaah! Ignore the jury! We want money NOW!
Judge Alsup: No.
Perhaps next . . .
Oracle: Mr. Trump, we didn't get the money we wanted! Waaaaaaaah!
Subscribe: RSS
View by: Time | Thread
So as usual
When something finally went right, it was because they were stupid!
We were saved by "stoopid" ladies and gents... hope that gives you a nice warm and fuzzy feeling!
[ link to this | view in chronology ]
Let me see if I've got this right:
Judge Alsup: No. Your copyright is not infringed.
Oracle: Bu, bu, but... Google used our APIs!
Judge Alsup: APIs are not copyrightable. I even learned some Java programming in order to better understand this case.
Oracle: Appeals court -- Waaaaaaaah! -- Google used our API, and they are making a Gazillion dollars, and we are only making a Jillion dollars! Waaaaaaaah!
Appeals Court: Oh, poor thing! Of course APIs are copyrightable! If it looks like some computery stuff that I don't understand, then it must be of immense value.
Oracle: Judge Alsup, we want a jury trial!
Judge Alsup: Ok, you got a jury trial.
Oracle: Waaaaaah! A jury did not agree with us. They unfairly sided with reality, common sense, and with what every single person says who knows anything about computers. Waaaaaaaah! Ignore the jury! We want money NOW!
Judge Alsup: No.
Perhaps next . . .
Oracle: Mr. Trump, we didn't get the money we wanted! Waaaaaaaah!
[ link to this | view in chronology ]
Re: Let me see if I've got this right:
[ link to this | view in chronology ]
So THAT'S where Steve Job's reality distortion field went
[ link to this | view in chronology ]
Re: So THAT'S where Steve Job's reality distortion field went
[ link to this | view in chronology ]
It also bears repeating
Nobody even dreamed that re-implementing an API could potentially result in legal trouble.
How many times has the Standard C Library API been implemented?
Let me point out something else. Who owns the copyright on the Standard C Library API? Oh, yeah, he's dead. Did he assign the rights to that API to anyone? No. Because nobody ever dreamed of the insane world we would live in today. So maybe his estate must own the rights. Oh, I smell money!
[ link to this | view in chronology ]
When a judge understands software source code...
Truly huge kudos to Judge Alsup for
taking the time and effort and energy
to teach himself Java (a lexical
expression of logic). His ruling is truly
a lexical expression of logic.
[ link to this | view in chronology ]
Re: When a judge understands software source code...
[ link to this | view in chronology ]
CAFC appeal prediction
[ link to this | view in chronology ]
As a programmer familiar with Java,
[ link to this | view in chronology ]
Re: As a programmer familiar with Java,
It's interesting that it's not immediately obvious to us that they're "special". Even if one knows the JLS by heart, it simply doesn't matter when you use a class or method, if it was part of that document or not.
[ link to this | view in chronology ]
They never should have made this motion
This was a strategic mistake on Oracle's part, because it means that in denying the motion, the Judge gets to issue an opinion, giving him the last proverbial word in the trial record.
Had this motion not been made, the judge would have had no further opportunity to comment.
[ link to this | view in chronology ]
[ link to this | view in chronology ]
Java is dead
Just don't touch Java. Go with Microsoft and pay their price, or go with Open Source. This nonsense by Oracle is what developers have been warning about for decades, but nobody seems to listen.
It still fascinates me how some of the dinosaurs with their grey-haired CEOs of the IT stone age still manage to get customers when they have nothing new to offer, steal from smaller companies and are protected by armies of lawyers who are willing to fight it out for years in court. Not to mention their piles of bloated and dusty patents aimed at gutting anyone who gets near them.
I want to see companies like Oracle burn. I hope they all die of heart attacks while waiting on the outcome of another law suit. This is all they are capable of.
[ link to this | view in chronology ]