back to article Google brews a fresh pot of Oracle's OpenJDK Java for future Android

Google is lining up OpenJDK – an open-source implementation of the Java platform – for future Android builds. Up until now, the mobile operating system has used a Java class library derived from the Apache Harmony project. Harmony was developed from 2005 by the Apache Software Foundation as a free implementation of Java, with …

  1. MacroRodent

    non-harmonious Harmony

    If I remember correctly from some Groklaw discussions (I still miss that site!), the whole Google vs Oracle lawsuit might have been avoided if Google had used OpenJDK in the first place. After all it is licensed for everyone to use under GPL. Of course the GPL may have been the sticking point for Google. Or some technical issue.

    I have got to finally get around to reading "Bleak House" someday.

    1. Robert Grant

      Re: non-harmonious Harmony

      I thought it was actually about some testcases or something, but it's so long ago, and so boring in the detail. Some more lawyers pointlessly got to buy expensive cars, and that's about it.

    2. frank ly

      Re: non-harmonious Harmony

      Now, in my late fifties after what feels like two wasted lifetimes in engineering, I'm wondering if I should have studied for a law degree when I was in my thirties. Someone I knew who did that, at that time, told me that it wasn't difficult.

      1. Will Godfrey Silver badge

        Re: non-harmonious Harmony

        But could you handle the necessary empathy removal?

    3. DaLo

      Re: non-harmonious Harmony

      It came down to copyright (and still is ongoing regarding copyright). Google were within their rights to use a derivative of an open source Java, Sun praised them for it. Oracle tried to sue for patent infringement and lost, they then turned to API copyright infringement and lost (with a pretty knowledgeable judge who happened to do a bit of programming so knew more than most judges). However on appeal it was sent back for review where it stands today - is using a public API a breach of copyright even if the software itself is open source?

      Nearly everyone with any clue would say - in practical terms, of course not. However in the strictest definition of copyright, with no special exception written in for APIs then it comes down to the defence of fair use.

      It's just a sham IBM didn't sue Oracle for SQL copyright infringement shortly after they used this defence.

    4. billse10

      Re: non-harmonious Harmony

      have an upvote for the Bleak House reference - and as we can't upvote Groklaw ....

  2. Will Godfrey Silver badge

    My Guess

    Google added extensions that it wanted to keep closed, but now that Android has such a huge market share, it's prepared to put them out out under the GPL.

    P.S.

    I also greatly miss Groklaw :(

  3. Kevin McMurtrie Silver badge

    Just in time

    This is good news if it means Android will finally get an efficient JIT compiler.

    1. YM

      Re: Just in time

      OpenJDK may be a good choice for server side developement, with runtimes running on a hardware with low latency storage devices and volumes of memory.

      But basic experience with the GUI apps running over the OpenJDK taught me to avoid them as much as possible: enormous startup time, unpredictable response time, signs of lagging all the time, memory consumption.

      Google basically solved these issues with ART: AOT compiler, runtime designed for low response times (at the cost of peak performance though). I have serious doubts about general perception of Android N performance.

      In my experience zero Java knowledge wasn't an issue at all: I spent much more time learning android application runtime.

      And looking at tons of crap apps at play.google.com I clearly see betting on Java was a huge mistake. Lower level language will be more relevant for mobile development.

  4. jilocasin
    Boffin

    FOU: Field of Use Restrictions was the original sticking point.

    The historical problem, with Apache, the Free Software Foundation, and Google were the Field of Use restrictions on Java-SE.

    While Sun, and then Oracle, were busy 'open sourcing' Java, they still required all 'licensed implementations' to pass a test suite, and that test suite contained Field Of Use restrictions, that prohibited the use of Java-SE anywhere but the desktop. This was doubly true of mobile as Sun/Oracle _licensed_ Java-ME (as in definitely _NOT_FREE_) for real money. It was one of the reasons behind the founding of Harmony and the reason Apache left the Java Community Process when Sun/Oracle refused to provide a FOU free license.

    OpenJDK is licensed under GPL + classpath exemption, Harmony was licensed under the Apache license. There's a lot of speculation as to whether Google itself was wary of the GPL, or it feared phone manufactures would be. Straight Java-ME kinda sucked for mobile (really). Straight Java-SE also had it's issues, but was used by many more developers than Java-ME would ever be. So, Google based the development environment under a slightly modified Java-SE (the Apache licenced Harmony project) that compiled to run a on a custom mobile optimized VM, Dalvik. Since everyone (well all of the honest/sane people) understood that API's weren't copyrightable, and the rest was Apache licensed they were good to go.

    Unfortunately, Oracle is well Oracle, Intellectual Property [ugg I hate that term] litigation in the U.S. of A. has gone completely off the rails, and Oracle convinced I.B.M. (the most major of the Harmony backers) to jump ship and support OpenJDK effectively shutting the project down. This leaves Google NotJava stuck in Java 6 land.

    As long as Google wants to keep development in Java land, isn't afraid of GPLing their android 'contributions' and can get the needed changes into OpenJDK, it makes sense to switch over to OpenJDK. This will allow them to progress to later versions of Java (Java 8 anyone?). Putting an end to Oracle's litigation has to help as well.

    Now if we can only get the rest of the ecosystem to fully support OpenJDK then maybe it'll get somewhat closer to the "write once, run anywhere" ideal and away from the current "write once, debug everywhere, kinda sorta run somewhere" world we live in now.

    1. Anonymous Coward
      Anonymous Coward

      Re: FOU: Field of Use Restrictions was the original sticking point.

      >somewhat closer to the "write once, run anywhere" ideal

      Glad to see you are realistic about this ideal at least. Now if only installing the JRE wasn't one of the surest ways to reduce security on your system (IcedTea-Web should be considered malware of the highest order and along with flash the first two things you take off any system).

    2. THUFIR HAWAT

      Re: FOU: Field of Use Restrictions was the original sticking point.

      It's contentious to claim that Harmony was legitimately reverse engineered, but, even granting that, what would be the point?

      Sun, very pointedly, chose the GPL, and not some other license when they released their code.

      This, also, was the same license, not coincidentally, which MySQL chose for dual-licensing. There are some very good reasons to choose the GPL over the ASL.

      This lawsuit shows exactly that Google's intentions were never honorable. They never, in court, claimed to have reverse engineered Java. Outside of court, they seem to make that a PR move, but not in court. The appeals court referenced the amicus brief from a retired Registrar of Copyrights, Ralph Oman, IIRC, who pointed out that all Google had to do was to reverse engineer the 37 packages in question.

      ALL GOOGLE HAD TO DO WAS TO ACTUALLY REVERSE ENGINEER. That's exactly what the appeals court quoted, and it just gets overlooked. Even granting that Harmony was reverse engineered, which is a contentious claim, it wasn't complete.

      And, then, back to GPL versus ASL, why use Harmony anyhow? Why not use the GPL code from the get go?

      All of these moves demonstrate, quite clearly, the bad intentions of Google.

      1. Philip Lewis

        Re: FOU: Field of Use Restrictions was the original sticking point.

        So, Google is in fact evil?

        Who knew? I am shocked, shocked I tell you!

  5. Anonymous Coward
    Anonymous Coward

    This is and always has been about who controls Android. Google has taken a leaf out of the Microsoft play book of embrace and extend and has managed to keep complete control of Android whilst succeeding in a PR coup to maintain their stance as the OpenSource "Good Guy".

    Everything that Google has done with their Java derivative to make Java more suitable for mobile has been done behind locked doors and was never released as open source. This was why Google took their Dalvik approach using the Apache Licence - i.e. so that only they could maintain their technology advantage. If they had used OpenJDK under GPL then all their enhancements would have had to have been made available to the community.

    Of course it's not just Java, but piece by piece, Android has allowed the "stock" android apps to whither on the vine to be replaced by a closed source Google alternative. The Google apps are now so superior that the "stock" Android would need a huge functionality lift to become usable, and is thus a major barrier to any potential competitor. Of course, those same apps lock you into the Google data ecosystem where only Google can access your personal data.

    In effect, Google has taken what was originally an opensource project, created the world's dominant mobile platform and managed to make it proprietary. Most of the opensource community seems to be blind to this - maybe their blinkered view of Android with it's Linux core as beating the old enemy of Microsoft is distorting their view - but regardless this really isn't a simple Good vs. Bad.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like