Monday October 25, 2010 | Stephen Colebourne's Weblog Ideas and musings from a Java developer |
|
|
Babylon 5 & the Great War of Java
It was the dawn of the third age of Java, ten years after the Sun/Microsoft war. With apolgies to Babylon 5. Babylon 5 and the Great War of JavaI'm re-watching the amazing Babylon 5 TV series at the moment on DVD. I was struck by how the voiceover at the start of each series could be adapted to the current situation. But also how one of the key themes plays out in two key questions - "Who are you?" and "What do you Want?" The Java Community Process truly was a great hope for peace. A neutral place where everyone from developers to vendors could work together to produce specifications, reference implementations and tests to drive the success of Java. But the JCP has always been flawed. The many, many lines of spinning legal agreement have tied up the JCP on more than one occasion. Initially, for example, it wasn't possible to implement any specification in open source. The Apache Software Foundation had to fight for that right in 2002. A right that was then taken away by Sun in the Apache Harmony dispute. And a right that could not be won by the combined forces of every other particpant except the ruler (Sun then Oracle). And now, in the past few months we are seeing the unravelling of the JCP turning into the wider "Great War of Java".
In a short period of time, Java has gone from the platform designed to unify the entire industry to a highly politicised punch bag. Java on the desktop now looks pretty meaningless if Apple wants nothing to do with it. (I subscribe to the view that there will be some desktop machines from Apple before too long that will not permit access via any means other than the App Store.) Of course, that could well make Java FX DOA. Whichever way you look, Java is being squeezed - even by new programming languages on the JVM bypassing much of the Java platform. Which leads me back to the questions posed in Bablyon 5: Who are You? What do you Want? These are questions every single member of the Java Community should be asking themselves right now.
Do we care if Oracle chooses to assert control and break legal agreements? On the last point, I certainly think they can, if Apache leaves the JCP and ends the rights of Tomcat, Geronimo, OpenJPA, OpenEJB, MyFaces and many more to implement JSRs. Ironically, Doug Leas principled stand makes it harder for Apache to choose a compromise position. I ended my Babylon 5 word-play above by striking out the "Process", and leaving it as just the "Java Community". And I am still a believer that the community can be a tremendous asset when treated well. But, perhaps as Oracle have found recently, the community knows how to bite back when mistreated. Bablylon 5 reaches its principle climax in the fourth series:
It was the year of fire. Could now be the start of the year of fire and destruction - the year of rebirth? SummaryWe all have to look to ourselves - developers, community members, vendors, Oracle - and decide "Who we Are" and "What we Want". And then find a way to bring all the different answers to those questions together for a common purpose. Because it really is "The dawn of the third age of Java". Its arriving much faster than we expected. And it looks very much like decline into COBOL from where I'm standing. There are still a few opportunities to prevent that decline and turn it into renewal. Every decision made now matters.
Post a Comment: Comments are closed for this entry.
The spam filter and numeric calculation check at JRoller are pretty rubbish - sorry about that.
If the numeric calculation check fails, please try again. If your comment is marked as spam, I will retrieve your actual comment for you as soon as I can! View the privacy statement |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- Mass exodus of high-profile people.
- SCO-style pantent trolling.
- Telling the biggest Java contributor (ASF) to f*** off.
- Alienating the community.
- Loosing Java's platfrom independence (Apple deprecating its Java implementation and no word from Oracle if they plan to provide one)
- Making more and more of Java proprietary
I really wonder how it is possible as a company to be such a collective a**hole that about every project's community has already forked, away from Oracle.
Well, we survived SCO. If it is necessary, we will bring Oracle to its knees.
Posted by steve on October 25, 2010 at 10:59 AM BST #
Posted by Fake Steve on October 25, 2010 at 12:15 PM BST #
I do wish it could've happened another way, but frankly it was getting tiresome and depressing. Let's celebrate Java for what we got, and acknowledge that some things must die for next generation to live!
Posted by Casper on October 25, 2010 at 02:05 PM BST #
Not even syntax-wise, the special "LINQ-syntax" is only one small proof of that.
But luckily the JVM is as strong as ever, because the JVM developers have pushed out improvements and optimizations quite regularly. Performance- and stability-wise nothing else comes even close.
The CLR has a slightly varied set of features compared to the JVM (no real support co-/contravariance; but "basic" Generics in the VM (no higher-kinded ones)), but is still missing the years of testing and bug-fixing the JVM has.
So if you speak about "Java as a language" I agree with you. If you thought of "Java as a platform/ecosystem", I have to tell you: You're wrong. No need to discuss that.
The one thing that makes the real difference between the Java platform/.NET platform camp is the community:
.NET simply doesn't have a community. If Microsoft "opens things up" to the "community", it is pretty dead. No one cares, no one looks at the code anymore.
The Java platform has a strong, diverse and healthy community, _despite_ the fact that Oracle behaves like a retarded child.
Eventually, I only care about the JVM:
- The JVM doesn't care how I generated my bytecode.
- I don't care about "Java the programming language"
As long as I can program in Scala and run it on a JVM, I couldn't care less about Java programming language, but that doesn't mean that "Java the platform/ecosystem" is dead.
The difference between languages like Groovy, JRuby, Fantom, Clojure, etc. and Scala is that the first group "can solve different problems", but Scala can solve the problems Java can solve plus a whole lot more.
This makes it a viable replacement for "Java as a language" and the first ones not. But doesn't change the fact that all of them have their useful properties and utilize the JVM underneath.
Posted by steve on October 25, 2010 at 04:18 PM BST #
Oh please. I develop in both, and find Java to be much more productive to work with. It's all in the choice of frameworks and how you approach development whether you can make it work efficiently.
And 'forced to look towards alternatives'? Give me a break.
Posted by Eelco Hillenius on October 25, 2010 at 07:10 PM BST #
:)
Posted by sola on October 26, 2010 at 08:04 AM BST #
This makes for a much more interesting comparison.
Posted by Dioxcyn on October 26, 2010 at 10:57 AM BST #
So I don't understand why there is an issue with field of use. GPL v2, certainly doesn't say...you can only use the software in this scenario...it's quite explicit. The very first sentence says:
"1. You may copy and distribute verbatim copies of the Program's source code as you receive it, IN ANY MEDIUM,..."
Is ASF worried of getting sued? We should have an org that isn't worried about getting sued. Set it up on
Posted by Satori Singularity on October 26, 2010 at 03:04 PM BST #
By the way, if you Java guys think that you're going to be living in some polyglot world of Groovy, Clojure, and Scala then think again. In the real world, where there are people responsible for hiring and firing it doesn't roll like that.
Posted by Rick on October 26, 2010 at 09:17 PM BST #
No, Java is not dead, nor will it probably ever be dead. COBOL is not dead, either, but no one uses it to write new systems.
Posted by Nathan on October 26, 2010 at 09:41 PM BST #
Posted by otengim on October 27, 2010 at 03:23 AM BST #
Seeing how those high profile people had made Java their kindergarten playground instead of a revenue source for Sun it was meant to be, it's only good that they depart. Oracle is more than able to have other high profile people, or to promote some to this status - and then to keep them under enough control to ensure they'd be working for Oracle's business and not for the open source community or whatever bulls**t.
"- SCO-style pantent trolling. "
You mean that Oracle is a failed company with virtually no sales using some very dubious claims as their last hope of getting any money?
I don't know the ultimate result of this battle (although I think that Google will give up soon and settle, maybe they are already negotiating), but I do know that even Sun had considered suing Google over Android - and that certainly means something.
"- Telling the biggest Java contributor (ASF) to f*** off. "
They haven't listened to Sun, maybe they will to Oracle.
"- Alienating the community. "
Blog weenies, that is. Irrelevant. Java's success is created by businesses, *not* blog weenies.
"- Loosing Java's platfrom independence (Apple deprecating its Java implementation and no word from Oracle if they plan to provide one) "
Java on the desktop is long dead. It has lost to everything it could, and they (Oracle and Apple) are just accepting this fact.
"- Making more and more of Java proprietary "
Where did making more and more of Java open source drive Sun? If not Oracle, they'd probably already be in Chapter 11.
Posted by jacek szymanski on October 27, 2010 at 08:16 AM BST #
Posted by Karl Peterbauer on October 27, 2010 at 09:18 AM BST #
As for .Net. I've worked with it for a couple of years. Its nothing special at all. Until they came with MVC for web it was complete garbage. Even now I have moved on from MVC to componentized frameworks done right like Wicket. And as someone else mentioned .Net has no community and you must wait on MS to solve everything for you because no one else wants to share any code. Sorry but the LINQ syntax and other sugar aren't that amazing and if Groovy for instance can find a new home its irrelevant.
What I would like to see happen is the rise of a completely FOSS platform that runs as much of legacy Java code as possible while being more suitable for desktop development and adopting more of the alternative syntax. It would have to be pushed by someone large and since IBM seems to be content with Oracle it would probably be Google. They'd have to use it on App Engine and push it hard. Who knows...maybe what we're looking for is advanced Python.
At any rate I'm being very cautious now about tying myself into Java. Oracle looks like their going to pull the rug our from everyone and try to make as much money as possible.
Posted by Phil on October 27, 2010 at 06:16 PM BST #
Here's my blog post about it (rambles a bit as I was pretty tired when I wrote it):
http://goo.gl/U4xe
or
http://chaotic3quilibrium.wordpress.com/2010/10/26/how-oracles-ellison-drove-a-java-advocate-to-netc/
Posted by Jim OFlaherty on October 27, 2010 at 08:35 PM BST #
Posted by Richard on October 27, 2010 at 09:40 PM BST #
Posted by gml on October 28, 2010 at 07:06 PM BST #
Posted by Chris on October 30, 2010 at 07:05 PM BST #
Developers? As part of the JCP?
If one species was and is largely absent from the JCP and not being considered by the JCP, than it is Joe Average Programmer. And please, don't give me the list of token programmers (usually consultants, academics and writers, not programmers).
Posted by Juergen Kaser on November 03, 2010 at 08:24 AM GMT #
Posted by anehra63 on November 12, 2010 at 09:05 AM GMT #