Code, structure, sequence, and API organization entitled to copyright protection.

A federal appeals court on Friday reversed federal judge's ruling that*Oracle's Java API's were not protected by copyright.

The debacle started when Google copied certain elements—names, declaration, and header lines—of the Java APIs in Android, and Oracle sued. A judge largely sided with Google in 2012, saying that the code in question could not be copyrighted.

"Because we conclude that the declaring code and the structure, sequence, and organization of the API packages are entitled to copyright protection, we reverse the district court’s copyrightability determination with instructions to reinstate the jury’s infringement finding as to the 37 Java packages," the US Appeals Court for the Federal Circuit ruled Friday.

US District Judge William Alsup, in his 2012 ruling for Google, wrote 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."

The judge compared the Application Programming Interfaces (APIs) to a library, with each package as a bookshelf, 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," Alsup wrote.

About 97 percent of the source code in the API packages are different. It's only the 3 percent that overlaps that formed the heart of Oracle's copyright claim. That three percent included packages, methods, and class names.

Developing.