Java continued

Ok, got some responses to my Java rant which deserves some replies. First of all I guess there are two discussions going on. The first is where should something new be added to GNOME, and the answer to this have consequences for which discussion we are actually having. One of my reasons for prefering Mono (and be aware that I say Mono and not C# on purpose) apart from the lack of mindshare for Java is that it seems a more natural replacement/evolvement of C as a language neutral core. Because I think that a logical step after allowing core applications to be written/extended with a non-c language would be to allow non-c code also in the platform at some point (but maybe limited to some specific languages due to maintainability concerns). This might be a question where I disagree a bit with Mikael.

People will say that there are possible to also use other languages with the java vm’s and point to stuff like Jython as proof. And yes this is true, any maybe its just marketing that the difference here, but for Mono being multilanguage seems to be a core issue while for the Java camp it seems more like research/fun hacks. I have for instance yet to see any official encouragement from Sun towards efforts to make the JVM a multi-language vm.

Of course the multilanguage issue is non-important if going into the core is out of the question and not what most of us want. If the discussion is about just adding a second official language to the stack for applications in gnome-utils, gnome-media, gnome-applets etc., then of course its more a choice of which language again, and at which point Python and Java (or even Ruby) is a more real alternative from a technical standpoint.

But even so apart from the multilanguage issue my initial rant was not about the technical qualities or characteristics of the languages in question, but about mindshare and developer interest.

Mark Wielaard, classpath maintainer, said I am taking the fun out their achievements and I am sorry for that, it was not my goal. First of all I am sure Harmony, Classpath and so on will have an important impact serverside, but I am highly sceptical about its future of dominance on the desktop side.
And if you are willing to relicense classpath to the Apache license to be able to work with the Apache crew then I appologize for assuming that this will cause even further splintering of the free Java community and instead will say thank you for taking the high road.

I am not beyond convincing that Java do have such a future, but for it to happen the Java camp needs to get their ass moving on the issue. Havoc in
his post did some good Java advocacy mentioning some nice stuff, but the question is why nobody else is doing it and why its so rare. I mean Havoc posting some nice things in his blog about Eclipse every 9 months is not enough to create interest and buzz about whats happening in the free Java community. And to reply to an old post of Havoc’s, I am not asking him or Red Hat to ‘outcode’ Novell in terms of amount of code produced, but I think it should be obvious to everyone involved that when Mono hackers including Novell use every opportunity to talk about cool stuff from their side, while the Java side keeps their claptrap shut, it can only be interpreted as a negative for the Java side. Interpretations could be that either nothing cool is happening on the Java side for the desktop or those on the Java side is there on a forced march. And I am not saying this is the truth, it is meant as a clear message to those in the Java community out there who want to see more GNOME and Java interaction; start promoting whats happening to the communtiy, don’t let Jeffrey Morgan and Havoc been the only ones who ever mention the words Java and GNOME together in public.

If Mark and others in the Java community is working on GNOME and Java related stuff please start mentioning it in your blogs and ask that your blogs gets syndicated onto planet.gnome.org. Start announcing stuff onto the gnome-announce mailing list, start posting stories to gnomedesktop.org when something cool appear. The same goes to other people at Red Hat and Sun who obviously should be excited about Java on the desktop, start telling us why you are excited instead of expecting magic to happen by itself.

Havoc also mentioned the reasons for Mono’s non-inclusion by Red Hat. As someone working for a company where I know or hear about things I would love to tell the community about, but which I can’t due to NDA’s etc, I understand the problem you have. On the other side Havoc, you place the community in an impossible situation here asking us to take your word for it that there is a problem. I mean we have on one side Miguel saying there is no problem and on the other side we have you saying there is a problem. Knowing you both, I trust you both and feel confident that none of you are lying, so there is obviously some information I don’t have yet to understand the issue fully. Question is what am I or anyone else to do? Let these issues paralyze us? And I think here we have the essence of the ‘fun’ killing part for many, to go back to an earlier discussion. We have this big dark unknown hanging over us hindering us from doing what we want. Our trust in your integrity Havoc is such that if you say that something is a problem we are willing to put things on hold to have the issue be resolved, but without knowing and understanding the reasons for this decision it doesn’t provide any motivation for going in another direction. Which creates a situation of stalemate. And here is a point where I think the GNOME community as a community needs to figure out how we resolve this issues on a general basis. How do we balance the needs our of partners like Red Hat, Sun, Novell, Imendio, Fluendo etc., against our needs as a community. If every company who have have GNOME hackers employed gets an implicit veto on future development we have a problem, on the other side some sensitivity on the side of the community for these kind of issues is probably not a bad thing. Question is just how do we balance these things out in a way that keeps the will and interest of the community at front without completely trampling our commerical partners.

That said where we are currently is not a bad place and we can easily continue working from our current situation for quite some time without it being a real problem technically or competitivly. I don’t want to crisis maximize, as there is not a real short term crisis here, just a feeling that we are not able to scratch all the itches we want they way we want to scratch them. And itches you can’t scratch tend to be rather annoying (of course there is the claim that scratching and itch makes it itch even more so maybe its a good thing ;)