{"id":3418,"date":"2010-11-13T13:02:45","date_gmt":"2010-11-13T12:02:45","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/3418-the-java-crisis-and-what-it-means-for-developers.html"},"modified":"2010-11-13T13:02:45","modified_gmt":"2010-11-13T12:02:45","slug":"the-java-crisis-and-what-it-means-for-developers","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/3418-the-java-crisis-and-what-it-means-for-developers.html","title":{"rendered":"The Java crisis and what it means for developers"},"content":{"rendered":"<p>What is happening with the Java language and runtime? Since Java passed into the hands of Oracle, following its acquisition of Sun, there has been a succession of bad news. To recap:<\/p>\n<ul>\n<li>The <a href=\"http:\/\/www.oracle.com\/us\/javaonedevelop\/index.html\" target=\"_blank\">JavaOne<\/a> conference in September 2010 was held in the shadow of Oracle OpenWorld making it a less significant event than in previous years. <\/li>\n<li>Oracle is suing Google, claiming that Java as used in the Android SDK breaches its copyright. <\/li>\n<li>IBM has <a href=\"http:\/\/www.sutor.com\/c\/2010\/10\/ibm-joins-the-openjdk-community\/\" target=\"_blank\">abandoned<\/a> the Apache open source <a href=\"http:\/\/harmony.apache.org\/\" target=\"_blank\">Harmony project<\/a> and is committing to the Oracle-supported Open JDK. Although IBM\u2019s Sutor claims that this move will \u201chelp unify open source Java efforts\u201d, it seems to have been done without consultation with Apache and is as much divisive as unifying. <\/li>\n<li>Apple is <a href=\"http:\/\/www.itwriting.com\/blog\/3354-apple-deprecates-java.html\" target=\"_blank\">deprecating Java<\/a> and ceasing to develop a Mac-specific JVM. This should be seen in context. Apple is averse to runtimes of any kind \u2013 note its war against Adobe Flash \u2013 and seems to look forward to a day when all or most applications delivered to Apple devices come via the Apple-curated and taxed app store. In mitigation, Apple is cooperating with the OpenJDK and OpenJDK for Mac OS X <a href=\"http:\/\/www.apple.com\/pr\/library\/2010\/11\/12openjdk.html\" target=\"_blank\">has been announced<\/a>. <\/li>\n<li>Apache has written a <a href=\"https:\/\/blogs.apache.org\/foundation\/entry\/statement_by_the_asf_board1\" target=\"_blank\">strongly-worded blog post<\/a> claiming that Oracle is \u201cviolating their contractual obligation as set forth under the rules of the JCP\u201d, where JCP is the Java Community Process, a multi-vendor group responsible for the Java specification but in which Oracle\/Sun has special powers of veto. Apache\u2019s complaint is that Oracle stymies the progress of Harmony by refusing to supply the test kit for Java (TCK) under a free software license. Without the test kit, Harmony\u2019s Java conformance cannot be officially verified. <\/li>\n<li>The JCP has been unhappy with Oracle\u2019s handling of Java for some time. Many members disagree with the Google litigation and feel that Oracle has not communicated well with the JCP. JCP member Doug Lea stood down, <a href=\"http:\/\/gee.cs.oswego.edu\/dl\/html\/jcp22oct10.html\" target=\"_blank\">claiming<\/a> that \u201cthe JCP is no longer a credible specification and standards body\u201d. Another member, Stephen Colebourne, has a <a href=\"http:\/\/www.jroller.com\/scolebourne\/category\/Java\" target=\"_blank\">series of blog posts<\/a> in which he discusses the <a href=\"http:\/\/www.jroller.com\/scolebourne\/entry\/babylon_5_the_great_war\" target=\"_blank\">great war of Java<\/a> and what he calls the \u201cunravelling of the JCP\u201d, and recently&#160; expressed his view that Oracle was trying to manipulate the recent JCP elections. <\/li>\n<\/ul>\n<p>To set this bad news in context, Java was not really in a good way even before the acquisition. While Sun was more friendly towards open source and collaboration, the JCP has long been perceived as too slow to evolve Java, and unrepresentative of the wider Java community. Further, Java\u2019s pre-eminence as a pervasive cross-platform runtime has been reduced. As a browser plug-in it has fallen behind Adobe Flash, the JavaFX initiative failed to win wide developer support, and on mobile it has also lost ground. Java\u2019s advance as a language has been too slow to keep up with Microsoft\u2019s C#.<\/p>\n<p>There are a couple of ways to look at this. <\/p>\n<p>One is to argue that bad news followed by more bad news means Java will become a kind of COBOL, widely used forever but not at the cutting edge of anything. <\/p>\n<p>The other is to argue that since Java was already falling behind, radical change to the way it is managed may actually improve matters. <\/p>\n<p>Mike Milinkovich at the Eclipse Foundation takes a pragmatic view in a <a href=\"http:\/\/dev.eclipse.org\/blogs\/mike\/2010\/10\/27\/take-a-deep-breath-then-vote-for-eclipse-our-view-on-the-jcp\/\" target=\"_blank\">recent post<\/a>. He concedes that Oracle has no idea how to communicate with the Java community, and that the JCP is not vendor-neutral, but says that Java can nevertheless flourish:<\/p>\n<blockquote>\n<p>I believe that many people are confusing the JCP\u2019s vendor neutrality with its effectiveness as a specifications organization. The JCP has never and will never be a vendor-neutral organization (a la Apache and Eclipse), and anyone who thought it so was fooling themselves. But it has been effective, and I believe that it will be effective again.<\/p>\n<\/blockquote>\n<p>It seems to me Java will be managed differently after it emerges from its crisis, and that on the scale between \u201copen\u201d and \u201cproprietary\u201d it will have moved towards proprietary but not in a way that destroys the basic Java proposition of a free development kit and runtime. It is also possible, even likely, that Java language and technology will advance more rapidly than before.<\/p>\n<p>For developers wondering what will happen to Java at a technical level, the best guide currently is still the <a href=\"http:\/\/www.oracle.com\/us\/corporate\/press\/173782\" target=\"_blank\">JDK Roadmap<\/a>, published in September. Some of its key points:<\/p>\n<ul>\n<li>The open source <a href=\"http:\/\/openjdk.java.net\/\" target=\"_blank\">Open JDK<\/a> is the basis for the Oracle JDK. <\/li>\n<li>The Oracle JDK and Java Runtime Environment (JRE) will continue to be available as free downloads, with no changes to the existing licensing models. <\/li>\n<li>New features proposed for JDK 7 include better support for dynamic languages and concurrent programming. JDK 8 will get Lambda expression. <\/li>\n<\/ul>\n<p>While I cannot predict the outcome of Oracle vs Google or even Apache vs Oracle, my guess is that there will be a settlement and that Android\u2019s momentum will not be disrupted.<\/p>\n<p>That said, there is little evidence that Oracle has the vision that Sun once had, to make Java truly pervasive and a defence against lock-in to proprietary operating systems. Microsoft seems to have lost that vision for .NET and Silverlight as well \u2013 though the <a href=\"http:\/\/www.mono-project.com\/Main_Page\" target=\"_blank\">Mono<\/a> folk have it. Adobe still has it for Flash, though like Oracle it seems if anything to be <a href=\"http:\/\/www.theregister.co.uk\/2010\/11\/02\/adobe_opensource\/\" target=\"_blank\">retreating<\/a> from open source.<\/p>\n<p>There is therefore some sense in which the problems facing Java (and Silverlight) are good for .NET, for Mono and for Adobe. Nevertheless, 2010 has been a bad year for write once \u2013 run anywhere.<\/p>\n<p><strong>Update<\/strong>: Oracle has posted a <a href=\"http:\/\/blogs.oracle.com\/henrik\/2010\/11\/moving_java_forward_open_response_from_oracle_to_apache.html\" target=\"_blank\">statement<\/a> saying:<\/p>\n<blockquote>\n<p>The <a href=\"https:\/\/blogs.apache.org\/foundation\/entry\/statement_by_the_asf_board1\">recently released statement<\/a> by the ASF Board with regard to their participation in the JCP calling for EC members to vote against SE7 is a call for continued delay and stagnation of the past several years. We would encourage Apache to reconsider their position and work together with Oracle and the community at large to collectively move Java forward.&#160; Oracle provides TCK licenses under fair, reasonable, and non-discriminatory terms consistent with its obligations under the JSPA.&#160;&#160; Oracle believes that with EC approval to initiate the SE7 and SE8 JSRs, the Java community can get on with the important work of driving forward Java SE and other standards in open, transparent, consensus-driven expert groups.&#160;&#160; This is the priority.&#160;&#160; Now is the time for positive action.&#160; Now is the time to move Java forward.<\/p>\n<\/blockquote>\n<p>to which Apache <a href=\"https:\/\/blogs.apache.org\/foundation\/entry\/statement_by_the_asf_board2\" target=\"_blank\">replies<\/a> succinctly:<\/p>\n<blockquote>\n<p>The ball is in your court. Honor the agreement.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>What is happening with the Java language and runtime? Since Java passed into the hands of Oracle, following its acquisition of Sun, there has been a succession of bad news. To recap: The JavaOne conference in September 2010 was held in the shadow of Oracle OpenWorld making it a less significant event than in previous &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/3418-the-java-crisis-and-what-it-means-for-developers.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">The Java crisis and what it means for developers<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,8,26,34,49,55,57,62,63,67,77,80,85],"tags":[104,123,394,512,515,586,607,686,878],"class_list":["post-3418","post","type-post","status-publish","format-standard","hentry","category-net","category-apple","category-development","category-flash","category-java","category-microsoft","category-mono","category-open-source","category-oracle","category-professional","category-silverlight","category-software-development","category-sun","tag-net","tag-adobe","tag-flash","tag-java","tag-jcp","tag-microsoft","tag-mono","tag-oracle","tag-sun-2"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/3418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=3418"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/3418\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=3418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=3418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=3418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}