You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Aaron Hamid <ar...@cornell.edu> on 2005/05/13 16:27:24 UTC

stop the bus

[I am deluged by harmony-dev email so forgive me if I cannot cite and respond to individuals, er, individually]

Writing a VM from scratch?  Making it a generic VM with it's OWN bytecode set?  Inventing a new language!?

Hold on.

I don't think this project has much chance of success at all unless it embraces the existing communities of talented and dedicated developers that have already spent YEARS pouring effort into existing projects.  I think rewriting from scratch is a total non-starter.  It's just going to alienate the very communities which are the only fuel this project has.  I don't think it is at all "clear" in the proposal that Harmony should write everything from scratch ("We will create directly, via inclusion of independent third-party code, or through contribution").  Instead of armchair opinions on VM architecture by idle onlookers (which includes me), I would much rather hear from members of the communities already mentioned (and I know many have already spoken), on what *they* would like out of the project.  I think the best idea is to come to a compromise, or middle ground (perhaps manifested by some initial set of interfaces, and donated implementations of those interfaces), that a
ll parties can accept and work towards.  In such a large project as this, I think the limiting factor is not great ideas, or even skilled individual coders, but community interest and devotion, and we really have to harness the existing interest and talent out there.  With such a community we can always fix a less-than-optimal initial implementation...but without it we are going nowhere.  Even if Harmony doesn't produce one line of original code (I doubt that will be the case anyway), I think it would be immensely useful to at least unite the existing projects, and give them a common direction.  From the links I've followed so far, I am very impressed with the progress GCJ, Classpath, Kaffe, and other have made, and the fact that I was not even aware of this progress, despite having done Java development for years, I think indicates that Harmony certainly has a large potential role to play in advocacy.

The only clear thing I see at this point is:

* Classpath should be used as the class library.

Does anybody disagree that reusing this code base is the only feasible way to move forward?  I think having to rewrite the class library from scratch would set us back years, so hopefully that is off the table.  It looks like both parties involved are, or will be soon, coming to an amicable legal resolution, so hopefully this is a moot issue.

I am sure discussions are happening in parallel between various projects (especially because this list is so noisy).  Hopefully we can come to some sort of middle ground that is acceptable by all parties, and takes advantage of all the work already done.

There already appears to be cooperation between GCJ, Kaffe, and Classpath, including various forks thereof.  Can the VM parts of GCJ and Kaffe be reconciled, or modularized based on common interfaces?  What are the fourth, fifth, and sixth largest free Java efforts, if that can even be quantified?  Are the JikesRVM architecture decisions incompatible with GCJ and Kaffe design?  Besides the class library, what portions of existing implementations are those projects willing to "give up" to a third party?

Aaron Hamid