harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Etienne Gagnon <egag...@sablevm.org>
Subject Contributing SableVM?
Date Wed, 22 Mar 2006 15:10:52 GMT
Hi Harmony developers,

So, you might have heard of unofficial rumors of potential collaboration
between the Harmony project and the SableVM project. Here's a message I
sent lately on the SableVM mailing list:
 http://sablevm.org/lists/sablevm-devel/2006-March/000608.html

To summarize the public and private replies I got to this message: the
prospect of establishing a strong collaboration was met with great
enthusiasm.

I did not want to get into official talks with the Harmony project
before I could make sure that we wouldn't run into license problems.
So, I started been working hard to get the permission of current and
past SableVM developers to get their permission to change the license
and (possibly) execute a software grant.  So, I have tracked down all
the 27 developers that have contributed code or patches to SableVM, in
the development trunk or in any other development branch or sandbox.  As
of this morning, I had received the consent of 18 developers to change
the license of SableVM.  The following email details the distribution of
the developers that have not yet replied to my request email (as of
yesterday evening):
 http://sablevm.org/lists/sablevm-devel/2006-March/000614.html

Now that licensing seems not to be an issue anymore, I would like to
propose a close collaboration between our two projects.  So, let me
shortly present SableVM.

SableVM is a project that I started during my Ph.D. studies within the
Sable research lab at McGill university.  From the beginning, its goal
was to build a free/open-source virtual machine that could achieve two
things:
1- be usable in the "real world" outside of academia,
2- be a research vehicle to within the Java optimization framework of
   our lab (which includes, among other things, Soot).

These two objectives are still the guiding our development.  Now, if I
am right, "1-" is perfectly in line with the objectives of the Harmony
project.  Furthermore, the Harmony project already accepted the JCVM
which shares many design features with SableVM (object layout, etc.)

SableVM has been and is being worked on by many students to develop
non-trivial components.  Among interesting components:
- JVMDI & JDWP  -> debugging with Eclipse works
- user class loaders
- loading constraints
- robust verifier
- generational, partly incremental GC
- etc.
Many of these features are not yet integrated in our trunk, as we have
strict rules on only integrating robust code into our trunk, so that our
software remains usable by our users.

What I would like to propose, is to contribute our stable, end-user
targeted trunk version to the Harmony project.  This would probably
allow for a merge of the JCVM and SableVM development efforts (and who
knows, maybe other contributed VMs eventually?), and help provide a more
complete and robust J2SE environment.

We would also contribute other modules, either with the initial
submission, or later when they stabilize.  So, the
development/collaboration model that I propose would is as follow:

1- Day to day development and maintenance of the user targeted VM code
   happens within the Harmony repository.  SableVM contributors must
   abide by Harmony rules to contribute to this so-called "SableVM
   trunk".

2- Research and development of trunk-breaking features by SableVM
   contributors continues within the SableVM repository, as not to
   pollute the Harmony svn with random code.  Contribution back to the
   SableVM trunk (within the Harmony svn) must happen under Harmony
   rules.

Of course, we are very open to other proposals.  I am quite excited
about this.  How about you?

Cheers,

Etienne

-- 
Etienne M. Gagnon, Ph.D.            http://www.info2.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/


Mime
View raw message