Java will be open source

· by Steve · Read in about 3 min · (631 Words)

Yes, Sun have finally capitulated and committed to going open source with Java, they just have to figure out the procedure. They’re worried about control & fragmentation, but they should know that like any open source project, forking is only a danger if the primary maintainer doesn’t do a good job (as viewed by the majority of users). Forking is generally not in the interests of any project, and any forks that are made by a minority of rebels will receive little support and will be sidelined and/or will die off. Therefore keep people happy, and you needn’t worry about fragmentation.

I’m glad about this - most people reading this probably know me as a C++ guy, but my significant other life (aka ‘work’) is spent mostly with Java. Java isn’t as fashionable as it once was (C# now being the current media darling, and yes I have used it and quite like it as a language too), but it’s an incredibly solid and mature platform that I’ve come to like a lot over the years - and certainly despite being less trendy it still holds the top spot when it comes to larger enterprise applications from what I hear from friends in some of the big IT consultancies. There is a plethora of highly stable libraries available for Java, both in the standard libraries and outside such as the Jakarta Project, not to mention more application servers than you can shake a stick at. Java development has always been pretty open, which is what has led to this favourable position, so taking the plunge and becoming fully open source can only improve that - I look forward to it.

As a business development platform Java fulfils my desire for delivering portable applications, being vendor & platform agnostic, in the same way I like standards-based C++ (gotta be ANSI, STL etc). The level of stability that comes with 10 years in the field is also a massive bonus with this sort of application. Before someone points out that .Net is portable too, please note that when I say portable, I mean every portion of the platform, every library, every feature, without exception; .Net, whilst a good piece of tech in itself, excludes itself from the ‘portable’ category by being only partially standardised with many parts of the platform / library set only being available (at all, or in a stable form) on one platform, and from one vendor. Some people define portable as ‘a fair amount of it runs mostly the same on multiple platforms’ - but this is token portability rather than truly practical portability, and that difference might as well be a million miles when it comes to delivering real solutions.

On another note, I’ve observed that whilst as languages / platforms mature they become less and less popular with those who tend to go with whatever’s latest and greatest, it’s often those platforms that you treasure when critical stuff just needs doing, simply because they are proven, have all the stuff you need right there, and tend to just work. New tech is great and all (we all love it), but it doesn’t half stick a spanner in the works when you have deadlines to hit. Case in point is mainframe technology - I’ve worked with mainframes to various degrees since I started in this business, and I’ve gotta say that whilst they may not be the most sexy of environments to work with, when it comes to stability, there’s little that can touch them even now. Kinda like a solid old car, or the Russian WWII tanks that were anything but pretty but trounced the opposition just because they didn’t break down under adverse conditions.

Ok, that went in a few random directions. Synopsis: good news. 😀