Showing posts with label Dalvik. Show all posts
Showing posts with label Dalvik. Show all posts

Wednesday, May 23, 2012

Jury doesn't find Google to infringe two Oracle patents -- but the litigation is far from over

Here's the jury verdict that was rendered today and doesn't find Google to have infringed any of the claims of Oracle's two asserted patents:

12 05 23 Oracle Google Patent Verdict

On this basis, the jury was dismissed: there won't be a need for this jury to discuss damages since the copyright liability issues identified thus far will be postponed until the liability issue concerning the asserted Java APIs has been decided.

Here's my take on this particular verdict:

  • This was viewed as a patent case when it started, but it wasn't much of a patent case anymore when it went to trial.

    Before this trial started, it had already become crystal clear that the copyright part of the case was going to be the important one, not the patents. It would have been desirable -- but less than secondary -- for Oracle to prevail on its patent claims. Oracle itself made this set of priorities perfectly clear when it offered in mid-January to stay, or dismiss without prejudice, all of its patent claims in favor of a near-term copyright trial. This just didn't happen because Judge Alsup wanted to ensure that all claims be adjudicated together. But the mere fact that Oracle officially made such an offer shows that the importance of the patent part of the case is very, very limited.

    That is, by the way, also why I blogged a whole lot more about the copyright part of the case in recent weeks than the patent part. I attend patent trials almost every week and report on them frequently -- and I explained the key issues of the patent claims at issue at this trial. It's not like I wouldn't have been able to do more on the patent part of the case if I had wanted to. But I decided to focus on what's really important.

    Going forward, the attention will again shift to copyright, with Judge Alsup working hard on his decision on the copyrightability of the structure, sequence and organization of the 37 asserted Java APIs.

  • A jury verdict can still be overturned, in whole or in part, by a judgment as a matter of law (JMOL). In this litigation, this has already happened once: Judge Alsup overruled the jury with respect to Google's liability for infringing the copyrights in eight decompiled files. Just like on copyright, Oracle filed a motion for a JMOL with respect to the patent part of the case.

  • Legal issues concerning the jury instructions can also result in a subsequent modification of the decision. Earlier today, Oracle's counsel formally objected to one of Judge Alsup's most recent answers to the jury. Earlier this week, the judge said that whoever loses will have to appeal to the Federal Circuit, so he was also well aware of the fact that some of these issues are controversial and can give rise to an appeal.

  • A jury trial on patent infringement is a lottery since anyone who really would have the knowledge that is needed to understand the issue typically gets excluded. Also, different juries have different tendencies. Google was very lucky with this jury. The fact that Judge Alsup had to overrule the jury on one copyright liability item shows that this is a jury that erred in Google's favor. And the fact that the jury couldn't reach a unanimous verdict on "fair use" is, besides issues with the related jury instructions, another sign of this jury simply having been very defendant-friendly, even to the point of making a decision that Judge Alsup concluded "no reasonably jury could" make. (That's the legal standard, not an insult. But yes, it means that this jury was an unreasonable one.)

  • From a practical point of view, the "Gosling patent" (RE38,104) will expire before the Federal Circuit gets to decide. If Judge Alsup doesn't overturn the jury verdict with respect to that one, it won't result in an injunction against Android -- it will all boil down to damages for past infringement. The '520 patent, however, will be valid for several more years, and it survived reexamination.

[Update] Here's Oracle's statement: "Oracle presented overwhelming evidence at trial that Google knew it would fragment and damage Java. We plan to continue to defend and uphold Java's core write once run anywhere principle and ensure it is protected for the nine million Java developers and the community that depend on Java compatibility." [/Update]

[Update 2] At noon local time, not long after the verdict, both parties filed their replies to the excellent interoperability-related questions Judge Alsup raised on Monday. I have taken a first look at those briefs and will explain the parties' positions after they file their reply briefs (due tomorrow) and their answer to the emulator-related question the judge asked earlier today. Stay tuned. [/Update 2]

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn:


Friday, May 18, 2012

To dispute infringement of Oracle's patents, Google contradicts its own source code comments and file names

On Tuesday, Oracle and Google made their closing arguments with respect to Android's alleged infringement of eight claims from two Java-related patents. On that basis, the jury started its deliberations. Later, Oracle and Google filed outlines of their motions for judgment as a matter of law (JMOL) concerning the patent part of the case. On Wednesday, they fleshed out their related arguments, and late on Thursday, each party responded to the other party's JMOL motion.

I was waiting for those pleadings prior to discussing here in detail what the key issues and the probabilities of different outcomes are. As we've seen in connection with Oracle's copyright infringement claims, the court can overrule the jury. Also, there was -- and still is -- a lot of discussion about the best way forward for this case in light of a partial jury verdict on copyright liability. Since the partial verdict on copyright, there has repeatedly been good news for Oracle. After Judge Alsup overruled the jury and declared Google liable for eight more Java files, he also dismissed a belated Google argument about the ownership and registration of the asserted copyrights, and the parties reached a court-approved agreement on the course of action with respect to copyright damages, a deal that essentially stipulates what Oracle had proposed.

The jury has continued its patent-related deliberations. For an update on that process, I recommend this ZDNet story. Basically, the jury has asked questions related to some of the disputed issues. Meanwhile, another juror (the one mentioned in the ZDNet story) has been discharged due to a cold, and the ten remaining jurors are now deliberating. [Update] Here's the next ZDNet story -- it looks like the verdict won't come down today. [/Update]

Whatever the jury decides, the party that does not prevail on a particular item will want Judge Alsup or an appeals court to overrule the jury. That's why the parties' JMOL arguments are going to be relevant beyond the forthcoming jury verdict.

Jury verdicts aren't really predictable, but one can look at the facts put before, and the legal explanations provided to, a jury, and then assess the likelihood of particular outcomes. Here's a summary of my take -- maybe just hours before a jury verdict will be rendered on this:

  • Not only was Oracle's case narrowed ahead of trial (only two of the five originally-asserted patents are now before the jury), but Google also lost some of its affirmative defenses. In particular, there's no more invalidity defense left with respect to the two patents-in-suit. That's very unusual, and significantly ups the ante for Google.

  • The issues that Google has raised in terms of whether or not there is an infringement under a proper application of the court's claim construction may create some confusion, but ultimately, Google's own source code comments and file names contradict its argument. If I were a juror, I would attach a great deal of importance to that.

  • I would be very surprised if the jury didn't hold at least some of the claims from the RE'104 patent, or "James Gosling patent", infringed, and less surprised (even though I would clearly disagree) if Google was cleared with respect to the '520 patent. Even though Google has raised multiple issues with respect to the Gosling patent, none of its arguments makes sense to me (I've done a fair amount of programming and authored books on programming techniques and operating systems). With respect to the '520 patent, there's basically just one issue, and while Google is wrong on that one, that one issue is more likely to confuse non-programmers than all RE'104-related issues combined. If those patent infringement claims were put before professional judges with a fair amount of experience in patent cases (such as the ones at certain German courts), on the same basis as in this case (same claim construction, no invalidity defense etc.), my probability estimate of an infringement finding would be 80%+ for the RE'104 patent and 70%+ for the '520 patent.

  • If any infringement is identified, the jury will have to decide on willfulness with respect to each infringed patent. Most of the arguments for and against infringement are equally applicable to both patents, but not all of them. for example, Tim Lindholm authored a book (a much lesser-known writing than the "Lindholm email") that described the technique covered by a predecessor of the Gosling patent. So here again, Oracle has a stronger case with respect to the Gosling patent. That said, this is the same jury the judge had to overrule with respect to Google's copying of eight decompiled files, and the same jury that couldn't reach unanimity to throw out Google's "fair use" fairy tale.

Implications of infringement verdict

The Gosling patent is claimed to be infringed by Android's Dalvik virtual machine, while the '520 patent is allegedly infringed by Google's dx tool, a program that converts Java bytecode into Dalvik executable (Dex) code -- but not by the Dalvik VM itself:

An infringement finding with respect to the Gosling patent would be much more valuable (in terms of damages) than one concerning the '520 patent. Since the Gosling patent will expire before the end of the year (while the '520 patent will be valid for a few more years), it's a now-or-never opportunity with a view to a patent injunction.

Google argues that neither patent should result in an injunction: the '520 patent because of its limited commercial value, and the Gosling patent because expiration is near. But those arguments can be turned around and held against Google. For the '520 patent, the argument would be that an injunction over an allegedly unimportant patent doesn't cause much harm: Google should simply work around the patent. For the Gosling patent, the fact that it will expire soon makes an injunction the only way to enable Oracle to still derive substantial value from it. For example, I've seen a judge at the Mannheim Regional Court argue that way at a Motorola-Microsoft trial in February.

I'm not saying that there definitely will be a patent injunction against Google if there's an infringement finding. In the United States, it's never easy to win an injunction. But Google's claim that a patent injunction can't happen here is only one side of the argument.

Details concerning the infringement of the "Gosling patent"

This is U.S. Patent No. RE38,104 on a "method and apparatus for resolving data references in generated code". The asserted claims are claim 11, claim 27, claim 29, and claims 39-41. On the USPTO website, the list of claims contains an error that looks like a word processing error or web server bug -- many of the claims end with "..Iaddend..Iadd". A bug-free version is available on Espacenet, a patent database operated by the European Patent Office.

On his personal blog, James Gosling pointed out (after the trial had begun) that "Google slimed Sun" with its unlicensed use of Java in Android, and put into perspective the things Jonathan Schwartz said in his testimony.

The patent relates to a more efficient way of resolving symbolic references. Simply put, if you run a program, the system executing it (in Android's and Java's case, the virtual machine) has to organize large amounts of data that the program creates, and when anything is done with and to such data, the virtual machine has to find it in a particular location. For that purpose, a symbolic reference has to be resolved in order to have the exact address in the computer's memory at the given time -- which will almost always be a different physical location than last time, even on the same hardware setup. The Gosling patent greatly accelerates this process. In Oracle's estimate, this technique enables performance gains by a double-digit factor.

The first non-infringement argument Google makes with respect to the Gosling patent (all of its asserted claims) is that Android doesn't resolve "symbolic references" because those contain field indices as opposed to being, for example, words like variable names. Google's argument amounts to hairsplitting. There's no reason why a symbolic reference couldn't also be a number -- as long as it's clear that it's not a physical memory location. The key thing is that the symbolic reference must be resolved in order to access data. That's what the patent is about. The patent is not limited to just one kind of symbolic reference.

In order to prevail on this point, Google has to basically argue that its Resolve.c file doesn't resolve anything, or at least that it doesn't resolve "symbolic references" contrary to what Google's own source code comments say in some other files about those field indices:

The second non-infringement argument is even weaker: it's about what the term "data" means in connection with the value of a resolved variable that is fetched. While most infringement-related arguments come down to the plaintiff seeking a broader construction and application than the defendant (and it's usually just the opposite for invalidity arguments), here we have case in which either party claims that the other party wants to "narrow" the meaning. Anyway, it appears that Android has an IGET function that indeed does obtain data within the meaning of the asserted patent claims.

Finally, with a view to claims 27 and 29, the infringement argument is all about the dexopt (Dalvik executable optimizer) component. Google argues that "dexopt resolves symbolic references statically rather than dynamically [as required by the patent]".

Terms like "dynamic" and "static" almost always lead to claim construction and application disputes. Here, Oracle wins if the jury (or, in the alternative, the judge) concludes that it's sufficiently dynamic for the purposes of this patent if a certain kind of optimization is performed while the virtual machine is already running -- it's not necessary for execution of the program code itself to have started. In a way, an optimizer is "dynamic" if it does its work again after, for example, a system update. It has to respond to some kind of changed circumstances. And that's what dexopt does.

Details concerning the infringement of the '520 patent

This patent is U.S. Patent No, 6,061,520 on a "method and system for performing static initialization".

I said before that there's essentially just one key disagreement between the parties that makes all the difference between the infringement or non-infringement of this patent. The parties disagree on whether or not the dx tool "simulates execution" of an intialization of an array.

The patent saves memory by simply aggregating all of the steps that are needed to intialize an entire array. Instead of a long series of initialization commands (item 1 gets value A, item 2 gets value B, etc.), it combines all of this in a more efficient way.

Google tries to apply an extremely strict interpretation of simulation, according to which a tool like dx would really have to do almost everything that would happen at runtime. Google argues that "pattern matching", as performed by the dx tool, isn't simulation. For example, it doesn't result in what is called stack manipulation.

In my view, it's perfectly logical for a simulator to simulate only those parts of a code segment that are relevant to the result that the simulation is supposed to deliver. If the purpose of a simulator is to calculate how much time a certain kind of operation needs, it may (or, depending on the circumstances, may not) have to do the closest thing to actually going through the entire operation. In this case here, the purpose of simulation is merely to figure out what effect all those initialization commands will ultimatly have, in order to then be able to aggregate them. That's what Google's source again states. Quite tellingly, the relatedd source code file is named "Simulator.java" -- still, Google says it doesn't simulate. Here's what the comments in that file say:

I'm really convinced that an efficient kind of simulation is still a simulation, but the potential for confusion is significant.

The jury's questions suggest to me that we should get a verdict either later today, or on Monday. It appears that the jury is done with the Gosling patent and working on the '520 patent. By the time I publish this post, it may already have moved on to the willfulness part (the last question on the patent verdict form).

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn:


Thursday, April 26, 2012

Judge plans to inform jury that structure, sequence and organization of Java APIs are copyrightable

Late on Wednesday by local time, Oracle and Google made a handful of filings, all of which relate to how the jury will be instructed with respect to the copyright questions it will get to decide next week.

Both parties commented on a draft verdict form. Oracle wants each of the API packages to be treated as a "work as a whole" for infringement purposes, while Google argues that Oracle can claim rights only in the entirety of what Sun once registered with the Copyright Office (and furthermore disputes that certain legal theories proposed by Oracle in this context should be applied here). In a sweeping motion for judgment as a matter of law, Google tries to eliminate large parts of Oracle's copyright claims, such as the assertion that Google programs incorporating the APIs are derivative works and all infringement allegations concerning Android's documentation for developers.

On some of these items I'll comment at a later stage. Based on the reports (including live Twitter coverage) I've seen, I doubt, at least for now, that Judge Alsup is going to throw out large parts of the copyright issues instead of putting them before the jury.

The most interesting issue addressed in those midnight filings is Google's objection to Judge Alsup's plan to tell the jury that that Oracle's copyrights extend to the structure, sequence and organization of the asserted Java APIs, while actually postponing his judgment as a matter of law until a later point. This is what the judge told Google:

"I've already said that I'm going to instruct the jury, subject to a motion under Rule 50 [motion for judgment as a matter of law, i.e., a decision by the judge himself] later at the end of the case. I'm going to instruct the jury that the copyrights extend to the Structure, Sequence, and Organization.

Now, I'm reserving on that ultimately. I see both arguments on that point, but we ought to get the verdict on that. If you were to win on fair use, for example, then the judge doesn't have to decide those hard questions."

Besides what Google quotes, Judge Alsup also indicated that he'd like to organize this trial in a way that any appeal can't realistically lead to a new jury trial. He'd like to get to a point where this is all about legal questions that judges rule on without involving juries.

Furthermore, it's obvious that if the judge postpones those "hard questions", there's at least a chance that the parties settle before he has to rule on them.

But the problem with this course of action is that the party losing the jury verdict might later attribute the outcome to the way the jury was instructed. And if an appeals court agreed, there would have to be a new jury trial, at least on a subset of the issues.

Google wants the jury to be told that it should rule on infringement, fair use and Google's equitable defenses based on the "assumption" of copyrightability, but doesn't want the jury to think that Google lost its non-copyrightability argument. Since this "would explicitly tell the jury that a fundamental premise of Google's defense case is wrong (rather than simply undecided)", which would "leave the jury wondering what Google and its witnesses have been talking about for the past two weeks" and, especially, "prejudice the jury against Google on the issues the jury will actually decide".

But the other way to look at it is whether Oracle would be prejudiced. And the way to look at that possibility is that if the judge rules against copyrightability, the whole API copyright issue works out in Google's favor, but if he rules in favor of copyrightability, he would, in retrospect, simply have told the jury the truth -- even if prematurely, or one might say: presciently. Maybe Judge Alsup already knows he will rule in Oracle's favor but keeps his cards close to his chest just in order to postpone the decision for the reasons stated further above. That may appear very speculative, and I'm not saying that it is the case (or that it's likely the case), but it would be totally plausible. At the very least it's clear that there's enough of a possibility that copyrightability will be decided in Oracle's favor since the judge wouldn't otherwise waste court resources and the jury's time. Also, he denied, almost entirely, a Google motion for summary judgment on Oracle's copyright claims last summer.

In the scenario of Oracle being right on copyrightability, there would, however, be very significant prejudice for Oracle if the jury decided on infringement, fair use and Google's equitable defenses based on considerably uncertainty over whether the material at issue is even protected at all. If that prejudice was outcome-determinative, Oracle would never know how the judge would have decided on copyrightability -- because in that case, he'll say that the finder of fact determined there was no infringement, rendering moot any questions of copyrightability. The only way Oracle could get a decision on copyrightability in that scenario would be a judicial decision overruling the jury, or a new jury trial with a different outcome.

The prejudice to Oracle in the scenario in which it is right on copyrightability is clear and substantial, while the prejudice to Google in a scenario in which it is right on non-copyrightability is zero in connection with the copyright part of the case -- and it would be at least difficult to argue that the jury instructions on the copyright part of the case will affect the outcome of the patent phase. I guess that's the way the judge looked at it -- otherwise he'd certainly prefer to tell the jury it should just come from the assumption of copyrightability.

In addition to these considerations, the parties probably also take into consideration what they believe the likelihood of different outcomes is. Jury verdicts are never very predictable, but the parties have now had eight trial days and may have an idea of how some members of the jury might view the issues (for example, based on the questions they asked). Based on the evidence that has been shown, I think it's pretty clear that the primary issue on the copyright part is copyrightability. There can be no reasonable doubt about the use of the relevant material; fragmentation and the scope and scale of what Google uses (Oracle, by the way, asks the judge to instruct the jury to look at this qualitatively rather than quantitatively); and Google's equitable defenses are largely based on what Jonathan Schwartz wrote, but there's a mountain of evidence to the contrary and Oracle presented some very powerful evidence this week: an article by CNET's Stephen Shankland from November 2007 according to which a very senior Sun executive publicly expressed concern over fragmentation shortly after Android was launched and its incompatibility with Java became known.

I'm not saying I know how the jury will decide, since nobody knows, but Google faces quite a challenge. Assuming, for the sake of the argument, that Google loses the verdict, there will be headlines that portray Google as an infringer, and pressure on Google to settle this case will grow. Those PR and settlement-related considerations may well be the true motives behind Google's far-fetched and unconvincing theory of prejudice with a view to the jury verdict. (Again, if the stuff indeed turns out to be copyrighted, there's no problem with telling it to the jury now anyway, and if the opposite turns out to be true, the jury verdict on infringement and the related defenses won't matter.)

Given that Oracle would undoubtedly face a risk of "hard" prejudice (prejudice in connection with the jury verdict) while Google's prejudice is at best "soft" (relating to perception, reputation and settlement negotiations), I think there are really only two choices. Either the court rules on copyrightability upfront (and then tells the jury what the outcome was) or it proceeds as it intends and tells the jury that the material is copyrighted. I may also see a third way if someone comes up with an idea I haven't thought of, but Google's proposal is not a viable third way, no matter how much one may understand Google's interest in avoiding negative publicity.

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn:


Judge denies assertion of revived Oracle patent but Google still needs to take a license to it

After Oracle's '702 patent was brought back to life by the United States Patent and Trademark Office, emerging stronger than ever from the ex-parte reexamination proceedings, the parties had a genuine dispute over whether Oracle could still assert it at the upcoming patent trial, i.e., Phase Two of the overall Oracle v. Google trial.

On Wednesday afternoon local time, Judge Alsup denied Oracle's motion to clarify that it may still assert this patent (though Oracle would have been willing to drop claims from other patents in order to make room for claims from the '702 patent). For the ongoing trial, that's a victory for Google, and the judge deems the patent dismissed with prejudice (i.e., Oracle couldn't assert it against the same accused Google technologies in a new lawsuit), but there are two reasons for which Google still needs a license to this patent, a fact that will affect the terms of any potential agreement between the parties:

  1. Oracle could appeal this dismissal with prejudice. I have no idea whether they will do so, but this patent is valid until 2017, so even if it took a couple of years for an appeals court to decide that it wasn't actually dismissed or that the judge should have used his discretion to allow its assertion in the interests of justice, then there could be a remand or a new lawsuit over this one. If Google loses any part of the current trial and appeals, there's no reason why Oracle couldn't also appeal any decisions it considered unfavorable.

  2. Even if the dismissal with prejudice with respect to Google was not challenged (or was affirmed), Google needs a license that benefits the Android ecosystem at large. If Google didn't take a license, Oracle would still have the right to assert this patent against Android device makers. I again have no idea whether Oracle would do so. In July 2011, a news agency reported that an analyst claimed Oracle had approached handset makers -- a story that was never confirmed or corroborated ever since, so the analyst might have been completely wrong. But whether or not that happened in the past, under the law there's no reason why it couldn't happen in the future, absent an agreement between Oracle and Google.

    The potential impact of the '702 patent is huge: the way I understand the technical scope of the patent, all Android applications would have to be repackaged. If -- hypothetically speaking -- the patent was enforced against any device maker, that company's devices would need their own special versions of all apps. They couldn't run Android apps the way they are packaged at this stage. Therefore, the enforcement of this patent against any device maker would require Google to take a license or make a significant change to Android and ask all developers to repackage their apps.

    This is still totally hypothetical: if the patent was asserted against a device maker, one of the affirmative defenses would probably be that the dismissal with prejudice against Google should somehow also benefit third parties. But there would be different products at issue: Google is being sued over Android, device makers would be sued over their handsets and tablets.

In the coming weeks, we probably won't hear about the '702 patent again. And if the parties strike an agreement, then we never will. But as long as this dispute isn't settled, Google can't simply forget about the '702 patent. That patent now enjoys, under applicable case law, a strengthened presumption of validity with respect to all of the prior art references that Google had presented in its ex parte reexamination request.

Android needs legal certainty, and it's Google's responsibility to address intellectual property issues surrounding its platform.

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn:


Wednesday, April 25, 2012

Oracle 'intends to assert [revived] patent in Phase Two', asks court to confirm -- Google opposes

While the current part of the Oracle v. Google trial is a copyright-only trial, the parties are in parallel having a dispute over whether or not a key Oracle java patent revived by the United States Patent and Trademark Office late last week has already been dismissed with prejudice. Late on Tuesday by local time, Oracle filed a "motion for clarification regarding [the] '702 patent", asking the court to confirm that it may, as it officially intends, assert this patent at the patent trial (Phase Two). A couple of hours later, Google filed its opposition, which was expected in light of what Google told reporters about the fact that the supposedly "final" rejection of the '702 patent wasn't truly final.

Oracle's motion is very respectful. Oracle explains the reasons for which its motion should be granted and it's always a given that the denial of a motion could be appealed, but this motion is not presumptuous. For example, Oracle notes that "the Court has characterized Oracle's conditional withdrawal differently at different times". This here is not about Oracle picking a fight with the court -- it's all about a need for clarification that has arisen from the USPTO's change of mind combined with a record that falls far short of a definitive withdrawal.

If there had been a straightforward, definitive withdrawal, Google would have pointed to it. Tellingly, after subtracting the title and signature pages of both pleadings (which in both cases don't contain any part of the actual arguments), Google's opposition brief is twice as long (four pages of argument) as Oracle's motion (two pages of argument). Those numbers are, in and of themselves, a clear indication that the legal situation here is not as trivial as Google's succinct statement to the media suggested. Regardless of which party one believes is right, at the very least this serves to show that Judge Alsup could, in his discretion, allow the assertion of the '702 patent.

Oracle's motion highlights the technical and economic (and, therefore, legal) relevance of the '702 patent:

"The evidence shows that Google has significantly benefited from its use of the '702 patent. Testing shows that Android application files are between 1.45 and 3.33 times smaller than they would be if the patented technology were not used, which results in a variety of additional performance benefits. [...] An injunction against Google's continued infringement is warranted, particularly because the '702 patent does not expire until October 2017."

In the following I'll juxtapose the parties' positions, firstly on how to interpret the pleadings and orders, and subsequently on the practical implications of adjusting to the fact that the presumed-final rejection of the '702 patent wasn't truly final.

Interpretation: Oracle consistently denies having dismissed the '702 patent -- Google claims Oracle's promise to withdraw was not "open to interpretation"

In my previous post on the '702 patent I already outlined my interpretation of Oracle's March 9 promise and the court's March 13 order. Basically, what happened is that the judge stated his "reliance upon" Oracle's promise, and Oracle's promise related to a future dismissal. That's why there's no such thing here as a statement by Oracle according to which it would actually have dismissed the patent. Nor is there anything in the record according to which the judge dismissed any patent against Oracle's will. Therefore, the primary question here is how to reasonably interpret Oracle's conditional withdrawal.

It's a little bit like contract interpretation. The judge and Oracle made a deal: early trial in exchange of dismissal of patents standing rejected. Judge Alsup's acceptance of Oracle's offer started with the following words:

"In reliance on Oracle's withdrawal with prejudice of the '720, '205, and '702 patents, given the final rejections by the PTO examiner, and [...]"

Having looked at this sentence again I now find that the passage "given the final rejections by the PTO examiner" is yet another reason to admit the '702 patent at this stage. The judge assumed that those rejections were final. Now one of them turns out not to have been final. Had the judge known at the time that it wasn't final, he might not even have listed the '702 patent in this context. Why should the court not have the benefit of better information now, in the interests of justice? I think it comes down to questions of prejudice to the parties and case management considerations. The '702 patent can be asserted if there's a will to assert it. Google naturally doesn't have that will to make it happen -- everything else would constitute malpractice by its lawyers.

Oracle's motion also quotes a court order that I didn't address in my previous post on this issue. On March 15, the judge wrote:

"Another three [patents] rejected by the PTO examiner were withdrawn if the trial is held before the administrative appeals are completed, a withdrawal whose effect will be considered below. Therefore, there is a strong possibility that only the '104 and '520 patents will be asserted at trial, and this order will only address issues pertaining to these two patents, without prejudice to revisiting objections specific to the withdrawn patents if they later arise."

While the first sentence, if taken out of context, could be seen as reflecting the judge's understanding that the patents were dropped, the final part of the second sentence opens the door to "revisiting objections [...] later". Again, it all comes down to what Oracle actually promised and the judge relied upon.

The briefs also show how the parties acted after that conditional withdrawal. Here's a quote from Oracle's brief:

"Both Oracle and Google kept their '702-related exhibits on the trial exhibit list. (When considering whether and what exhibits could be dropped, Google asked if Oracle had indeed dropped the '702 patent with prejudice. Oracle said 'no.')"

This doesn't answer the question of whether the beginning of the copyright trial or the beginning of the patent trial (or a time ahead of the patent trial that gives both parties enough of an opportunity to prepare) should be the latest point in time at which a reconsideration by the patent office can be considered. But it confirms that Oracle never dismissed the '702 patent with immediate effect.

There were some case management (streamlining) discussions in which both parties simply referred to the patent part of the case as a two-patent case. Google notes that even Oracle at some point made reference to "a trial on two software patents". I wouldn't attach too much importance to reference to a two-patent trial because all those pleadings have page limits, and if a party doesn't make a distinction between a patent trial involving a minimum of two patents versus on involving exactly two patents, it still doesn't state a definitive withdrawal -- it just avoids a more cumbersome way to state its position.

Google's opposition brief states that Oracle very much wanted a quick trial and was willing to make concessions. That's true, but the question is just how those concessions can be reasonably interpreted, and how any interpretation can be reasonably applied.

Furthermore, Google recalls that Oracle once made a proposal to postpone the patent part of the case and that the judge rejected this, calling it a "piecemeal approach". This, too, is true per se, but once again the actual question is whether it's reasonably doable to assert the '702 patent now that the court and the parties know the "final" rejection wasn't final -- the patent office itself recognized it as an error. That's different from Oracle's original proposal of revisiting the patent issues in the fall (at the earliest).

Practical implications of an assertion of the '702 patent at trial

When there's at least room for interpretation, a decision can depend, in part, on practical considerations. This is also a question of prejudice to Google. The prejudice to Oracle in a scenario of not getting to assert a patent that wasn't truly rejected on a final basis is clear, and no one can deny that this kind of prejudice (also in light of the importance of the '702 patent that I mentioned further above) far exceeds any prejudice to Google. But Judge Alsup has repeatedly shown that he wants this case to be managed efficiently, and chances are that case management considerations will again be relevant to him -- though they need not, and in my personal opinion should not, tilt the scales in the end. Also, Judge Alsup more than once noted that the parties and their external law firms have substantial resources. Several of the reporters observing the trial have made note of the "armies of lawyers" involved. The judge knows that resource constraints won't prevent the parties from having everything in place for a patent trial involving the '702 patent.

Google points out that it has been preparing for a two-patent trial, and that the admission of the '702 patent "would require a revised report from [court-appointed damages expert] Dr. Kearl and potentially further expert discovery". Given that damages will be discussed only in Phase Three, this is a weak point, and that's why Google quickly says that "leaving aside the prejudice to Google in upending what has been the established scope of the case, there are other concerns with the proof that Google could present in the imminent patent phase of this trial". This is sort of a prejudice argument, but focused on issues involving evidence. Google raises the following issues:

  1. "[...] Google did not subpoena Nedim Fresko, the named inventor of the ’702 patent, and has no idea whether he would be available to testify at trial. Mr. Fresko is a former Sun employee, and not under the control of either party to the case."

  2. "[...] Google's invalidity expert on the ’702 patent relied on Oracle’s withdrawal in setting his own schedule for the coming weeks". Google lists some his commitments during the next several weeks and the fact he has to prepare an expert report in another case. "With all of that work filling his schedule, Google would not be able to prepare Dr. Levine for trial testimony in this case." But Oracle doesn't believe there will be a need for any invalidity discussion. Google raised the same invalidity contentions in its reexamination request that it would present a trial, and in connection with the other affirmed patent, the '520 patent, Judge Alsup already suggested, as per Oracle's request, that Google withdraw those, as it then did. If the judge told Google that it shouldn't complicate the process now with an insistence on failed, doomed-to-fail-once-more, invalidity contentions, then I think this point here is going to be moot -- unless Google wants to upset the judge at this stage.

  3. "Oracle has made statements during prosecution of the reexamination, and the Examiner has responded with a Statement of Reasons for Patentability. This additional information, now part of the intrinsic record of the patent prosecution, will be relevant to the interpretation of the claims and affect how, if at all, it can claim infringement of those claims." I concur with Google on relevance (I'm not saying that the infringement analysis will change or have a different outcome, but yes, Google needs to look at whether anything outcome-determinative has changed). However, I think Google draws the wrong conclusion from this by claiming that "[i]t would not be fair to require Google to analyze the statements made in prosecution and, in the middle of trial, adjust its case [...]". There's a sufficient amount of time before the start of the patent trial that this can be done, especially thanks to both parties' vast resources.

The judge usually spends some time with the parties' counsel to discuss case management and substantive issues at times when the jury has a break or has gone home. I guess the '702 patent will come up later today.

[Update] My Twitter feed from the courtroom shows that the matter was discussed early today. If the '702 patent was added, this would take the number of patent claims to be tried up to 18. Oracle indicated its willingness to drop claims from other patents in order to make room for this one. Judge Alsup said he'd think about this motion. [/Update]

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn:


Monday, April 23, 2012

Oracle Java patent rises like Phoenix from the ashes, can still be asserted at trial

It looks like we will see three, not two, Java patents at the Oracle v. Google trial. The trial is currently in the copyright phase, and phase 2 will deal with patents. Just in time, the patent office reconsidered its "final" rejection of a patent. That patent is now set to come back with a vengeance since patents surviving reexamination are particularly powerful. Before I go into more detail, let me provide a list of links to my previous week 1 posts (in reversely chronological order):

  1. Oracle asks court to clear up potential confusion over Apache license and Apache Harmony project

  2. The pragmatic approach to the copyrightability of API packages: case-by-case analysis

  3. Andy Rubin knew that a clean-room implementation of Java was 'unlikely' to happen at Google

  4. The Lindholm testimony and the reality of Java licensing options

  5. Oracle and Google find common denominator for telling jury about use of Java APIs in Android

  6. Oracle v. Google trial: evidence of willful infringement outweighs claims of approved use

Oracle agreed with the court to assert at trial only those patents that don't stand rejected by the USPTO (except if such rejection is only preliminary), and that's why there are currently two patents-in-suit. But late on Sunday, Oracle's counsel informed the court of a new development concerning U.S. Patent No. 5,966,702 on a "method and apparatus for pre-processing and packaging class files". As per a letter dated April 19, 2012 (last Thursday), the United States Patent and Trademark Office gave Oracle notice of its intent to issue an ex parte reexamination certificate that will confirm the validity of claims 1, 5-7, 11-13, 15 and 16 of the '702 patent. Among the confirmed claims, there are all of the claims Oracle is asserting in this action (1, 6-7, 12-13, 15 and 16).

Here's the header of the notice, and I'll comment further below (click on the image to enlarge):

The asserted claims were held invalid both in a first Office action dated June 6, 2011, and a "final" Office action on February 7, 2012. But Oracle filed a request for reconsideration, and in response to that request, the USPTO has now upheld the relevant claims of this patent.

This shows that "final" isn't "final-final". Not only can "final" rejections be appealed to the Board of Patent Appeals and Interferences (BPAI) and on to the Federal Circuit or even the Supreme Court but it's also possible that the Central Reexamination Unit changes mind even after issuing a final" rejection.

Patent claims that are confirmed after reexamination enjoy an enhanced presumption of validity.

Oracle's filing simply notifies Judge Alsup of this development without explicitly stating any particular implication for the trial. The patent part of the trial has not yet begun (I believe we've just finished the first third of the copyright phase), and the court and the parties know the '702 patent inside-out. I think there's no reason why there can't still be a three-patent trial. It wouldn't make sense to exclude a patent that legally enjoys an enhanced presumption of validity. The logistical effort to include evidence relating to the '702 patent is limited. Also, there would still be plenty of time to take the '702 patent into consideration for the third trial phase, the damages phase.

I expect Google to oppose the assertion of this patent, but the interests of justice weigh clearly in Oracle's favor, especially if you consider the difference between a scenario in which Oracle would have to drop a patent with prejudice versus one in which Oracle gets to assert a patent that enjoys an enhanced presumption of validity.

UPDATE: Google claims judge dismissed patent 'with prejudice', but merely referenced Oracle promise to do so for trial

As I expected (see the above paragraph), Google claims the '702 patent cannot be asserted anymore. CNET quotes Google as saying that "Judge Alsup ordered the '702 patent dropped with prejudice from this case". A dismissal with prejudice precludes assertion, but contrary to Google's statement, Judge Alsup never entered an order that declared the patent dismissed. The closest thing to this -- but still far short of an order to dismiss -- was the first sentence of a March 13 order setting the trial date:

"In reliance on Oracle’s withdrawal with prejudice of the '720, '205, and '702 patents, given the final rejections by the PTO examiner, and having twice admonished counsel to reserve mid-April to mid-June 2012 for the trial of this case, this order now sets April 16 as the first day of trial, which will be devoted to jury selection and opening statements."

A judge saying that he orders something "[i]n reliance on" a party's promise means that the party will be held to that promise, not that the judge orders something definitively. A promise for the future is a different thing than a decision of immediate effect. So we have to look at what Oracle actually promised. The March 13 order refers to what Oracle offered in a filing made four days earlier. Here all of the references to a possible future withdrawal of certain patents:

"Oracle America, Inc. hereby provides (1) a summary [...], (2) Oracle's proposal for withdrawing the '720, '205, and '702 patents should those patents continue to stand rejected at the time of a spring trial, [...]"

"II. ORACLE WILL WITHDRAW THE '720, '205, AND '702 PATENTS IF THEY REMAIN REJECTED AT THE TIME OF A SPRING TRIAL"

"The Court has asked Oracle to address whether it would be best to postpone trial until after final decisions by the PTO on administrative appeal, or alternatively whether Oracle will withdraw with prejudice the '720, '205, and '702 patents in light of the 'final' office actions rejecting the asserted claims of those patents."

"Accordingly, if the case goes to trial this spring, Oracle will withdraw from the litigation with prejudice each claim of the '720, '205, and '702 patents asserted against Google that remains rejected at the time of trial [...]"

"Notwithstanding its proposal to withdraw the claims of the '720, '205 and '702 patents that remain rejected as of the time of a spring trial, Oracle notes that the reexaminations of these patents have not yet reached final resolution at the examiner level. Oracle has filed a request for reconsideration of the '720 patent rejections and is awaiting further action by the examiner. Oracle expects to file requests for examiner reconsideration of the '205 and ’702 patent rejections, which are due on March 16 and April 7, respectively. Oracle has substantial arguments supporting reconsideration, raising a credible prospect that one or more of the rejections will be reversed by the examiners."

"Nevertheless, to achieve Oracle's goal of bringing this case to trial in the Court's suggested timeframe (mid-April to mid-June, 2012), Oracle will agree to withdraw with prejudice any of the '720, '205, and '702 patent claims asserted against Google in this litigation that remain rejected at that time."

All these quotes show a consistent pattern: they all relate to the future ("will") and don't specify a particular day such as "by the first day of trial". Instead, they refer to the trial as a "spring trial", and the only reference to the time of the trial is a period ("mid-April to mid-June, 2012").

It was Judge Alsup's decision to trifurcate the trial (break it up into three parts), with the first part being dedicated exclusively to copyright. What is taking place these days is a copyright trial, and the patent trial has not yet begun. I haven't seen any filing in which Oracle affirmatively withdrew, with prejudice and immediate effect, the '702 patent.

Yesterday the judge indicated that the jury would likely get to decide on the copyright part next week. So there's still enough time to create all of the necessary documents that the jury can evaluate the '702 patent as well. As I said further above, the court and the parties are no strangers to this patent. Plenty of material exists. For a reasonable interpretation of the promise Oracle made, one key consideration will be the question of prejudice to the parties. There is no prejudice to Google because none of the arguments it made, facts it presented or questions it asked during the copyright phase of the trial would have been any different if the patent office had reversed the rejection of the '702 patent just before the copyright trial. Therefore, I can't see a reason for which the patent would have had to be withdrawn on or before April 16. It has not been affirmatively withdrawn yet, nor has it been dismissed by the judge so far.

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn:


Oracle asks court to clear up potential confusion over Apache license and Apache Harmony project

On Sunday (April 22, 2012) afternoon, Oracle filed a "motion seeking a clarifying instruction [...] regarding Apache Harmony". Its lawyers see a "substantial risk of juror confusion and prejudice to Oracle" resulting from a combination of arguments that Google makes with respect to the Apache Harmony project on the one hand and the Apache license on the other hand:

  • "Google has repeatedly argued to the jury that Apache Harmony had used Sun’s Java APIs and that 'Sun said fine.'"

  • "Google has also repeatedly argued, and elicited evidence, that it took the 37 accused APIs from Harmony."

  • "Further, Google repeatedly refers to its distribution of Android under an 'Apache license,' which does not actually mean any license from Sun to Apache or Apache to Google, but instead confusingly refers to the standard Apache terms that Google imposes on Android licensees."

Oracle's lawyers don't want the jurors to think, as a result of the above, that Apache had rights to the Java technology that it gave to Google. That would mean that Google is indirectly licensed, but when the Apache Foundation resigned from the JCP Executive Committee in protest, it actually stated on the organization's official blog that the "Java specifications are proprietary technology that must be licensed directly from the spec lead under whatever terms the spec lead chooses."

In this regard, Oracle is also uncomfortable with Google's selective quoting from this May 2007 article by eWEEK's Chris Preimesberger. Google refers to a quote from then-Sun CEO Jonathan Schwartz ("there is no reason that Apache cannot ship Harmony today") and portrayed it to the jury as "an excerpt from a press release where Mr. Schwartz said you can ship as long as you don't call it Java". However, an eWEEK article is not a Sun press release -- otherwise eWEEK would belong to Oracle at this stage. Oracle points out that the very next sentence after the quote says: "That is technically true but Apache officials said that to do so with the TCK [Technology Compatibility Kit] restrictions in place would actually go against the Apache Software license."

Oracle wants a clear distinction to be made between

  1. "Apache's use of Sun's Java specifications for Harmony;

  2. Google's use of code from Apache Harmony; and

  3. Google distribution of Android under the Apache license."

In particular, Oracle stresses that the license under which Apache distributes Harmony and Google distributes Android is irelevant to the question of whether Google has a license to Oracle's API specifications.

Oracle therefore proposes that the following text be read to the jury:

"You have heard testimony regarding a project called Apache Harmony, and you have also heard testimony regarding an Apache license. These are two separate issues, and I will provide some clarification on those two issues now.

Harmony was a project by the Apache Software Foundation to develop an independent implementation of Sun's Java specification. The parties do not dispute that the Apache Software Foundation used Sun's Java specifications for Harmony. There is also no dispute that the Apache Software Foundation sought a TCK license from Sun for Harmony, but Sun refused to grant one.

There has been evidence that Google used code from Harmony for Android. Because Sun never granted the Apache Software Foundation a TCK license for Harmony, you may not find that Google's use of Harmony conveyed to Google any rights to use Sun's Java specifications, or provides Google with any defense to copyright infringement, if you find that such infringement occurred.

You have also heard about the 'Apache license.' The Apache license is a type of open source license that Google chose for its distribution of Android. It is not a license under which Sun made Java intellectual property rights available. Google's distribution of Android under an Apache-type license is separate from the issue of Apache Harmony. The fact that Google distributes Android under an Apache license has nothing to do with Google's use of code from Harmony, and also does not provide Google with any defense to copyright infringement, if you find that such infringement occurred."

Google opposes this. In Google's words, Oracle "asks the Court to do the job of Oracle's lawyers" and "to make factual findings about Apache-related issues and impose them on the jury, rather than allowing the parties to present evidence and then argue the significance of that evidence to the jury, as should be done", and "to blunt the impact of the undisputed facts that Sun was aware of the Apache Software Foundation’s use and distribution of the same Java API packages at issue here for over five years, Sun was aware of the use of Harmony packages in Android, and Sun never asserted that Apache infringed its intellectual property".

Google says that Oracle has not sued Apache to this day. I don't think it's a good idea for a self-proclaimed good citizen of the open source community to tell Oracle that it's a mistake to refrain, for now, from suing the Apache Foundation.

According to the response brief, some of Google's witnesses including but not limited to Eric Schmidt and Andy Rubin "will testify about Google's use of the Harmony API packages and class libraries, and the fact that Sun not only sat by while Apache distributed Harmony but even welcomed Google into the Java community after Google announced its use of Harmony intellectual property in Android". Google also expects that Jonathan Schwartz will testify in ways that will be useful to Google.

The problem with Google's argument is that Oracle's and previously Sun's decision not to sue Apache for the time being doesn't constitute a grant of a license. Other companies in the industry also treat the infringement of intellectual property rights by certain open source projects with benign neglect as long as they don't see any negative commercial impact. It's the prerogative of right holders to decide whom to sue and when.

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn:


Sunday, April 22, 2012

The pragmatic approach to the copyrightability of API packages: case-by-case analysis

The first major decision in Oracle v. Google will relate to the copyrightability of the 37 API packages Oracle is asserting (alongside other intellectual property). Absent a genuine factual dispute, this will be decided as a matter of law by Judge William Alsup. A decision could come down very soon. Over the last couple of days, the judge sent the parties three sets of questions, all of which relate to the copyrightability of API packages and have to be answered until 3 PM local time today.

Unless this case is settled, I believe that whichever party loses the decision on this particular issue will make this one the first and most important item of an appeal. That's just my personal belief based on how much depends on this.

Having followed the copyright-related pleadings in Oracle v. Google for well over year and having spent the better part of this weekend refreshing and augmenting my related knowledge, I'm now going to dissect this question in detail. This is a relatively lengthy post, but I'm doing my best to make this complex issue as clear and comprehensible as possible.

The 37 API specifications in the broader context of the case

In this litigation, Oracle is alleging the violation of a long list of intellectual property rights by Google's Android: two patents and dozens of copyrights. The 37 API packages are a subset of the asserted copyrights, and their copyrightability is just one (though highly important) question related to that particular subset.

Here, we don't have to take the two patents-in-suit into consideration. If they are infringed, they are not infringed by Google's use of the API specifications.

For the copyright part of the case, Oracle stated the infringement issues as recently as in an April 12, 2012 answer to questions from the court.

There are issues with 10 Android source code files that are not part of Android's implementation of the 37 API packages. Eight of those files (and their corresponding object code) contain copyrighted material that was apparently processed by a decompiler. The file names are AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java, PrincipalImpl.java, PolicyNodeImpl.java, and AclEnumerator.java. One of them (PolicyNodeImpl.java) was attached to Oracle's amended complaint. I found out about six of the seven other files and blogged about them in January 2011. In addition, Oracle says that "[c]omments contained in two Android source code files, CodeSourceTest.java and CollectionCertStoreParametersTest.java", were copied. Google says that it has removed any infringing material that was contained in those 10 (8+2) files in earlier versions of Android. Oracle argues that most Android devices still contain at least some of this material. At any rate, for the purposes of this post we don't have to go into more detail.

Oracle also says that "[t]wo Android source code files (and corresponding object code), TimSort.java and ComparableTimSort.java, which are part of Android's implementation of the 37 API packages", raise copyright issues. I mentioned the TimSort issue in my previous blog post. Google's opening presentation argued that the rangeCheck function represents only 9 lines of code out of 924 in the file and 15 million lines of code in Android as a whole. Google furthermore claims that Oracle's own damages expert, Professor Iain Cockburn, attached no commercial value (literally $0, according to Google) to those 9 lines. No matter how small this infringement may be, it is yet another incident of direct copying and, as such, detrimental to Google's credibility.

Now we're getting to the last but most important part of the asserted copyrights, the 37 API packages. These are their names:

java.awt.font, java.beans, java.io, java.lang, java.lang.annotation, java.lang.ref, java.lang.reflect, java.net, java.nio, java.nio.channels, java.nio.channels.spi, java.nio.charset, java.nio.charset.spi, java.security, java.security.acl, java.security.cert, java.security.interfaces, java.security.spec, java.sql, java.text, java.util, java.util.jar, java.util.logging, java.util.prefs, java.util.regex, java.util.zip, javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net, javax.net.ssl, javax.security.auth, javax.security.auth.callback, javax.security.auth.login, javax.security.auth.x500, javax.security.cert, javax.sql

Oracle estimates, based on a count of the lines of a sample of the Android documentation, that "Google copied an estimated 103,400 lines1 from the Java API specifications into Android's documentation". Oracle furthermore allegesi nfringement by

  • "[t]he selection, arrangement, and structure of all API elements (including names) of the Android class library source code and object code that implements the 37 API packages",

  • "[t]he declarations of the API elements in the Android class library source code and object code that implements the 37 API packages", and

  • "[t]he Android class library source code and object code that implements the 37 API packages as derivative works of the Java API specifications, including the English-language descriptions".

Oracle explicitly does not bring copyright infringement allegations against these parts and aspects of Android:

  • "Android's use of the Java programming language",

  • "[a]ny particular name of an API element, including names for each package, class, exception, field, method, and parameter name, considered individually" (this was the only item with respect to which a copyright-related summary jugment motion by Google succeeded, but the judge made clear that Oracle could still assert rights in larger structures consisting of such names),

  • "[t]he Android source code implementing the APIs contained in the 37 packages at the line-by-line level, except as set forth [in the infringement allegations described] above",

  • "[t]he idea of APIs",

  • "[t]he Dalvik virtual machine (without associated class libraries)",

  • "Android API packages and associated class libraries other than the 37 API packages and associated class libraries listed [in the infringement allegations described] above", and

  • "[o]ther Android source code and object code except as set forth [in the infringement allegations described] above".

Disputed distinction between Java language and Java APIs

Now that I have mentioned that "Android's use of the Java programming language" is explicitly excluded from the targets of Oracle's copyright infringement allegations, it's necessary to explain that there's a dispute between the parties as to whether the Java language (i.e., the keywords of the programming language) and the API packages are separate issues (as Oracle essentially contends) or inextricably linked (as Google would have the court believe).

There are two ways in which Google seeks to benefit from blurring or even eliminating the distinction between the Java language and the APIs. Since Oracle declared the language itself freely available in certain contexts, Google hopes to have an equitable defense. Also, Google believes that it can convince the judge (or, if necessary, the jury) of the idea that languages shouldn't be copyrightable.

In its opening presentation, Google highlighted such quotes (from documents and depositions) as "Package java.lang [p]rovides classes that are fundamental to the design of the Java programming language". Oracle points to the fact that, as its copyright expert wrote, "it was not necessary to include any particular class or package (beyond perhaps a very few classes like Object and Class that are tied closely to the Java language) for the Java language to function". That very limited overlap was shown on day 3 of the trial by Dr. Mark Reinhold, the Chief Architect of Oracle's Java Platform Group; see page 20 of his slide deck). Oracle furthermore notes that the Java language itself changes rarely (only three versions so far) compared to the APIs, which change frequently and grow fast (see page 19 of Dr. Reinhold's slides). And Oracle makes references to what Google's own copyright expert wrote last summer:

"'Java' may refer to three very different things: the Java programming language, the Java Application Programming Interfaces (APIs), or software source code that references and implements the APIs."

In other words, Google's position on this has shifted. I don't have the impression at this stage that Judge Alsup buys the conflation Google proposes now against better knowledge and its own earlier arguments. One thing the judge was nevertheless interested in is how the parties view the copyrightability and patentability of programming languages on the one hand and APIs on the other hand. Even though the Java programming language isn't at issue in this litigation, the judge presumably asked those patentability and copyrightability questions also because he wanted to understand which of the two categories of intellectual property rights has, or from a policy point of view should have, scope for the kind of creation Sun made and Oracle acquired. For example, if the programming language appeared more protectable than the API, it could be considered Oracle's fault that it declared the language itself to be freely available. Or in another scenario, if it was clear that APIs are meant to be protected by patent law, the judge probably wouldn't want to stretch the boundaries of copyright law for someone who failed to obtain patent protection. It's even possible that the judge concludes that neither patents nor copyright can protect those APIs, but I think he believes in the rule of law and in intellectual property and will be hesitant to deny all protection for an important contribution to innovation. All of the case law cited by the parties on copyrightable subject matter is more or less useful in terms of what it says about general principles of copyrightability, but there's no single case that would be able to answer the question. And in particular, there hasn't been any high-profile case like this that raised any reasonably similar issue. That's why Judge Alsup's court as well as any appellate courts who may subsequently look at this issue will have to factor in some general policy considerations.

Before we continue with the parties' positions, I'll state my personal, long-standing perspective on this policy question.

Patentability vs. copyrightability of programming languages and APIs

The question of copyrightability vs. patentability reminds me of my discussions with European politicians in 2004 and 2005 during the legislative process concerning a proposed EU law on the patentability of "computer-implemented inventions". As an anti-software patent but not anti-all-IP activist, I accepted some politicians' opinion that copyright law on its own (even if combined with trade secret protection) may not provide sufficient protection for certain kinds of software-related innovation. I told them that software still shouldn't be patented. Instead, I proposed to think about ways to strengthen copyright in connection with software.

In that same political debate I also argued that overreaching "interoperability" privileges would be inconsistent. Either there is a certain kind of protection and then it should, in principle, also apply to interoperability-related inventions and creations, or there isn't. Nevertheless, in connection with industry standards I believe that FRAND commitments must be honored -- I've also had that position for years.

While that legislative process was ongoing in Europe, someone named Greg Aharonian brought a lawsuit, in the same district as the one in which Oracle v. Google is now being tried, aiming to have the courts determine that software shouldn't be copyrightable at all -- but only patentable. A Reuters story on that lawsuit can still be found on the Internet (1, 2) I was shocked when I heard about that, and glad when he lost.

The problem with a patents-only approach to software protection would be that there's a whole lot of innovation that takes real creativity (and hard work and sometimes substantial investment) that I believe should be protected regardless of whether it meets the criteria for patentability. For example, if developer A implements a certain patentable invention and developer B comes up with a faster and/or more efficient and/or more secure implementation, I think it's fair to give either one copyright in what he writes, even if B might be denied a patent because his creation is deemed anticipated by, or obvious over, what A did before him.

In my view, this also applies to API design provided that it truly represents an original work that deserves to be protected as a creative achievement. I can see value in it that deserves to be protected irrespectively of whether novelty, non-obviousness and other criteria for patentability are met.

Theoretically, it is conceivable that a patent constitutes a monopoly on functionality without which it's impossible to interpret or compile a command of a programming language, or to reasonably implement a method of an API class, but that's only an indirect kind of protection. It would not protect structure, selection, sequence, organization, etc., and it would be both unfair and insufficient. Unfair because API design as a creative process deserves protection; insufficient because even a very patent-savvy developer will be lucky to be granted a patent that is essential to the implementation of even one such feature, and an infringer could then throw out that feature and still make use of lots of the rest, which would not be protected by patent law.

I know some people out there claim the copyrightability of APIs, for which Oracle v. Google may become a landmark case, would be undesirable. But I think they generally overstate the implications of this. In particular, Oracle isn't arguing that all APIs should be copyrightable, and in particular, Oracle doesn't advocate the copyrightability of abstract ideas.

Balance is key. In all the decisions on copyrightability that I read, there's one (frequently-cited) sentence in a Ninth Circuit ruling (Rosenthal v. Kalpakian) that I consider very appropriate and pragmatic:

"The guiding consideration in drawing the line [between a non-copyrightable "idea" and copyrightable "expression"] is the preservation of the balance between competition and protection reflected in the patent and copyright laws."

This one was not only quoted but further clarified in CDN Inc. v. Kapes.

I'll be frank: I think there are far more reasons to consider those Java APIs -- also at the level of selection, structure and organization -- deserving of copyright protection. The question of whether such theories as the "merger doctrine" (inseparability of idea and expression), which is one of the theories based on which Google disputes the copyrightability of the asserted APIs, render a certain way to use such material legal should be a subsequent issue in my opinion, and has to be decided in light of policy considerations concerning competition and innovation as opposed to a bright-line approach.

This is reasonably consistent with what Google's Senior Copyright Counsel, William F. Paltry, wrote in this 2003 paper on copyright and software:

"The validity of merger as a doctrine separate from the idea-xpression dichotomy is doubtful, however. If an idea and its alleged expression are truly inseparable, there can be no selectivity sufficient to satisfy the originality requirement. If, on the other hand, an author has choices regarding the content or design of a work and imbues the work with more than a minimal amount of expression, the court should not focus on copyrightability, but instead on the scope of protection. Thus, the better approach [...] is that merger is relevant at the infringement stage as a limiting principle on the scope rather than on the existence of protection. When used at the infringement stage, merger can be applied sensitively to the facts before the court, permitting the court to ensure that the proper balance between protection and competition is preserved. [...] Thus used, merger and other doctrines such as the fair use privilege, can be important, almost surgical tools to strike the appropriate balance in individual cases."

Note the word "surgical" and the last two words, "individual cases": this is about very case-specific considerations. And I'll voice my opinion again on how I view these case-specific issues in Oracle v. Google: I just can't see how it would be good public policy to let Google get away with reckless infringement, hijacking an entire platform and fragmenting it, and ultimately getting, as a Twitter user told me yesterday, to have its Java and drink it.

Even if the approach chosen was to adjudicate Google's defenses such as the merger doctrine at the stage of evaluating copyrightability, one need look no further than at what is happening in this present case to see, from a public policy point of view, a need for protection against such conduct. From this angle it also becomes clear that interoperability privileges must not be applied to such an inappropriate extent that someone who doesn't even want to be truly compatible gets to benefit from them. Otherwise, the floodgates would be opened for "embrace, extend, extinguish" strategies.

Google's affirmative defenses relating to the 37 API packages

Oracle's claims related to the 37 API packages can succeed only if it overcomes all of Google's affirmative defenses. In its March 9, 2012 Opening Copyright Liability Trial Brief, Google made the following claims (literal quotes but reformatted by me):

  • "Google contends that the selection, arrangement and structure of the API elements are not copyrightable, for several reasons.

    • First, the selection, arrangement and structure are uncopyrightable ideas, processes, systems or methods of operation.

    • Second, the selection, arrangement and structure are functional requirements for compatibility, and thus not protectable.

    • Third, the selection, arrangement and structure are unprotectable scenes a faire, and/or their expression has merged into unprotected underlying ideas [the aforementioned "merger doctrine"].

  • Even if they are copyrightable, Google contends that any similarities arising from use of any protectable elements either are not substantial and are therefore noninfringing, or are a fair use.

  • [defenses relating to source files other than API packages]

  • Finally, Google contends that Oracle's copyright claims are barred by the equitable doctrines of laches, estoppel, waiver and implied license."

We can simplify this by ignoring for the purposes of this post, besides the defenses relating non-API-package source files, the final point about equitable defenses because they will be considered after the decision on copyrightability.

That is also true of the "fair use" defense. With respect to "not substantial and therefore noninfringing", a declaration filed by Oracle stated that "when printed out, Oracle's 37 API specifications are more than 11,000 pages long". Further above I mentioned the claim that Google copied an estimated 100,000+ lines into Android's documentation. Unless only a small part of this material is deemed copyrightable, the non-substantiality argument is not going to succeed on its own.

The "fair use" defense is also a difficult one in light of mountains of evidence of reckless infringement and the negative effects of fragmentation on Oracle as a company and the wider Java community.

We're now down to the three second-level bullet points, the non-copyrightability arguments starting with "First", "Second", and "Third". Let me reformat those non-copyrightability claims in a condensed form so we get to focus on the gist of this:

"[T]he selection, arrangement and structure of the API elements are [...]"

  1. "uncopyrightable ideas, processes, systems or methods of operation",

  2. "functional requirements for compatibility, and thus not protectable", and

  3. "unprotectable scenes a faire, and/or their expression has merged into unprotected underlying ideas."

It's allowed to raise defenses that are mutually exclusive. In this case, Google simultaneously raises defenses of the "too abstract to be protectable" kind as well as others of the "too functional to be protectable" kind. It's obviously hard to be too abstract and too functional at the same time. But it can be correctly deduced from this that Oracle will prevail only if what it claims to be copyrightable steers clear of both extremes. There is, however, a pretty broad corridor in between those extremes that constitutes the scope of copyrightable subject matter.

Copyrightability of selection, arrangement and structure is independent from copyrightability of individual elements

When reading the above defenses, it's important to consider that all of this refers to the "selection, arrangement and structure of the API elements" as opposed to the elements themselves. Therefore, even if every single one of those elements could be struck down with one or more of those non-copyrightability arguments, the "selection, arrangement and structure" might nevertheless be copyrightable.

But it's important to understand in this context that Oracle's legal theory for the protection of the structure, selection and organization of the asserted APIs is not the one of a "compilation", defined by the law as "a work formed by the collection and assembling of preexisting materials or of data that are selected, coordinated, or arranged in such a way that the resulting work as a whole constitutes an original work of authorship". Instead, Oracle argues that "[t]he 37 APIs are original works of authorship" because "[t]he specifications, as written documentation, and the class libraries (source or object code implementations of those specifications), as computer programs, are both protected as literary works."

The difference is that a compilation comprises material that is not protected, such as mere facts (for example, a telephone directory as such, or a dictionary), while Oracle's APIs contain, for the most part if not entirely, material that can be written in any number of ways. Oracle cites the Satava v. Lowry decision:

"Our case law suggests, and we hold today, that a combination of unprotectable elements is eligible for copyright protection only if those elements are numerous enough and their selection and arrangement original enough that their combination constitutes an original work of authorship."

Oracle knows that it has a strong argument for originality because Google itself admitted it's a low hurdle -- much, much lower than most people think. On Wednesday (April 18), Judge Alsup entered an order according to which the jury will be told, among other things, that the following fact is not disputed by Google:

"The Java APIs as a whole meet the low threshold for originality required by the Constitution."

Oracle would have preferred to have this applied to the 37 asserted APIs, but that won't make much of a difference: whether one looks at those 37 APIs or hundreds of APIs, the threshold for originality is easily met. In its Feist v. Rural decision, the Supreme Court said that "[t]he constitutional requirement necessitates independent creation plus a modicum of creativity". It's hard to see how 37 Java APIs cannot meet this -- presumably every single one of those packages can.

If the threshold is only met because it's very low, Google's fair use defense is stronger than if a very significant degree of originality is determined. Again, given the size and complexity of this, and all of the creativity that goes into API design, I doubt that the finding would be that there's little originality. Google engineer Joshua Bloch and Google's copyright expert Owen Astrachan confirmed the creative achievement that API design constitues in their earlier testimonies:

That was page 62 of Oracle's opening slide deck. On page 63, a presentation Joshua Bloch gave in 2005 (which bears the Google logo) stressed that "API design is a noble and rewarding craft". When asked about it on day of the trial, he confirmed this perspective: "Yes, I certainly believe that."

There's a lot more that could be said now about copyrightability of APIs. Chances are I will talk about some more of these issues, and some of the defenses that have been raised. But the purpose of this blog post was not to provide an in-depth paper on copyrightable subject matter and how it relates to the Java APIs. I mostly just wanted to explain the basic approach of making this a case-specific issue, taking into account the creative achievement on the one hand and the way in which a party makes use of such API material on the other hand, which I believe makes more sense than any bright-line, razor-like approach.

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn: