No; google did not release android under a GPL2 license; they released it under a BSD-style license. This is what the fuss is about:
Google took a (supposed) cleanroom implementation, namely, Apache Harmony which was already licensed BSD-style, tweaked it quite a bit, and released this, also under a BSD license. This is perfectly fine, as long as you steer clear of the following: A) This is then not a java; java is a trademark, and sun/oracle has put forth the obligations for using java as a name for your alternate implementation: It must pass the TCK. The TCK is not open source and you need to be licensed to run the TCK on your alternate implementation. This was the central point of contention for Apache: They wanted harmony to be officially called 'a java', but sun was unwilling to license them the TCK to make it happen unless Apache included a clause in the license for harmony to restrict its use on cell phones (the so-called 'Field of Use' restriction). Apache was unwilling to do this and threw a fit. I'm inclined to think this fit was more or less fair (as that's not really how 'things are done' in open source land, and its very obvious apache would never agree to such a clause, so it might have been nice of sun did not let them on believing that harmony would ever be qualified as a true 'java'). Google, as far as I know, is NOT in hot water over this issue at all, as they never claimed that android/dalvik is a 'java' in a way that actually upsets the trademarking rules, but it is an important precursor to this courtcase, as it explains why Apache Harmony and Sun/Oracle were already not the best of friends. B) You don't infringe on the copyright: You cannot rerelease GPL code as BSD code unless you are the copyright holder. Therefore, android, being BSD, cannot contain any code from oracle or it would violate the GPL license of that code, unless of course its public domain code (Which I believe the interface specs are, but either way the inclusion of i.e. java.util.InputStream was never the issue). Turns out there are 9 lines in the 15 million where the judge has conclusively granted Oracle the finding that these lines were stolen. As far as I know, the 'crime', so to speak, was on the part of an apache-allied programmer, not a google engineer. The judge evidently knows his stuff and basically laughed in Oracle's face when they demanded more than a pittance in damages for these 9 lines. These 9 lines (And a number of other suspect lines) have long since been rewritten. C) You don't infringe on any patents. Releasing source under GPL2 does not give anyone a free ride on your patents. This is an area that has yet to be tackled by this court case, but the experts say even if this one swings wildly towards oracle, the potential damages are nothing in comparison to the copyright claim as in 'B'. On Wednesday, May 9, 2012 7:40:54 AM UTC+2, kirk wrote: > > > > > > >> Let me try to be a bit more precise here. You can't very well write > much > >> Java code, without needing to implement an interface or an abstract > >> class... or a lot of these actually. The AWT/Swing event system comes > to > >> mind as one of the most obvious parts of the API where this is true. So > >> where would you draw the line... are we only allowed to implement > >> interfaces? Extend abstract classes? Where is this stated/formulated? > > I didn't even consider this case but I think it's spot on. > > > > > > > > You can even take OpenJDK, fork it, change the API and redistributed it > under a new name and the same GPL + CPE license. No problems with the > copyright, maybe problems with patents (the old discussion about whether > GPLv2 protects enough or not). > > Isn't this essentially what google did? > > -- Kirk > > -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/qxwWmgjGsvYJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
