So the buzz is that Sun will really actually truly free Java sometime. Details, timeline, license, etc.: TBD.
This makes me feel very weird. I assume for a moment that it is true and that it happens under acceptable conditions: it comes pretty soon, it is complete, it is under a non-crazy license. On the one hand, hallelujah! This is what we've wanted these 10 years.
On the other hand... I wonder what I'll do with myself. I suppose there are plenty of interesting things to work on. Even the Sun JDK I suppose.
But the dislocation goes far beyond my future to-do list. What does this mean about all the work I've done? Is it a waste?
I probably should've come up with answers to that back when we merged libgcj into Classpath and nuked a lot of code. Sometimes I feel bad about that process.
I do have my own answers for those questions. Everything is born, lives for a while, and dies; our programs are no different. That they die early or late doesn't render them meaningless -- only dead. And meaning itself is something we bring, in interpretation; it isn't an intrinsic quality. Of course it is one thing to think that and another to know.
Whew. Back to reality, we're still hacking away on gcj. It makes no sense to change course based on a maybe as big as this one.
Miguel's blog pointed to a nice entry on this topic.
Danese Cooper says we're too poorly organized, or at least thought of that way. I think she is using "organized" to mean "backed by IBM" or something like that. Anyway there's not much correspondence between that idea and what we've actually done.
It is true that Harmony has been a notable winner in lining up IBM and Intel behind it. I often think of Harmony as a consortium in the guise of an ASF project. I suspect our failure here was our license; but it is difficult to say whether this was really a mistake per se.
She also wonders. "I'm wondering how long it will take the various Linux distros to figure out that they can ship Harmony". We already know about Harmony. When shipping it isn't a big regression from shipping gcj, we'll probably ship it. What does that mean? It means that platform coverage and library coverage matter. Meanwhile gcj remains the best free VM on my list of metrics: platforms, performance, debuggability, and community.
gcj details I've got the eclipse front end plugged into gcj here. It consists
of a new driver for ecj and a patch to the gcj specs to invoke it.
I'm debugging some .class compilation bugs that this
found, but I should be able to build everything soon. (I've already
built 1.5 code with it.) Next step: a branch in the gcc repository.
Last night when I couldn't sleep I became bizarrely interested in gnash and flash software. First, I found the gnash source code kind of unreadable -- pretty messy. I read a bit about SWF; what a weird setup this thing has.
A flash plugin is a classic example of what not to write in C or C++. You end up reimplementing the world. Instead, start with a library-rich language like java and it looks much simpler. I found JSwiff for SWF reading. Am I deluded when I think that this plus Java2d (and sound and I guess JMF -- yuck) plus a bit of glue would make it all happen?