 |
Musings on the new opportunities that Open Source Java brings
Posted by joshy on November 12, 2006 at 11:25 PM | Comments (7)
I have often said that I don't love Java because I'm at Sun. I'm at Sun because I love Java. I love Java so much that I wanted to work at a place where I can do the most good for the Java community, and Sun is definitely that place. Now that Java is open source I think it means only good things.
The big announcement today: Java will be open sourced under the GPL. I think it makes a lot of sense because it protects Sun's interest in preventing forks and also the community's interest in knowing that Java will forever be available in the public sphere. The GPL has always provided an option to fork just in case someone takes the code in a bad direction. Historically having this option available ensures that it never needs to actually be used, letting the community grow and thrive.
So what does this actually mean? What is the benefit to open source Java? How will things change? Here's what I think will change and what won't. I say this as my own opinion, not an official statement from Sun. I also say this as someone new to Sun, coming to Sun two years ago from an open source background. I'm sure that engineers with more experience than I will have different opinions. So with that, let's hear it:
How will open source change Java
- Real bugs will be fixed faster and non-bugs will be closed faster than ever.
- Java won't fork. Few developers will have incentive to fork Java. It's a lot of work for little gain. Branches for new features or new platform support: yes. A true fork: no. Not even MS has much to gain from this anymore.
- The JCP will grow and change. As before, big decisions about the future of Java will go through the Java Community Process. However, with more interested developers the ranks of the JCP will grow and change in some very good ways.
- Java will have first class support on Linux, Free-BSD, and other 100% open operating systems. This is huge. Hugely, huge. I'm hoping we'll finally get a KDE look and feel as well.
- NetBeans will open the entire JDK sources all at once. It's true, we're working on it for NetBeans 6. With the new editor infrastructure this will be possible. You might not actually want to do this, but it should be possible if you've got enough memory.
- We will see lots of small crazy experimental versions of Java that add different things. Imagine a JDK with Find Bugs, MySQL, SwingX, JDIC, JInput, JOGL, Java3D, Tritonus MP3, jSDL, KDE-Java, Gnome-Java and a bunch of other cool libraries pre-integrated. We might even see an entire downloadable VMWare virtual harddrive with Ubuntu + Super JDK + NetBeans preinstalled for the ultimate prefab development environment.
- More adoption of Looking Glass. Now that Java can be freely run on Linux desktops out of the box, there is incentive to ship Looking Glass bundled in with the OS. There's a lot of good 3D cards out there. Let's use'em!
- More 3D Java Games for all platforms. I expect that people will start shipping an optimized copy of Java embedded in their applications. The end user will never need to know that Java is involved. JOGL + Java3D is now available for Win, Mac, and any copy of Linux with the right X configuration (which is more common than ever).
- Burnable Java. Imagine a tool that burns a photo slideshow application preloaded with your photos, plus a copy of Java, straight to a CD. Hand the CD to your Mom, she pops it into her computer, and the photo slideshow starts right up. You'll never need to worry about the version of Java because it's shipped with your app. You don't need to worry about the OS because you code against Java, not against native APIs. (hmm. perhaps 'burnable java' isn't the right name for this. :)
- Java will grow to fill every available computing niche and finally achieve the goal of total world domination.
Okay, so maybe that last one is a stretch, but it's true that this will help to bring More Java to More Places.
So now we have a free runtime, competition between three groups to make the best IDE in the world, and a language that scales from cellphones to desktops to super-cluster-matrix-grids-thingy's. It's a good time to be a software developer!
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
Very interesting stuff! I'm especially curious what will happen on those FLOSS OSes you mention (and yes, a KDE-Java would make me very happy as well).
I wonder though what plans the people from the GNU Classpath project have because except for some platform specific things I imagine there won't be much use to continue their work, but I might be wrong of course.
I'm also curious what will happen with GJC because a lot of people will enjoy the option to compile to native code (let's not discuss if this is useful or not, the option exists and there will be those who want to use it for whatever reasons). Will a hybrid system appear where bytecodes, JIT code and natively compiled code all work happily together?
I can hardly wait for the future to arrive :-)
Posted by: quintesse on November 13, 2006 at 04:12 AM
-
I think that alternate projects will have still their meaning (for instance, there's also Harmony from Apache). The problem of GNU Classpath is that it doesn't work, not its meaning. Alternate projects means competition, which is good.
Josh, this is the perfect timing for Java on the Desktop! :-) Having pre-installed really-working JDKs on the Linux boxes means the end of a nightmare for javadesktop developers! :-))
Posted by: fabriziogiudici on November 13, 2006 at 04:39 AM
-
As I was reading this I saw your comment about a VMWare virtual machine pre-loaded with everything you need. This is something I've been thinking about doing for a while now. The only thing holding me back has been that I could not completly do it. Also I was thinking on the lines of Ubuntu, Red Had, OpenSolaris for dev envioments. But also making a Test envioment as well for testing deployment and such. And what is really nice is that with all of this now Open source pluse the Free as in beer VMWare player everyone can use it.
Posted by: rdjackson on November 13, 2006 at 09:07 AM
-
Yes. I think that lots of exciting things are going to happen now. I expect Java to have a very healthy and long life. I suspect people will use GCJ still. Or JITs. Or hotspot. Or some funky combination. Or something new we haven't thought of. That's what's great about letting Java be free. It makes so many things possible.
Hmm. Free Java on a free OS would be perfect for creating VM appliances. Imagine an image pre-set up with a database, webserver, and appserver, running a buch of standard portal software, or a blogging server?
Posted by: joshy on November 13, 2006 at 10:43 AM
-
it sounds to me, a java beginner, good too. But will it not bring some chaos too? I mean, if i need java, i'll go to java.sun.com and download it and install it. Will that remain like this by OpenJDK too? Or all other branches you mentioned above will be just like new libraries, which i add to my classpath in netbeans to use them?
Posted by: ilvisne on November 14, 2006 at 05:02 AM
-
You will still go to java.sun.com and download the official version of Java. All other versions won't be called Java and won't be at java.sun.com. I suspect that the intial forks will just be things like porting to other platforms, which won't be an issue for you at development time, only deployment time.
Posted by: joshy on November 14, 2006 at 05:12 AM
-
I've been following the development of classpath for quite a long time. I believe that parts of classpath will be merged into suns open source JDK replace the parts that cannot be open sourced ( Some color stuff, and Font rendering AFAIK).
I think that some people definitely have the need to compile to a native executable. As for the new opportunities that open source java brings, I really look forward to the day that eclipse and netbeans have a "Export to .exe" button right next to the one that currently says "Export to jar". You can debate the pros and cons of native compilation until the cows come home, but there is no doubting that it would be damn useful for some situations.
Posted by: luke_sleeman on November 15, 2006 at 01:40 AM
|