Forking Java, not a good idea at the moment
There have been a few blogs about forking Java and some discussion around. I'm just recollecting a couple of answers that I gave to two mailing lists, mainly for my own reference. These are some of the related talks:
I'm pretty negative about the idea of forking Java now - it seems just bad timing. There are a few individuals that are declaring the big failure of Oracle's stewardship, and failure the past J1, and I'd first like to learn how they are representative. I must also say that while I'm not satisfied by some things that Oracle is doing (more precisely, things that it is not doing, such communicating some sensible points), I don't understand how this idea of forking comes after J1, where some light has been shed upon strategies (Java 7 and 8, a roadmap up to 2012) that have been very badly managed by Sun, not Oracle, in the past two years (see e.g. Mario Fusco's comments about the infeasibility of the original Java 7 plans that were made public one year ago). BTW, the whole community is not representative, in the sense that there is no formal democratic delegation model; in any case, I suppose JUGs are more representative than individuals and I'd first like what are the feelings in JUGs.
There is a positive note in the post by Sacha Labourey ("si vis pacem para bellum"), that is the realistic acknowledgment that the community alone can't sustain a fork of the JDK (OpenOffice, but also GlassFish, NetBeans or other stuff are a totally different thing - I think that people should really sit down and realize first what's inside the VM). I was saying about that realistic acknowledgment, in fact Sacha proposes an alliance of the community with the other vendors such as IBM, HP and so on for the forking and creation of a foundation to manage the fork.
While it's a realistic point, you should only know how much the proposed solutions stinks of rotten italian politics, where parties spend 90% of their time in moving on the chessboard to gain an advantage point, focusing on make damage to the opposite sides rather than formulating a strategy, and a mere 10% remains to govern the country. The results are not pleasing: we just go nowhere. I've got a strong feeling that a foundation managing Java, instead of being a neutral body supported by the corporates, would be their hostage for their politics, with the community playing the useful idiot - let's not forget that any corporate plays the community friend when it needs and the (more or less) benevolent dictator when it can. I think that the Oracle attitude change towards the idea of a foundation from 2007 to 2010 explains this very well.
So, while I'm usually very in favour of the "si vis pace para bellum" strategy, generically speaking, for preparing the war you need to create a sustainable and reliable alliance of partners, which I don't see as feasible. The only net result would be to upset Oracle and create a break with the community, favouring the internal Oracle faction that is opposing the community (or considering it irrelevant), and jeopardizing what could be achievable with more patience. Not to say an explosion in cross-lawsuits, as if we there weren't enough of them right now.
I'm also skeptical of the efficiency of a *ava which is foundation-driven, even not considering mala fide. For instance, Android is a proof that a successful technology emerges out of skilled engineering and cohese politics, that typically are produced by a single company. That is, Android is successful because Google de facto imposed it to phone manufacturers (not with force, I mean, but in the end Google is the leading player for the specs, both sw and hw). And it's evolving fast. The big failure of the JME model, IMO, is due to the fact that Sun couldn't impose anything to phone manufacturers, hence a collective process about how to evolve the technology arose and you know where it went. Figure it out where Android would be if Google two years ago just stood up, went to Motorola and HTC and said: hey guys, would you like to create a foundation to drive the next generation smartphones?
Another point, is about GPL consequences. I think that often we discuss for months, and then the conclusions are forgotten. Do you recall the MySQL debate of the past year, about the GPL not giving enough guarantees to a competitive environment for MySQL? It was Stallman's argument and, if I remember well, the main argument behind EU objections. In a few words, GPL(+CPE) allows forking, but the owner of the forked thing is not allowed to release the forked product with another license or a commercial option. Only the original owner is able to. This means that the forked *ava could be only offered in GPL+CPE, with no options for indemnification and such, which is a very important thing for some big industry. Since most of the business is with big industry, I suspect that Oracle would keep doing most of the money, and the big industry would not endorse *ava. It would be a really big fracture. On the other hand, starting from Harmony (where the mentioned problem probably wouldn't arise because of the Apache license) now would just guarantee a lawsuit from Oracle and I don't think any major corporate would like to embark in that until the Oracle vs Google case is over and we know how it ends.
In the end, Oracle must solve some essential points in the way it wants to relation with other corporates and the community, but I'd feel better with a single Java steward. Let's follow how they are going to pursue the Java 7 and 8 milestones and the commitments to the community that they renewed at J1.