Google has filed a response to Oracle's lawsuit filed in August, denying infringement on any of Oracle's intellectual property. The company not only argued that it had not crossed any of Oracle's patents, but even if it did, the patents should be ruled invalid and unenforceable. Additionally, Google said that Oracle shouldn't be pointing fingers, as Oracle itself is practicing double standards when it comes to the open sourcing of Java.

Oracle originally accused Google of both patent and copyright infringement over its heavy use of Java in the Android software development kit. At the time, an Oracle spokesperson stated flatly that Google "knowingly, directly, and repeatedly infringed Oracle's Java-related intellectual property" when developing Android.

According to Google, those accusations are completely baseless, and the company takes things a step further by pointing out that the "open source" nature of Java isn't quite so open source after all thanks to Sun. Basically, Google argues that Sun had released much of the source code for Java 2 SE under the GPLv2, which "contributed to its widespread acceptance among software developers," but that the company later required developers to demonstrate compatibility with specific Java requirements in order to obtain a license.

"Sun came under significant criticism from members of the open source community, including Oracle Corp., for its refusal to fully open source Java," reads Google's counterclaim. "[D]irectly contrary to Oracle Corp.’s public actions and statements, as well as its own proposals as an executive member of the JCP, Oracle Corp. and Sun (now Oracle America) have ignored the open source community’s requests to fully open-source the Java platform."

The problem here is that Android's implementation of Java doesn't match up with any of the standard Java profiles. This means it can't pass any of the compatibility tests, and therefore can't get officially licensed from Sun. Additionally, Oracle once tried to argue that Sun should loosen its licensing requirements, but changed its tune when the company bought Sun in 2009.

This in itself is frustrating to Google, but there are other caveats here as well—ones that Google doesn't go into in its complaint. Because Google doesn't technically have a license to distribute its implementation of Java with Android, it also doesn't have an implied license to the Java patents. And because all of these licensing terms are public, it's hard to argue that Google wasn't aware of them before the company implemented its version of Java in Android. That's when we loop back to the beginning, with Google arguing that the Java patents are invalid anyway.

It's clear that Google is going for the jugular by dragging up Java's history and the technicalities with open source licensing in its counterclaims. However, Google could also be opening up a can of worms with the licensing details that may eventually work against the company. It's not going to be a pretty fight and it isn't likely to end anytime soon, so get your popcorn ready for Oracle's response to Google's counterclaims.