Attempting to rescue itself from last year's thoroughcourtroomsmackdown, Oracle has filed a 77-page appeal brief [PDF] arguing that Java APIs are indeed copyrightable, contrary to a federal judge's ruling.

Google didn't copy the code from actual Java functions when it created Android, but it did use what Oracle calls "declaring code" from declarations, headers, signatures, and names of functions. Oracle claimed this amounted to copying the "structure, sequence, and organization" of Java.

US District Judge William Alsup, who oversaw the case, disagreed. The code Google used was "a utilitarian and functional set of symbols, each to carry out a pre-assigned function." Declarations and headers "must be identical" to carry out the function, and "duplication of the command structure is necessary for interoperability," wrote Alsup.

Now, Oracle's trying very hard to get that finding overturned. In 2009, the company paid more than $7 billion for Sun Microsystems, which gave it ownership of Java's patents and copyrights. The company's top brass very much believes that the intellectual property should entitle it to serious compensation from Google, and it initiated discussions with the search giant shortly after the purchase, ultimately filing suit in 2010. The company's initial damage demands went up to $6 billion, but that was whittled way down by the judge.

Oracle kicks off its legal arguments with the tale of a mythical writer, Ann Droid (get it?):

Ann Droid wants to publish a bestseller. So she sits down with an advance copy of Harry Potter and the Order of the Phoenix—the fifth book—and proceeds to transcribe. She verbatim copies all the chapter titles—from Chapter 1 (“Dudley Demented”) to Chapter 38 (“The Second War Begins”). She copies verbatim the topic sentences of each paragraph, starting from the first (highly descriptive) one and continuing, in order, to the last, simple one (“Harry nodded.”). She then paraphrases the rest of each paragraph. She rushes the competing version to press before the original under the title: Ann Droid’s Harry Potter 5.0. The knockoff flies off the shelves.

J.K. Rowling sues for copyright infringement. Ann’s defenses: “But I wrote most of the words from scratch. Besides, this was fair use, because I copied only the portions necessary to tap into the Harry Potter fan base.”

Obviously, the defenses would fail.

Defendant Google Inc. has copied a blockbuster literary work just as surely, and as improperly, as Ann Droid—and has offered the same defenses.

Oracle has a huge hill to climb to win this appeal, because Google essentially won this case twice. The jury found Google had infringed but split on whether or not its use of declaring code was "fair use." Then it won a more resounding victory when Alsup ruled that APIs can't be copyrighted at all. Oracle's lawyers will now have to convince the appeals court that, first, APIs can be copyrighted at all, and second, that Google has no fair use defense, or at least should go through a second trial on that issue.

On the API front, Oracle notes that under US copyright law, the threshold for copyright protection is low. "Any 'creative spark' counts, 'no matter how crude [or] humble,'" write Oracle's lawyers, citing the Feist v. Rural case. And the organization of the Java software packages is a creative expression; its "structure, sequence, and organization" would be protected "even if Google hadn't copied a single line of code, but all the more so because it copied 7000." (The 7,000 lines refers to the declaring code. Google didn't copy any implementing code with one tiny exception: a 9-line accident that Alsup called "innocuous and overblown by Oracle.")

As for fair use, Oracle writes that Google's use of the declaring code was commercially motivated and was "the only code with any relevance to programmers," so it can't possibly be fair. Oracle lawyers cite a case in which an article in The Nation was found to infringe because it took a few hundred words from Nixon's memoir, despite the fact that it wrote 87 percent of its own article. Further weighing against fair use is the fact that Google "damaged the value of the Java platform in the smartphone market," argues Oracle.

This copyright appeal has an unusual setting. Because the original case involved patents, the appeal is being heard by the US Court of Appeals for the Federal Circuit, which oversees all patent appeals. That continues to be the case, even though Oracle dropped the patent portion of its case after losing. For the copyright issues that are in dispute, the Federal Circuit will apply the case law of the 9th Circuit, since the case was argued in San Francisco, near both companies' headquarters.

The problem with the analogy, however, is that a story CAN be written in any way possible (it's art). Code, however, especially efficient code, can really only be written in a way that the system can understand (it's functional) and really do limits how far a developer can deviate from that.

Ah, I see what happened here. Obviously, Oracle wanted to use this "subtle analogy" they'd heard about, but their legal team was forbidden from using Google, so they had to look up what that meant on Bing.

I'm not interested in any of the parties to this and don't care how it turns out (except in any way that's likely to create a precedent or be applied more widely). However, it's difficult for me to see how using someone else's code can be "fair use." We didn't copy the whole Office suite, we only grabbed out PowerPoint, so fair use?

A better analogy is:

We thought PowerPoint was bloated, so we hired 2 guys from the PowerPoint team, and added in 10 of our own engineers, and they wrote a presentation software we call ShowPoint. Some of the code ended up being exactly the same.

If calls to the Java API are consider copyright infringement does this mean that most Java code infringes? If so, then what is the point behind using Java if you can be sued for copyright infringement.

I think Oracle's incompetent management and legal team should try think what the implications of their new position is. Essentially they are telling non-Oracle developers may be you should port your code to some other language so the mismanagement team at Oracle can not sue. Would using Scala avoid this problem?

Here's a little parable: A very old and evil troll named Debacle once lived in a database on a road in a remote forest. He grew rich off of the money he extorted from passing travelers. One day he captured a traveler who told him that if he didn't rob him and instead paid him, he would tell him where the deed was hidden for a major bridge over a valley. He told the troll he could grow even richer once he owned the bridge, because he could extort money from the much larger number of travelers who flooded daily into the city on the other side.

The troll took him up on the deal, and rubbed his hands together in glee at the thought of all those defenseless commuters to fleece. But it turned out that the deed was only the deed to a small coffee shop at the entrance to the bridge. So he had no option but to go into the coffee business. But his horrifying body odor and foul manners drove off all his customers.

So now the troll is back in his database in the forest, and his frustrated roaring can be heard in the distance now that the cheers of the relieved citizens have died.

I'm not interested in any of the parties to this and don't care how it turns out (except in any way that's likely to create a precedent or be applied more widely). However, it's difficult for me to see how using someone else's code can be "fair use." We didn't copy the whole Office suite, we only grabbed out PowerPoint, so fair use?

more like, we wrote a competing paper on the same topic as you, and some of our chapter tiles are the same, and the content is similar, due to us trying to achieve the same result(ie. a paper on something). eg, sprocket design and gear ratio information in a chapter called How To Make Sprockets.

I'm not interested in any of the parties to this and don't care how it turns out (except in any way that's likely to create a precedent or be applied more widely). However, it's difficult for me to see how using someone else's code can be "fair use." We didn't copy the whole Office suite, we only grabbed out PowerPoint, so fair use?

A better analogy is:

We thought PowerPoint was bloated, so we hired 2 guys from the PowerPoint team, and added in 10 of our own engineers, and they wrote a presentation software we call ShowPoint. Some of the code ended up being exactly the same.

Really, that's not even technical enough and it might be better to get away from software for an analogy. Instead think of a simple thing like a keyboard. QWERTY is the interface, but people can copy that key arrangement all they want. That's a bit different still, as the QWERTY layout was patented, but on a functional level all that was copied was that simple interface. The keyboards are completely different except on that interface level.

The problem with the analogy, however, is that a story CAN be written in any way possible (it's art). Code, however, especially efficient code, can really only be written in a way that the system can understand (it's functional) and really do limits how far a developer can deviate from that.

If calls to the Java API are consider copyright infringement does this mean that most Java code infringes? If so, then what is the point behind using Java if you can be sued for copyright infringement.

I think Oracle's incompetent management and legal team should try think what the implications of their new position is. Essentially they are telling non-Oracle developers may be you should port your code to some other language so the mismanagement teams at Oracle cant not sue. Would using Scala avoid this problem?

No, they are just saying the class and function definitions are copyrightable.

If you call a function that is not the definition as it was defined elsewhere you are just using a reference to that definition in your code.

Their argument seems fairly logical however, this being a case about computer code and not a work of fiction should make the outcome different than what they described because the two scenarios are not entirely analogous. While their description seems appropriate they already allow others to implement java if they so choose whereas I do not believe a writer would ever allow for someone to copy chapter names and recreate the story and it then becomes a different story. An interesting counter would be Star Wars and Spaceballs, even though they did not take chapters (classes) and beginning paragraphs (functions) and rewrite them they still created a similar work based on the other work. I think the major flaw to my argument is that we are talking about a parody and the chapters and beginning paragraphs would not line up, but to me it seems comparable :-D

The problem with the analogy, however, is that a story CAN be written in any way possible (it's art). Code, however, especially efficient code, can really only be written in a way that the system can understand (it's functional) and really do limits how far a developer can deviate from that.

While we seem to agree that more efficient code generally restricts the programmer and sets a more rigid structure, the idea that you could ever write a single line of code as efficiently as possible without any other possibilities is just flawed.

Even at the assembly level there are plenty of different ways to write a basic jump table. The lower the language, the more important the sum of all the parts become in determining plagiarism, instead of just the individual part.

Code, no matter how functional you think it is, is very much art in its own right.

I'm not a lawyer so I can't see why the Ann Droid case infringes anything since it's a separate text. It just based on a Harry Potter book scenario, why is that illegal? Can someone explain that to me?

Seeing how Oracle is steadily changing into a patent troll I wish Sun had found a better buyer for itself.

"I'm sorry Oracle, but Ann Droyd didn't do that, because copying an unreleased copy of someone else's book would indeed be wrong. Instead, she sat down with the classic children's book 'Goodnight Moon', reviewed it, analyzed it, and as she is within her rights to do, came up with the excellent parody 'Goodnight iPad'."

I'm not a lawyer so I can't see why the Ann Droid case infringes anything since it's a separate text. It just based on a Harry Potter book scenario, why is that illegal? Can someone explain that to me?

Seeing how Oracle is steadily changing into a patent troll I wish Sun had found a better buyer for itself.

It sounds like they are trying to confuse the issue by making weird analogies.

They are describing a case using books where title and topic sentence is a copy while rest is paraphrase; which is dicy / copyright infringement.

But the case they lost is that API method name and function of the method is same/similar but actual code wasn't.

In effect, they are trying to argue method name == book/chapter title and same function == paraphrasing.

We thought PowerPoint was bloated, so we hired 2 guys from the PowerPoint team, and added in 10 of our own engineers, and they wrote a presentation software we call ShowPoint. Some of the code ended up being exactly the same.

This is plain wrong. The jury's verdict was that no code was the same. It's more like suing LibreOffice for "violating copyright" on MS Office's functionality or for having pretty similar GUI - panels, menus, etc.

I believe that Judge Alsup did an extremely poor job with jury instructions in this case that led to the finding of fair use. He set a very low bar in the instructions that any "transformative" change counted as fair use. By that standard almost anything is fair use and, unsurprisingly, the jury ruled that way.

It's pretty obvious that Google did a lot of copying here and it is also pretty clear that Oracle/Sun, who has spent a lot of money developing Java, did not want them to do so. It may well end up being declared fair use but it's hard to knock Oracle for taking Google to court on something they so strongly disagree about.

You're missing the point that the copying they did was of interfaces, for compatibility reasons, which is both legal and desirable. Programming languages specifications and interfaces are specifically not patentable, because they are too important as the medium in which programmers express their ideas.

Oh, and by the way, Oracle didn't spend any money developing Java. They bought it from Sun, who specifically DIDN'T sue Google. Sun would have liked money from Google, but they knew that what Google was doing was legal, so they even said that they were glad Google was using Java because it increased the size of the overall Java market.

It's easy to knock Oracle. All you have to do is lift up any rock in their vicinity, and you'll find something loathsome.

...it is also pretty clear that Oracle/Sun, who has spent a lot of money developing Java, did not want them to do so. It may well end up being declared fair use but it's hard to knock Oracle for taking Google to court on something they so strongly disagree about.

Actually, Sun had no problem at all. They were happy to see Java hitting a new platform, and Google/Sun had an understanding that everything was fine. It wasn't till Oracle got their greedy hands on Sun that it became a problem because Oracle is trying to monetize everything they possibly can.

(as an aside, their stance on this has caused me to migrate the various web servers I run from MySQL over to MariaDB, in an attempt to avoid anything Oracle has touched like it has the black plague. If I didn't use ADSM [Cisco firewall mgmt software] for work so much I'd deinstall Java too, but sadly that's not an option right now. :s)

Proof by assertion? But a lot of commenters here disagree with you, which shows that at least it isn't "pretty obvious."

Quote:

and it is also pretty clear that Oracle/Sun, who has spent a lot of money developing Java, did not want them to do so.

Well, yeah, I will grant you that Oracle is clearly unhappy, but Sun never objected when Android first got started.

Quote:

It may well end up being declared fair use but it's hard to knock Oracle for taking Google to court on something they so strongly disagree about.

On the contrary, Oracle deserves to be knocked a few miles into the ground if, as you appear to assert, it's suing people just because it's so upset, rather than having a legally justifiable complaint.

I am not completely up with what the copyright infringement is about in its details and the technicalities in this context, but as a developer I can appreciate a well designed API versus a bad one. So I believe there is intellectual value in a well designed API, library, classes, header file...

Forgetting the case at hand, if there were two companies offering the exact same service over a rest API, one had a good API, the other a bad one. The company offering the good API had a lot of customers, the one with the bad API none. If the company with the bad API decided to duplicate the API of the better company, would they be infringing?

For the love of God, why doesn't Google simply buy Oracle and remove the issue?

Because buying pretty much the evilest tech company out there wouldn't fit well with "don't be evil", perhaps?

When oracle bought Sun and everyone started complaining I was like "meh". I thought things like mySQL, OpenOffice and Virtalbox had been handed over before and that nothing could go wrong. Then I gradually realized how mistaken I was and started fearing that the Internet was right.

So today I agree with you. If Google bought Oracle this would result in the creation of the most evil company in the History and in the Fiction.