| By Alan Williamson | Article Rating: |
|
| May 23, 2007 09:00 PM EDT | Reads: |
29,072 |
Alan Williamson's Blog(August 17, 2006) - This week at LinuxWorld Laurie Tolson gave reporters an update on the planned release of Java and its associated tools under an open source license. By the end of the year, javac and the hot spot compiler will be released. The precise license details haven't yet been announced yet - that is the part of the equation they are wrestling with the most since there are components within the JDK that aren't theirs to open source. Politics and licenses aside, let us look at what this means for the humble Java developer, the troops in the trenches churning out code daily.
Another area where you may already be maintaining different code bases depending on the production system is with Microsoft J#.
The problems faced so far by developers have largely been down to API changes, relying on methods/classes that may or may not exist on the production system. These are relatively easy to spot with a good development environment. For example, you can easily tell Eclipse to compile for only 1.4 with it doing all the checking to make sure you haven't lapsed into a 1.5 call. But forking here could be more sinister than simple API misalignment. What if you call a method and it does something completely different than you expect?
Sadly this isn't anything new to someone who has been coding Enterprise applications that are designed to run over a wide range of application servers. Sure there is a standard JavaEE API that exists, but that is no assurance that your application will run fine on all application servers, as the interpretation of some of the API calls is down to the owner of the application server. Even the standard, relatively small, Servlet API can produce many different results depending on the servlet container.
By forking the underlying JVM we now have a much greater potential for code to either not work or behave differently. We are putting more responsibility onto the Java developer to either target a given runtime and code exclusively for that, or even worse, forcing them to test with different runtimes across different platforms. Their job could get a whole lot messier.
We already have different runtimes available to us though, with BEA JRockit and IBM's runtime and these problems don't seem to have raised their ugly head. The difference here is that these companies had to license the technology from Sun and be made to pass a stringent certification process before launching to the public at large. In an open source world this certification restriction wouldn't be there. People could easily hack the JDK to do something different and have no requirements to meet any test criteria. They could simply use it as is.

Okay, so let us look at this from a point of view of hope.
What benefits can the developer get from an open source Java? Take a look at the JDK bug parade. Take a look at the Top25 bugs. Here is the biggest gain for the developer.
Some of the Top25 date back as far as 1999. That is nearly 7 years a request/bug has sat there. In an open source world, the 130 odd people that have voted to have low-level network support within Java could now potentially build it themselves and contribute it back to the core branch for potential inclusion. At the moment, they have to wait until Sun dedicates coding resources to it. It is obviously clear that Sun hasn't found the time in the last 7 years to address some of these! Time to let someone else try.
There are many small bugs floating around that the community could easily tackle. Many of the bugs/features are pure Java implementations with no native code required. This opens up the potential number of contributors even further. There could be a huge development boost to the community with a much faster release cycle.
Sun has to manage this carefully. If they can be shown to be responsible stewards of the code allowing contributions from others then the reason to fork the JVM will not be as great. Why should you create your own JVM if your change can be incorporated into the main release and made available to you. If you are that desparate for it and can't wait for a release, you can use the latest build from SVN/CVS. Naturally I do not see Sun being the only committer on Java, they would merely be a member of a large group of committers.
On the whole I support the open sourcing of Java and its associated tools. Sun is right to take this slowly and consult with all parties. They only get one shot at this and once the genie is out of the bottle, it won't be wanting to go back in.
tags: java open source harmony
links: digg this del.icio.us technorati
Published May 23, 2007 Reads 29,072
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Alan Williamson
Alan Williamson is Editor-in-Chief of Cloud Computing Journal and is SYS-CON's "Cloud Computing Bootcamp" Instructor. Widely recognized as an early expert on Cloud Computing, he is Co-Founder of aw2.0 Ltd, a software company specializing in deploying software solutions within Cloud networks. Alan is a Sun Java Champion and creator of OpenBlueDragon (an open source Java CFML runtime engine). With many books, articles and speaking engagements under his belt, Alan likes to talk passionately about what can be done TODAY and not get caught up in the marketing hype of TOMORROW. Follow his blog, http://alan.blog-city.com/ or e-mail him at cloud(at)alanwilliamson.org.
![]() |
Steve Bell 08/18/06 05:32:58 PM EDT | |||
The fear of a fork is a little on the paranoid side. If somebody decides to fork Java and create an incompatible version they cannot call it Java. The trademark is not being released. |
||||
![]() |
Al Forbes 08/18/06 12:53:00 PM EDT | |||
Very good article. Just two comments: 1. The latest JDK's are extremely stable and well tested. They are only difficult to use if you rely on an application server or IDE to support the latest features. 2. Your article linked to the RFE's instead of the bugs. The correct link is: |
||||
![]() |
The Cherbin 08/18/06 12:34:44 PM EDT | |||
Another waste of an article. Its nonsense, and it just gives these boring so called programmers something to talk about when their chatting about their precious little java code. Fling the big words like "Open Source" along with Java and maybe even more unknowning people will start to use it, and even pay for a class, buy one of the 1000 books written in 50 different languages too. |
||||
![]() |
JDJ News Desk 08/17/06 08:16:31 AM EDT | |||
This week at LinuxWorld Laurie Tolson gave reporters an update on the planned release of Java and its associated tools under an open source license. By the end of the year, javac and the hot spot compiler will be released. The precise license details haven't yet been announced yet - that is the part of the equation they are wrestling with the most since there are components within the JDK that aren't theirs to open source. Politics and licenses aside, let us look at what this means for the humble Java developer, the troops in the trenches churning out code daily. |
||||
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Journal Opens "Readers' Choice Awards" Nominations
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Industry Experts Discuss the State of Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- An Introduction to Abbot
- Java Kicks Ruby on Rails in the Butt
- Interviewing Java Developers With Tears in My Eyes
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- How to Diagnose Java Resource Starvation
- REA Is Where RIA Becomes the Norm
- Kindle 2 vs Nook
- Anatomy of a Java Finalizer
- Why IBM’s Server Chief Got Busted
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?



































