Java has long been freely-available, but now the entire Java platform and source code are fully open source and free under the GPL. Sun has posted a resource center for the announcement:

Open Source Java

It’s not available yet, but a new open source implementation of the platform and Java Development Kit, dubbed the OpenJDK, is in the works, as well:


Both the virtual machine and the compiler are up now, with the remainder of the components due in the first half of 2007. Even JavaHelp is getting open sourced. The GPL classpath exception will allow developers to create closed-code projects on top of this project, as well.

Well worth reading, Sun’s Tim Bray has posted a blog entry with some frank answers to some of the obvious questions:

Java is Free (via Download Squad

What Does it Mean?

Most of us are unlikely to spend much time hacking around with Java itself, so why is this important? I think it’s significant in that it helps ensure the long-term health of the Java platform. Java has gotten huge, and Sun hasn’t always been able to keep up. One of the most typical sacrifices has been desktop multimedia, like weak video support.

The Processing community has repeatedly hit against the limitations of Java in developing Processing. Many of the performance issues aren’t (contrary to popular belief) inherent weaknesses of Java; some are, but others have to do with some of the darker, cobweb-filled portions of Sun’s Castle Java. The Processing developers have their hands busy, but given Java’s popularity in academia, it’s not hard to imagine someone addressing these issues.

Forking versions of Java indeed sounds a little scary, but that’s where Sun’s corporate conservatism actually becomes an asset. Sun still controls the Java trademark. Bray puts it this way:

However many forks there are, it ain’t Java unless it’s called “Java” or has the coffee-cup on it. If it has the name and cup, it is Java and it’s compatible. And Sun will absolutely enforce that in court if we have to. We have in the past and we will again.

You know what that means: get ready for as many stands-ins for the word “Java” and the image of a coffee cup as you can stomach. Let’s see: Bali? Jakarta? (Or, going the other route, Macchiato? Frappuccino — oh, wait, probably not that one, unless Starbucks decides to adopt open source development.) An image of a travel mug? An espresso machine?

Honestly, though, this could be a win-win situation. Imagine an academic institution building a multimedia-savvy version of Java that strips out the stuff you don’t need and is optimized for multimedia performance. You can use that if you like, but you know that the thing that’s still called “Java” isn’t going to splinter into a zillion different, incompatible versions.

Another hope is that this will bring better cross-platform support. Java doesn’t run nearly as well on Linux and (even worse) the Mac as on Windows. The Linux side is definitely more onboard with Java thanks to the announcement; just look at the open source project page and you’ll see GNU Project founder Richard Stallman, Ubuntu Project founder Mark Shuttleworth, and luminaries like Tim O’Reilly. Don’t forget embedded platforms, too, which are also now covered by the GPL. I just hope someone over at Apple looks at the lackluster performance of Java on the Mac.

Meanwhile, Windows users can still benefit from having a fantastic Java development and deployment platform. (It’s true; Java really does run best on Windows. Something strangely satisfying about coding for Java on Windows and ignoring the usual Microsoft stuff.)

I’m sure O’Reilly will be glad to step in and publish lots of books on the subject, as well; you’ll see their logo on the new projects. (Hey, I love a publisher that actually helps move technology forward, as opposed to the typical publishers who can’t even be bothered to sell books!)

The other safe bet is that there’s plenty of rejoicing at Adobe headquarters, given Adobe’s love for Java, the open source Eclipse IDE, and other technologies. Now, Adobe, about open sourcing the Flash compiler … any new thoughts on that?

I don’t believe open source and (specifically) the free software movement are always the solution to everything. Proprietary software has done wonderful things, and it’s a business model that makes sense for certain projects. But in the case of Java, as even Sun admits, this is a no-brainer. It’s great to see an older tech company like Sun taking the chance. I think the whole Java platform will benefit.

Now, I return you to your regularly-scheduled Processing coding.

Commentary elsewhere:

Processing superstar likes this announcement, as well. His take (and I agree): faster bug fixes, and better support on Linux (which has thus far been pretty lackluster).

[tags], Java, coding, programming, development, open-source, trends[/tags]