Why make a free runtime for Java?

I was at my monthly Java (TM) user group meeting tonight, and during the pre-meeting discussion our president Burr Sutter asked a question he usually asks: “So, anybody working on anything exciting?” This typically is taken as “does anyone have a really cool Java (TM) project that they are working on right now that would be neat for us to hear about?”

I usually sit there, not saying anything. But tonight, nobody had anything much, and I finally spoke up about free runtimes for Java (TM). I told them that great progress is being made in the free runtimes for Java (TM) arena, particularly in GNU Classpath and Kaffe. After my update, Burr asked a very good question: “Why would you work on a free, open runtime for Java (TM) programming language?” My answer follows.

You would work on it in order to have a free alternative to a platform governed by the SCSL.

You work on a free runtime for Java (TM) because a free alternative would be better than what we have now; a closely-guarded and largely ingrown platform. You work on improving a free alternative because you are free to participate without that project demanding (via a legally-binding license) that you can only work with them from here on out, and that nothing you learn while devoting your time and energy to them (without compensation) can be used elsewhere. If you do share it elsewhere, and that project finds out, their legal team will make an example out of your ass.

You prefer a free alternative runtime for the same reason that you prefer the free alternatives to the non-free frameworks and platforms available for use on Java(TM). Why is Hibernate so popular? Why is Spring so popular? Why is EJB not? Because innovation by committee, while better than a ruthless, unaccountable corporate entity concerned solely with its own betterment, is still not as good as free, open cooperation and collaboration.

Is this idea so new? Don’t we try to teach kids that sharing and honesty is the Right Thing (TM) to do? I will probably flesh this out as an article at some point, but I wanted to get something written down tonight, while it’s still fresh in my mind.

Book Review of Learning GNU Emacs, 3rd Edition

I finally got my review of Learning GNU Emacs, 3rd Edition from O’Reilly out the door last night. For those like myself who are coming into the Linux and Free/Open Source Software game later in life, books like this really help to backfill your knowledge/skill sets in a timely manner. I would recommend it to anyone who wants to move beyond the basic Gnome and KDE text editors into a more serious text editing tool that has both a GUI and console modes. That is, if you are considering Emacs.

And no, this is not an invitation to an Emacs vs. vi flamefest. I use both. 8^)

The longer I manage a technical team, the more I am in awe of the Debian Release Team

Just finished a checkpoint of my current development project at work. There are only six developers, and we only have about 18 dependencies on 3rd-party libraries. Even on something that simple, getting the bugs and unresolved issues (after developers had performed their final check-ins of code) cleared up in order to get a 100% pass on the suite of unit tests ended up taking 14 hours over two days. Coordinating changes to the persistence, business, and presentation layers and being able to see the big picture in order to isolate bugs requires intense concentration on my part.

On my way out of the office at 20:35, I was thinking about the some 10,000 source packages in Debian and the coordination and effort required to get a release out the door. I am awed. Debian Release Team, you rock. Thanks for Sarge, and I look forward to the Etch release.