Stuff Michael Meeks is doing

Older items: 2015: ( J F M ), 2014: ( J F M A M J J A S O N D ), 2013, 2012, 2011, 2010, 2009, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html

Boggled at Oracle's amended complaint against Google. Havn't investigated the verbatim code copying claims in detail - which are of course fair game for copyright enforcement - but what interests me -far- more are the API copyright claims:

As I wrote before, I believe that Java has rather weak patent protection, not being particularly innovative or novel really - rather a collection of existing techniques packed together into one (useful) package. With a load of design artefacts in the API that can be claimed as in some sense 'novel' though of little intrinsic technical merit. I wrote a long screed on the background to this: Why Oracle's Java Copyrights Might Matter in August. As I also wrote before: I am not a Lawyer , and have no very deep understanding of the Java situation.

, and have no very deep understanding of the Java situation. As if to offer further proof, Oracle now have amended their complaint to include this: Android includes infringing class libraries and documentation. Approximately one third of Android's Application Programmer Interface (API) packages ... are derivative of Oracle America's copyrighted Java API packages ... . The infringed elements of Oracle America's copyrighted work include Java method and class names , definitions, organization, and parameters ; the structure, organization and content of Java class libraries; ... This seems (to me) to be an extraordinary claim.

This seems (to me) to be an extraordinary claim. As previously discussed, if the claim is that APIs can be copyrighted, the whole world of interoperability will take a staggering step backwards into the dark ages of walled gardens, and pointless differentiation. Perhaps Oracle itself has never, and will never interoperate with others by providing drop-in replacements of a competitor's API - but it seems highly unlikely - though whether estoppal will be kind to them in future in this area is unclear.

the claim is that APIs can be copyrighted, the whole world of interoperability will take a staggering step backwards into the dark ages of walled gardens, and pointless differentiation. Perhaps Oracle itself has never, and will never interoperate with others by providing drop-in replacements of a competitor's API - but it seems highly unlikely - though whether estoppal will be kind to them in future in this area is unclear. To me this smacks of desperation and highlights the weakness of any patent protection around Java; after all, if there was strong patent case, why include a dangerous chestnut like this? Particularly one that may provide a deeply negative precedent for the wider industry: unfortunate. Hopefully in terms of this case, on this point - that will provide a set of useful allies for Google in the form of amicus briefings on the topic.

Some questions are left un-answered: how far does this supposed copyright protection go? as an example if you implement a Java Listener interface - you have to implement half a dozen methods with identical method names, identical parameters, definitions etc. to those in the Java listener interface - in your own code, eg. the WindowListener interface. Something like this (and my Java is rusty):

class Dangerous implements WindowListener { public void windowClosing(WindowEvent e) { do something; } public void windowClosed(WindowEvent e) {} public void windowOpened(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} public void windowGainedFocus(WindowEvent e) {} public void windowLostFocus(WindowEvent e) {} public void windowStateChanged(WindowEvent e) {} ... } Does 'copying' that listener signature give Oracle a similar copyright claim on your code? surely not. What if you implement dozens of listener interfaces all with methods matching Oracle's (supposedly copyright) API - does that give Oracle an ownership right to parts of your code? again it seems incredible. What if you used one of the hundreds of books that comes with sample code that looks just like the above to implement your code ? do Oracle own you ? What if you use the same argument names as the sample in the book ? What if you take the constructor example, and turn those argument names into member variables to store the data in (as people do) ? Then again, you can see this sort of code licensed under a BSD license from Oracle themselves; how much of the supposed API is intrinsic to existing BSD licensed examples ?

to implement half a dozen methods with identical names, identical etc. to those in the Java listener interface - in your own code, eg. the WindowListener interface. Something like this (and my Java is rusty): Does 'copying' that listener signature give Oracle a similar copyright claim on your code? surely not. What if you implement dozens of listener interfaces all with methods matching Oracle's (supposedly copyright) API - does that give Oracle an ownership right to parts of your code? again it seems incredible. What if you used one of the hundreds of books that comes with sample code that looks just like the above to implement your code ? do Oracle own you ? What if you use the same argument names as the sample in the book ? What if you take the constructor example, and turn those argument names into member variables to store the data in (as people do) ? Then again, you can see this sort of code licensed under a BSD license from Oracle themselves; how much of the supposed API is intrinsic to existing BSD licensed examples ? I would point out, again, that the correct way to go about publishing standards (whether openly developed, as they should be, or not) is to submit them to ISO (and/or first ECMA) such that there can be no copyright issues, and that the language / run-time & so on can be implemented by all without fear of bogus API copyright attacks. It is also nice if there is a patent covenant for all implementers from the original creator.

My content in this blog and associated images / data under images/ and data/ directories are (usually) created by me and (unless obviously labelled otherwise) are licensed under the public domain, and/or if that doesn't float your boat a CC0 license. I encourage linking back (of course) to help people decide for themselves, in context, in the battle for ideas, and I love fixes / improvements / corrections by private mail.

In case it's not painfully obvious: the reflections reflected here are my own; mine, all mine ! and don't reflect the views of Collabora, SUSE, Novell, The Document Foundation, Spaghetti Hurlers (International), or anyone else. It's also important to realise that I'm not in on the Swedish Conspiracy. Occasionally people ask for formal photos for conferences or fun.

Michael Meeks (michael.meeks@collabora.com)