Review/Preview 2006 & 2007 - Java
Unlike previous years, 2006 has been a defining year for Java, marking fundamental change for what remains, by many objective measures, today's most popular programming language. Most critical to the fate of Java is Sun's decision to release its implementation of Java under terms of the GPL, a process that is well underway today with the release of the HotSpot VM, javac compiler, and a GPL Java ME implementation (Java EE was open-sourced last year as the GlassFish project). The SE pieces aren't enough to comprise a complete Java platform yet--that will happen next year when the class libraries are open-sourced. Still, the progress is a lot more than almost anyone would ever have predicted a year ago, and virtually nobody expected Sun to choose GPL for its open source license.
But what happens next? That's the big question. As with a lot of this year's events, it's not obvious what this move will lead to, rife as it surely is with unintended consequences. So for this year's "2006 In Review" article, we're taking a different approach: we're listing some of the major developments and pointing out what to look for in 2007 as a results of those events.
But what happens next? That's the big question. As with a lot of this year's events, it's not obvious what this move will lead to, rife as it surely is with unintended consequences. So for this year's "2006 In Review" article, we're taking a different approach: we're listing some of the major developments and pointing out what to look for in 2007 as a results of those events.
2007: Watch for class libraries... and forks
The GPL release of the Java compiler and VM shows Sun is serious about open-sourcing Java, but it's too soon to see what the results will be. For one thing, the released code is basically a very early Java SE 7, as Sun didn't want the open source work to interfere with the release of Java SE 6, which happened earlier in December. Along with being a pre-spec VM, the release also lacks the class libraries that would be needed to bring up a useful Java environment.
One of the challenges in providing the class libraries is having to search millions of lines of code for encumbrances, code that Sun licensed to use in Java and that it doesn't have the rights to GPL. Some of these may have suitable drop-in replacements from the open source world, but sooner or later, it's inevitable that there'll be some things that Sun will need to relicense, rewrite, or omit.
The big question beyond this is what people do with Java now that it's GPL. Beyond solving the political issues involved with including Sun's JVM with certain Linux distros, and getting the JVM ported to platforms that Sun itself isn't interested enough to do its own versions for, there's the question of what unpredictable things people will do with the bits. Does HotSpot's dynamic runtime compiler offer something to other languages' runtime? Will developers fork the language itself by hacking the compiler to add or remove language features? The result can't be called Java, but so what? Maybe Java could be used for domain-specific languages, in which case there'd be no desire to call the resulting variant "Java" or anything that starts with a "J." More>>
One of the challenges in providing the class libraries is having to search millions of lines of code for encumbrances, code that Sun licensed to use in Java and that it doesn't have the rights to GPL. Some of these may have suitable drop-in replacements from the open source world, but sooner or later, it's inevitable that there'll be some things that Sun will need to relicense, rewrite, or omit.
The big question beyond this is what people do with Java now that it's GPL. Beyond solving the political issues involved with including Sun's JVM with certain Linux distros, and getting the JVM ported to platforms that Sun itself isn't interested enough to do its own versions for, there's the question of what unpredictable things people will do with the bits. Does HotSpot's dynamic runtime compiler offer something to other languages' runtime? Will developers fork the language itself by hacking the compiler to add or remove language features? The result can't be called Java, but so what? Maybe Java could be used for domain-specific languages, in which case there'd be no desire to call the resulting variant "Java" or anything that starts with a "J." More>>

0 Comments:
Post a Comment
<< Home