Red Hat and Native Eclipse
When reading the Native Eclipse article I had to think back to my visit to Red Hat in Toronto. Since I was going to the GCC Summit in Ottawa anyway I really wanted to meet some of the people working there that I had never seen in person. And I am very glad I did. I used to think that the “I am Red Hat” buttons that all these Red Hat drones had put on their weblogs were just stupid. But after meeting so many nice, intelligent and passionate Red Hat hackers in Canada I see they really mean it. The Free Software spirit is so strong in the people working for Red Hat. And they are very serious about making sure that what they are working on is commercially viable. It made me feel a lot better about the “big bad evil corporation” that I used to make so much fun of on irc.
It was also nice to be able to give a little presentation on GNU Classpath history, current state, goals and future (based on the presentation Sascha and I had already done at FOSDEM) for Red Hat engineers, interns, and managers (some still new to GCJ and GNU Classpath), and to point out how working with Red Hat on all this is both fun and confusing.
Native Eclipse is a very good example of this. We were all really happy when it won the Fast Free Eclipse Prize back in August 2003. It really looked like this was the future of Eclipse on the GNU platform. There were still some little issues to work out before all this nice work would be integrated with the upstream projects. But from the start (and even now!) Native Eclipse was on the schedule of Fedora Core 2. So we assumed that was being worked on. And it looked like it was going reasonably well since each new Fedora Core 2 test release had more and more native gcj packages (native versions of ant, bcel, jakarta-commons, cup, gnu-jaf, jakarta-regexp, gnu-javamail, junit, mx4j, mysql-jdbc, servletapi, struts, tomcat, xalan-j and xerces-j are now included).
Fedora Core 2 final was just released before I went to Toronto, so I thought it would be nice to install it and show my presentation and demo on this distribution that claims more Java software using gcj (Ant, Tomcat, Jakarta, Eclipse). But sadly no Native Eclipse in the default install. So I tried to get and install the old Natively Compiled Eclipse RPMs. It installed, but it crashed immediatly when I tried to run it. Since I was able to get native eclipse working fine on my Debian system, I then tried to just rebuild the whole thing from source. Just to find out that only the runtime libraries are available, but the special versions of gcc-ssa and gcj-ssa aren’t there any more. (This is really bad since this was the only way that I know of to compile Eclipse from source using a free toolchain!). Then I just gave up and gave my presentation and demo from my Debian installation. [For people wanting to try anyway look at the native-eclipse mailinglist, lots of people trying, nobody succeeding it seems…]
Not having the time or resources to work on a project isn’t a crime. It is really understandable for a company that has as its first priority its customers. But not being clear about the direction of a project and promising that it will be included in the next “community project” release, but not following up on those promises and not clearly telling anybody that there is a change of direction doesn’t make you very loved by the community that you claim to support. And it made us feel a bit cheated since if we would have known that the work on native eclipse was in limbo and that it wouldn’t actually appear in Fedora then we could have encourage and worked on other ways to free eclipse.
It was very good to actually talk about this and other issues that make the free software community go hmmmmm, not because RH does something bad, but because they sometimes do things that seem just strange [*]. But it was also very good to finally being able to give a very big “Thank You!” for all the nice cooperation going on. And it also works the other way around (just imagine being dragged into the little dark room that Thomas Fitzsimmons calls his office and being cornered by Graydon and Bryce so they know you are actually listening to them). Luckily after that we went out for drinks and we did have a very good time. Thanks Red Hat hackers for everything you do and for listening!
[*] For anyone working in a larger community it is always important to keep in mind what Axelrod said about clarity:
Too much complexity can appear to be total chaos. If you are using a strategy that appears random, then you also appear unresponsive to the other player. If you are unresponsive, then the other player has no incentive to cooperate with you. So being so complex as to be incomprehensible is very dangerous.