{"id":2900,"date":"2010-10-01T17:22:51","date_gmt":"2010-10-01T17:22:51","guid":{"rendered":"http:\/\/www.redmonk.com\/jgovernor\/2010\/10\/01\/java-the-unipolar-moment-on-distributed-governance-for-distributed-software\/"},"modified":"2010-10-01T17:22:51","modified_gmt":"2010-10-01T17:22:51","slug":"java-the-unipolar-moment-on-distributed-governance-for-distributed-software","status":"publish","type":"post","link":"https:\/\/redmonk.com\/jgovernor\/java-the-unipolar-moment-on-distributed-governance-for-distributed-software\/","title":{"rendered":"Java: The Unipolar Moment, On distributed governance for distributed software"},"content":{"rendered":"<p>For a brief few moments after the invasion of Iraq US conservatives crowed that we had entered a Unipolar Moment \u2013 where US global hegemony was assured. This was an echo of Fukuyama\u2019s End of History. We have heard a lot less of this triumphalism lately. Events have gotten in the way- not least the disastrous financial downturn driven by the great god \u201cleverage\u201d.<\/p>\n<p>So Oracle acquired Sun. Game over. We had entered the Unipolar Java world \u2013 where top down governance by the sole Java superpower was assured. First step \u2013 <a href=\"http:\/\/redmonk.com\/sogrady\/2010\/08\/14\/oracle-v-google\/\">sue Google over Android<\/a>. At the risk of taking this metaphor way too far, the suit against Google is kind of like the debaathification of Iraq \u2013 it seems to have dramatically destabilised things (which helps explain why Sun didn\u2019t just sue Google itself).<\/p>\n<p>Java now seems to have more power centers than ever, which could prove to be the real future of the platform. I was at the <a href=\"http:\/\/www.osgi.org\/News\/HomePage\">OSGi<\/a> Community Event this week in London \u2013 where I keynoted on how power in Java is becoming more widely distributed. It&#8217;s easy to be dismissive of the C in JCP, but that\u2019s the only part of Java that really matters in the end \u2013 community. Sun was always smart enough to realise that \u201cinnovation happens elsewhere\u201d. Open source governance is no longer a side activity in Java innovation \u2013 its the very heart of it.<\/p>\n<p>Take <a href=\"http:\/\/www.redmonk.com\/jgovernor\/2010\/09\/17\/some-nosql-posts-from-redmonk-new-frontiers-in-data-scalability\/\">NoSQL<\/a> for example \u2013 which is set to become the most important trend in enterprise Java over the next few years, by the simple expedient of delivering sustantive business value, but also because the skills needed for enterprises are already present in abundance. NoSQL is a massive shot in the arm for Java skilled architects, developers and engineers.\u00a0 Oracle and the JCP? Isn\u2019t even in the game. The Apache Software Foundation on the other hand, is the home of Cassandra, CouchDB, Hadoop, and Voldemort.<\/p>\n<p>The Eclipse Foundation has of course been disrupting, and enriching the Java ecosystem since its inception, keeping Sun honest, and helping to clean up some horrific messes\/poor architectural decisions.<\/p>\n<p>OSGi meanwhile you may never have heard of \u2013 but it essentially makes Java modular. One of the ironies of Scott McNealy\u2019s constant screeds against the Windows Hairball is that Java became not one, but three, giant hairballs. If Sun really wanted a clean extensible Java that leant itself to reuse, and separation of concerns, without unnecessary interdependencies, driving exponential complexity\u2026 why didn\u2019t Sun fix the modularity problem? Thankfully it didn\u2019t need to &#8211; because OSGi provides a mechanism to turn Java into a <a href=\"http:\/\/www.redmonk.com\/jgovernor\/2008\/02\/05\/osgi-and-the-rise-of-the-stackless-stack-just-in-time\/\">Stackless Stack<\/a>, where a runtime consists of only the classes needed to run a particular application.<\/p>\n<p>Sadly because Java didn\u2019t focus on modularity \u2013 neither did Java developers. Now, having been one of OSGi\u2019s big supporters, Oracle has decided to take one last stab at killing the technology. Sun has tried and failed to kill OSGi a few times through the JCP, and now Oracle is putting weight behind Jigsaw. But <a href=\"http:\/\/blogs.oracle.com\/javaone\/2010\/09\/kurian_pumped_to_be_steward_of_java_and_sponsor_of_javaone.html\">Jigsaw<\/a> won\u2019t be here until 2012 at the earliest. Its DOA. Its way late- because pretty much every commercial software vendor in the Java middleware space, and most open source projects, are supporting OSGi. From Progress to Day Software, To WS02, to Apache Sling. Even where vendors are concerned that OSGi is too complex to expose to corporate developers \u2013 they are making OSGi work for plugin architectures, supporting dependency injection as it does: Atlassian and MuleSoft are both taking the latter approach. Whether or not anyone works out how to deliver OSGi for humans \u2013 for ISVs and really big enterprise Java shops it will be an important infrastructure approach. The point I am making is that OSGi is loosely coupled to Java, rather than tightly coupled to the JCP. Intriguingly OSGi is also making real progress in the space from whence Java was also originally intended for \u2013 embedded devices, automotive, industrial automation and so on \u2013 embedded computing doesn\u2019t like hairballs, but loves over the air class loading for system refreshes. NTT is using it, and the company knows a thing or two about mobile service delivery, having been the inventor of Docomo, the first app store. Or take for example, Kirona \u2013 which offers field force automation running OSGi (on windows mobile too!) so that apps can be refreshed without bringing engineers back into the field.<\/p>\n<p>Which brings me to IBM. In the good old days everyone knew that Sun defined Java, while BEA and IBM made money from it. These days not so much. But if IBM\u2019s can\u2019t influence the JCP as much as it would like it can now play divide and rule. I expect to see IBM giving Eclipse and OSGi a concerted push over the next couple of years.<\/p>\n<p>Google is another Java player. It bought Instantiations and is giving away the product. Search company becomes IDE supplier. Weird. But then Instantiations had built some slick tools for building Google Web Toolkit apps. GWT- what\u2019s that? Oh nothing much \u2013 just a technology which brings Java and Javascript together in a development model. How many awful Java front end technologies have we seen over the years? Java ServerFaces and so on. Well GWT is a much cleaner approach to application development, and suits web apps \u2013 thus Google\u2019s interest. Then we have Google AppEngine- a place to run Java apps. Java in the cloud? So far Google has made all the running in Platform as a Service thinking and delivery.<\/p>\n<p>EMC VMWare SpringSource is another major center of gravity for Java leadership. SpringSource CEO Rod Johnson after all is the guy that found a way to make JEE not so painful to develop. With his ambition and technical skill, and EMC\u2019s heft- and of course Paul Maritz in the picture- there is now way Oracle will have Java leadership all to itself. It speaks volumes that Rod didn\u2019t even bother to attend Java One this year- then, neither did the RedMonks.<\/p>\n<p>I\u2019d really like to know your thoughts on the the idea of a multipolar Java world. Who is going to be China?<\/p>\n<p>My biggest issues is that Oracle seems to think benign neglect will work in the Java world. It won\u2019t. And when your salesmen start denying that your app servers run OSGi, when they do, then you have a problem.<\/p>\n<p>I could see positive scenarios for the JCP before the Sun acquisition closed, but I certainly don\u2019t see them playing out the way I hoped. Oracle isn\u2019t <a href=\"http:\/\/www.redmonk.com\/jgovernor\/2009\/12\/15\/java-in-2010-bringing-in-the-receivers\/\">treating Java as an accountant would<\/a>, its looking at it as a warrior. But the world needs soft power and diplomacy, as much as hard. I hope Oracle understands this sooner rather than later.<\/p>\n<p>Maybe Oracle doesn&#8217;t care &#8211; but the forking of so many of its technologies can&#8217;t be a good thing. OpenSolaris now has a fork called Illumos, with some of the very best engineers Sun used to have <a href=\"http:\/\/www.joyent.com\/2010\/07\/joyent-names-bryan-cantrill-vice-president-of-engineering\/\">working on it<\/a>. This week also saw the arrival of a new fork of OpenOffice- <a href=\"http:\/\/www.documentfoundation.org\/download\/\">LibreOffice<\/a> (to which Oracle was invited). The bottom line? Java is a lot bigger than Oracle, and seemingly more diverse than ever. Alternative governance models such as OSGi, ASF and Eclipse are now just as important as the core Java platform, if not more so.<\/p>\n<div style=\"width: 425px\"><strong><a title=\"OSGI,\" href=\"http:\/\/www.slideshare.net\/monkchips\/osgi-5322518\">OSGI,<\/a><\/strong><\/p>\n<div style=\"padding-bottom: 12px;padding-left: 0px;padding-right: 0px;padding-top: 5px\">View more <a href=\"http:\/\/www.slideshare.net\/\">presentations<\/a> from <a href=\"http:\/\/www.slideshare.net\/monkchips\">James Governor<\/a>.<\/div>\n<\/div>\n<p>disclosure (please note that pretty much everyone I mention in this post except Oracle is a  client &#8211; take that as you will. We do occasional project work for Oracle)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For a brief few moments after the invasion of Iraq US conservatives crowed that we had entered a Unipolar Moment \u2013 where US global hegemony was assured. This was an echo of Fukuyama\u2019s End of History. We have heard a lot less of this triumphalism lately. Events have gotten in the way- not least the<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[24],"tags":[62,416,166,417,174,419,192,197,208,211,224,257,272,273,274,347,384,386],"class_list":["post-2900","post","type-post","status-publish","format-standard","hentry","category-java","tag-android","tag-emc","tag-glassfish","tag-google","tag-gwt","tag-ibm","tag-illumos","tag-instantiations","tag-java-asf","tag-jcp","tag-libreoffice","tag-nosql","tag-opensolaris","tag-oracle","tag-osgi","tag-springsource","tag-weblogic","tag-websphere"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9wfjh-KM","_links":{"self":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/2900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/comments?post=2900"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/2900\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/media?parent=2900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/categories?post=2900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/tags?post=2900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}