Ars Technica is reporting that the verdict is in, and that the jury decided that Google's duplication of several Java interfaces is fair use.
Ars Technica writes that Google's Android OS does not infringe upon Oracle-owned copyrights because its re-implementation of 37 Java APIs is protected by "fair use." The jury unanimously answered "yes" in response to whether or not Google's use of Java APIs was a "fair use" under copyright law. The trial is now over, since Google won. "Google's win somewhat softens the blow to software developers who previously thought programming language APIs were free to use," Ars Technica writes. "It's still the case that APIs can be protected by copyright under the law of at least one appeals court. However, the first high-profile attempt to control APIs with copyright law has now been stymied by a "fair use" defense." The amount Oracle may have asked for in damages could have been as much as $9 billion.
Stop using Java
After this, if I still had my company, I wouldn't touch Java with a ten foot pole. I'd be at the whim of whatever Oracle executive failed to meet last quarter figures. Find a true unencumbered language and use that instead.
Re:11,500 lines of code
For "code", read "lines from header files to ensure that their strlen() function - or whatever - took the same parameters in the same order as our one, when they were trying to make an independent, but compatible, reimplementation".
It's like Intel saying "They copied our circuit diagram, hundreds of pins on a layout and what they do" when someone's making, say, a chip compatible with an x86 motherboard. Nobody's suggesting that the chip they made wasn't developed entirely independently, they're saying they "own" the fact that pin 1 is 5v, pin 2 is GND, pin 3 is DATA1, etc.
Re:Stop using Java
So, you're saying: "keep taking it up the ass because I can't imagine changing my tool chain?"
There are plenty of alternatives to Java, .Net is a valid one despite your claim, and others like Python or C/C++ are equally valid. The trick with C/C++ is to use an abstraction layer between your code and the operating system. Like GUI toolkits and such. Let the GUI toolkit implement the different back-ends, your code calls it the same on all platforms.
Not out of the woods
It's great Google won and all, but fair use doesn't really protect the average developer. Fair use is an affirmative defense. In order to assert fair use, you have to get sued, refuse to settle, and then prove that your use is a fair use in a court of law. That will almost always get prohibitively expensive very quickly as this case has shown.
The real solutions is to make APIs not covered by copyright at all, like a directory listing or mathematical formula. I think Oracle should be able to copyright the implementation of Java, and obviously they have the right to restrict the use of the Java trademark, but the APIs should just be public domain.
IBM PC BIOS
I'd love to see IBM take a swing at this one, seeing as the original decision that allowed non-IBM PC-compatible machines to be created turned on the question of whether creating a BIOS that exposed the exact same interface as IBM's BIOS infringed on IBM's copyright if all other code could be proven to be entirely original. Under this decision the answer would be "Yes.", and IBM would be owed damages for every single PC created using a non-IBM BIOS that had any trace of the legacy BIOS API in it (at a minimum every BIOS that wasn't completely UEFI-only).
It might also be entertaining to analyze the effects of this ruling on Oracle's use of GPL- and LGPL-licensed glibc and kernel header files in their products that run on Linux. Neither license quite directly addresses the question of copying copyrighted API declarations into object files and executables. They address linking of various sorts, and copying into source code, but this particular aspect's deemed outside the scope of the license and thus not addressed.