The company was responding to a submission made by Google in January, seeking to have a verdict issued in Oracle's favour in the copyright case between the two companies sent back for a judicial review. In that submission, Google claimed that its use of 37 Java application programming interfaces in Android constituted "fair use".
Oracle's submission on Wednesday US time was relatively brief, weighing in at 46 pages, against the 343-page Google submission. It said it had spent "years and years" writing a software platform that Google had then refused to license and copied into a competing platform "for the express purpose of capturing Oracle's fan base".
Java, Oracle explained, was meant to solve a common problem faced by programmers - having to port applications to different platforms. Instead, with Java, it was possible to write once and run anywhere. But Google had gone against this principle by making Android apps incompatible with Java.
Oracle claimed Google faced an existential threat in 2005. "People with mobile devices were not using Google’s search engine, causing Google to lose significant advertising revenue," it said.
"It [Google] needed to quickly develop a platform tailored to mobile devices that would promote Google search. Google believed success turned on attracting Java programmers to build apps for it."
But in licence talks, Google had rejected the condition that Oracle insisted on for all commercial licensees: to make Android compatible with Java and inter-operable with other Java programs.
"Instead, without any licence, Google copied thousands of lines of Oracle’s declaring code and the structure and organisation of the 37 API packages it considered 'key' to attracting Java mobile-app developers," Oracle claimed.
"Google also undermined 'write once, run anywhere' by deliberately making Android incompatible with the Java platform, meaning Android apps run only on Android devices and Java apps do not run on Android devices."
Oracle also pointed out that Google could have developed a competing platform for its mobile devices as Apple and Microsoft had done. "Google’s theory is that, having invested all those resources to create a program popular with platform developers and app programmers alike, Oracle should be required to let a competitor copy its code so that it can co-opt the fan base to create its own best-selling sequel," it said.
"That argument would never fly with any other copyrighted work. And as Google told the Court of Appeals, '[t]here is no reason to treat software differently'," it said, asking the court to deny Google's petition.
The case between the two software firms has been going on since 2010 when Oracle sued Google shortly after it acquired Sun Microsystems and became the owner of Java, claiming that the search engine company had violated its copyright and patents.
But an appeal gave Oracle what it wanted: a ruling that APIs could be copyrighted.
In a second trial that ended in May 2016, a jury found that Google's use of the Java APIs in Android was covered under fair use. As expected, Oracle was not happy with the verdict.
Oracle initiated an appeal in February 2017, having indicated after the May 2016 verdict that it would not take a backward step. Prior to that, Oracle tried to get the verdict set aside in August 2016, but was this was refused by Justice Alsup. Later the same year, the database giant filed the necessary papers to prolong the battle.
Finally, on 28 March 2018, the US Court of Appeals for the Federal Circuit concluded that Google's use of the Java APIs was "not fair as a matter of law". Google had no option but to approach the Supreme Court to seek a review.
Thanks to The Register for a link to Oracle's submission.