Home

News: Is a Four Year Release Cycle The Price We Pay For An OpenJDK?

  1. The historic release schedule for a completely new Java Runtime Environment (JRE) has typically been eighteen months, but it's been almost four full years since the last full version release of the JDK, and one can't help wonder if the delay in the release of Java 7 doesn't have something to do with the fact that the production of this particular version is being driven by Java's open source development community. Are delayed releases simply the price we pay for an of an open source implementation of the JDK?

    Okay, perhaps that's a bit inflamatory, pointing the finger at the open source community. There are many reasons why we haven't seen a full Java 7 release. Still, as I once again download the 19th update of the JRE, I want someone, or something, to blame.

    I know that when Sun previewed their new SCJP Plus certification, which would likely test candidates on the Java 7 runtime, they were expecting to go live with their new, performance based test, in early or mid 2010. But when that projection was made, there were only seven milestones to hit before releasing a new JDK in April or May of 2010. Since then, three new milestones have been added, taking the new total to ten, with a projected date of September third for the promotion of the final, one-hundred and eleventh, software build. With a couple of missed milestones, or perhaps even new milestones added, we might not see a final release of the Java 7 OpenJDK until early 2011, which would be more than four full years since the release of Java 6.

    Of course, worrying about the release date of Java 7 might just be a tempest in a teapot. I'm as anxious as the next developer to start working with Project Jigsaw, or include multi-catch and lambda expressions in my standard code, but the Java 7 release isn't nearly as earth shattering as the release of Java 2, when Swing components were made part of the javax packages, or even Java 5, when annotations became a standard. Still, I think everyone is starting to get tired of watching the current Java 6 release creep towards its twentieth update. As far as I'm concerned, Java 7 can't come soon enough.

    http://openjdk.java.net/projects/jdk7/calendar/

    http://openjdk.java.net/

    Threaded Messages (14)

  2. It's wrong to point the finger at the open source community for this unusual delay in getting a new JDK release. But it does beg the questions, "why  has it taken so long?" Is it simply that there is no huge desire to move from Java6 to Java7, or is there something more political or nefarious going on behind the scenes?
  3. 18 month?[ Go to top ]

    "The historic release schedule for a completely new Java Runtime Environment (JRE) has typically been eighteen months"
    1.2 -> 1.3: 17 month (check)
    1.3 -> 1.4: 21 month (miss)
    1.4 -> 5.0: 31 month (miss)
    5.0 -> 6.0: 26 month (miss)

    http://mindprod.com/jgloss/jdkreleasedates.html

    I know that Sun promised after the 6.0 release to deliver on a 18 month base, but as we can see they (alomost) never could hold that schedule in the past


    "but it's been almost four full years since the last full version release of the JDK"
    Less than 3 1/2 year, I wouldn't call it "almost 4 years".

    But I agree, that I would want a more frequent cycle.
    I guess the whole open sourcing of the JDK has cost a lot of resources so the delay is kind of understandable.

  4. Never Let The Facts...[ Go to top ]

    Well, I'll never be one to let the facts get in the way of a good story. The 18 month goal was a quote I pulled out from Sun's target talk, but as you succinctly point out, that really is just a target, not a written-in-stone commitment.

    True, I believe it was fall of 2006 when the final Java 6 build happened, and winter when it finanlly came out. It's not been four years yet, but it will be close when the final build is done in September.


    >>I guess the whole open sourcing of the JDK has cost a lot of resources

    I guess that's just what I'm wondering. Is it the open sourcing, or are we just picking an easy scape-goat?

    Thanks for the fact-checking, Christoph!

  5. Never Let The Facts...[ Go to top ]

    I guess that's just what I'm wondering. Is it the open sourcing, or are we just picking an easy scape-goat?

    I would imagine open-sourcing would have some mpact.  You have to be much more rigorous to create a truly interoperable spec.  In the past companies would just purchase the JDK code from Sun if they wanted to implement their own JVM because all other approaches were infeasible.

    I would argue that the extra effort is worth it.
  6. Never Let The Facts...[ Go to top ]

    I would argue that the extra effort is worth it.

    What would be the basis of your argument?  I for one hope it ends up being worth it, but only time will tell.
  7. Never Let The Facts...[ Go to top ]

    I would argue that the extra effort is worth it.

    What would be the basis of your argument?  I for one hope it ends up being worth it, but only time will tell.
    In my own professional experience, in the context of large long-term projects, clearly specifying what a piece of software should do is just as important (if not more so) as building the software.  In the past the behavior of classes in the JDK were defined to be whatever it was they did.  In the words of a former colleague each class "works as coded."  There are numerous examples of classes that do things that are completely irrational but are 'correct' per the spec (aka 'the code').  More rare are cases of classes that have inconsistent behavior across implementations e.g. Class.getName().

    It's painful to do, especially for something the size of the JDK, but we aren't talking about a young upstart here.  This is a platform that will not only support Java development but other JVM-based languages as well.  It seems like a must and I think that it can be seen as a competitive advantage over the shifting sands of the CLR.

    Obviously, I can't predict the future and this might prove to be a pointless exercise but I think it important for the securing the legacy of Java and the JVM.
  8. How about other products?[ Go to top ]

    Aren't there other open sourced products which are always on schedule, or at least not 2 years late? Couple I know are KDE, Opensuse, Ubuntu, Eclipse, Ruby on Rails. I don't think it is the opensource community which is the reason for delayed release.
  9. Well, it looks like Java7 will have taken 4 years to arrive, and there is always talk about maintaining an 18 month release schedule, but I'm not sure if that necessarily means we're 2 years late. Or, at the very least, it doesn't necessarily mean it's the development team that has been missing deadlines. I could have been the people putting together the JSRs and specs that have caused the delay. And who knows, maybe the Sun and Oracle merger had something to do with it.

    Linux releases tend to happen regularly, and even Spring and Hibernate releases have always been pretty regular, even before they were bought up by some of the larger vendors. Hopefully, open source doesn't end up equating to release delays when it comes to the JDK.
  10. How about other products?[ Go to top ]

    Aren't there other open sourced products which are always on schedule, or at least not 2 years late? Couple I know are KDE, Opensuse, Ubuntu, Eclipse, Ruby on Rails. I don't think it is the opensource community which is the reason for delayed release.

    These are long established opensource projects.  Opening the JDK has to (seriously, how can it not?) add some cost to the process.  This cost should decrease over time.
  11. How about other products?[ Go to top ]

    Still, I think everyone is starting to get tired of watching the current Java 6 release creep towards its twentieth update
    Nah, speak for yourself. The rest of us is glad that we have a stable version to work on. JDK7 will stir things up badly and it provides absolutely nothing of interest for 90% of the enterprise devs out there. Really. And closures in the hand of a Java developer (which tends to less than stellar)? HAHA. 
  12. 18 month?[ Go to top ]

    It was at the end of Java 5.0 that there was a promise for an 18th month schedule moving foward. The executive management vogue was the release train (feature vs date driven release models). Keep releases to a timeline so that if you put a picture of the release date all the 100's of products that Sun shipped, it would be a straight line.

    The update releases to 1.4 (1.4.1 and 1.4.2) were significant releases in their own right and left only a small percentage of people to focus on Java 5. That team ultimately had more time to bake and experiment with features in 5.0. So 5.0 was more of a feature release than a date driven release.

    That said I do think Java 7 needs to get a move on, whenever there is a void something else will fill it

  13. In light of how long Perl is taking to get to the next major release, 4 years seems short.  According to http://perldoc.perl.org/perlhist.html, Perl 5.0 was released on Oct 17 1994.  It's now 2010 and Perl 6.0 is still in development.  The slowness of getting to 6.0 for Perl makes me wonder if Perl will be left in the dust and relegated to niche status.

  14. In light of how long Perl is taking to get to the next major release, 4 years seems short.  According to http://perldoc.perl.org/perlhist.html, Perl 5.0 was released on Oct 17 1994.  It's now 2010 and Perl 6.0 is still in development.  The slowness of getting to 6.0 for Perl makes me wonder if Perl will be left in the dust and relegated to niche status.

    The Perl 6 process was too ambitious from the start.

    They wanted a new VM capable of running many scripting languages at the same time (Parrot). On top of that, they redesigned the Perl language, breaking compatibility in some places.

    Once I realized he whole project had gotten into an infinite design phase, I stopped paying attention. I don't expect Perl 6 to be released without a complete reboot.
  15. This is good!

    If a new release means improvements to the libraries then I am all for it. However, to most a new release means changes to the language. The last set of "improvements" to the language added complexity for very little additional value. If the "language experts" need to hone their skills let them take the source and do it on their own.

    This kind of an article does far more harm than good. It provides grist to all looking to tweak the language for their pet project. Unless the silent majority speaks up, we are going to get a version of Java that does to C what the monstrosity called "C++" did.