Thursday, May 31, 2012

Google Wins

The judge has now ruled on whether or not the Java API is covered by coopyright, and he said no.

This must be the one of the few federal judges out there who understands programming:
Oracle's legal battle to break itself off a chunk of the smartphone market by attacking Android looks dead in the water today, after a federal judge who recently finished presiding over the six-week Oracle v. Google trial ruled that the structure of the Java APIs that Oracle was trying to assert can't be copyrighted at all.

It's only the code itself—not the "how-to" instructions represented by APIs—that can be the subject of a copyright claim, ruled Judge William Alsup. "So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API," wrote the judge.

Google had copied certain elements—names, declaration and header lines—of the Java APIs. Alsup ruled that even though Google could have rearranged "the various methods under different groupings among the various classes and packages," the overall name tree is "a utilitarian and functional set of symbols, each to carry out a pre-assigned function... Duplication of the command structure is necessary for interoperability."

………

Alsup compared APIs to a library, with each package as a bookshelf in the library, each class a book on the shelf, and each method a chapter out of a how-to book. "As to the 37 packages, the Java and Android libraries are organized in the same basic way but all of the chapters in Android have been written with implementations different from Java but solving the same problems and providing the same functions." The declarations, or headers, "must be identical to carry out the given function," wrote Alsup.

Ninety-seven percent of the source code in the API packages is different; it's only the three percent that overlaps that formed the heart of Oracle's copyright claim. That three percent included packages, methods, and class names. But those declarations—like starting a function with package java.lang—can only be used in certain ways. "In order to declare a particular functionality, the language demands that the method declaration take a particular form," notes Alsup (emphasis in original).

Alsup's ruling comes less than a month after a European court made a decision along the same lines, finding that programming APIs can't be copyrighted because it would "monopolize ideas."
Judge Alsup gets it.

He understands the basic concepts, and he understands computers.

I am pleasantly surprised.

No comments:

Post a Comment