harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <m...@leosimons.com>
Subject How this community works
Date Sat, 14 May 2005 08:25:02 GMT
Who's in charge? What is the plan? Use classpath? Want donations? Want
something else? Is there code yet? Got questions like those? Read this.
Might want to take your time, its long :-)

Harmony is currently a proposal [1] before the Apache Incubator PMC [2]; a
vote [3] is in progress. Somewhere next week (in all likelyhood), it will
turn out that the proposal has been accepted.

A PPMC [4] will then be formed that consists of the people in the original
proposal. This PPMC is responsible for taking Harmony through the incubation
process and for making sure that Harmony is steadily growing to become a
true apache project, developed using the "apache way", etc. They will be
"voting in" new people on their own. There is a private mailing list for the
PPMC. The people on the Incubator PMC and the people listed as mentors will
be helping the PPMC, and will be on that mailing list.

These people will interface with the apache infrastructure team and with
some incubator volunteers to get things like SVN, a website and an issue
tracker set up. It will take a few weeks for all that to happen. So far,
we've set up mailing lists [5] and a wiki [6].

There is currently no code, no design documentation, no architectural
decisions already made, no development roadmap. It hasn't yet been decided
whether Harmony will reuse GNU Classpath. It hasn't yet been decided what
the implementation language will be. It hasn't been decided to reuse
existing VM code. No existing implementation has been donated to Apache for
use or incorporation into Harmony. No arrangements have been made with Sun
regarding a TCK.

All code decisions and all design decisions (C or java, JIT or something
else, make or ant for buildsystem) will be made right here, on this list
(not on IRC, not in private conversation, not in face to face meetings).

Some other decisions (for example, whether the GNU Classpath license
acceptable for ASF projects in its current form) will not happen here but
elsewhere within the ASF, of course together with appropriate parties
involved (continuing the example, the ASF and FSF frequently communicate
about licensing stuff on several mailing lists, via teleconference,
face-to-face, etc).

Apache has a distinction between "contributor" and "committer". Committers
are those people with commit access to the source repository, contributors
are the people that submit patches. Committers are often also on the PPMC,
and usually the most active people on that PPMC. They vote (+1/-1/0) on code
decisions and design decisions that require a vote. Committers are required
to sign a CLA [7] and often a CCLA [8] is required from their employer. For
substantial contributions we often ask non-committers to sign those as well.
Both contributor and committer can be called "developer". There's more to it
than that [9], but that's the basics.

There are two requirements placed on all developers. The first is that the
decisions made correspond with the overall goal of the project and with the
various apache rules, regulations, policies, etc. The second is that the
decisions are made roughly using the consensus-based meritocratic process
seen in all apache projects [10].

That means that (for example) I won't be part of deciding what language a
compiler should be written in, since I won't be part of writing that
compiler. These decisions will be made by all developers, together. Someone
might propose some kind of architectural plan that gains traction, someone
might just write a beautiful bit of code and get everyone to love it.

You may have glossed over the bit about "apache rules, regulations,
policies, etc. There's actually a lot of those (trust me, we've got 'em for
a reason), and it takes time to get used to them. There's also the
likelyhood that Harmony is going to be excepted from one or two of those
regular rules and/or habits (for example, we might need to sign
confidentiality agreements to get access to the TCK). Figuring out when and
where that'll happen is still in progress (you may have seen Greg Stein's
message the other day, there's a lot more e-mails involved in other channels
like the apache board mailing list), and that will take some time.

Similarly, it'll take some time for "dust to settle" (you guys certainly are
generating a lot of e-mail!). Since this is a big project with a lot of
interested people (many not so familiar with the way we tend to do things),
it take a little longer for the dust to settle, even longer since we have
nothing concrete to look at or get to work on. That's intentional. We
could've layed down an elaborate plan for how to do all this and create a
few hundred issues in some issue tracker for people to get to work on, but
instead we're just getting started in this dialogue. Let's figure out
together what the "harmony way" is.

I'm writing this message as one of harmony's "mentors" (we've got several
[11]). Basically these mentor people are "old farts" (I'm not so old at all
:-) at Apache who will be writing e-mails like this until they're no longer
necessary. When that time comes, the PPMC (which will likely contain quite a
few more and different people) will be anxious to transform into a PMC [12],
harmony will "graduate" out of the incubator and stand on its own as an
apache top-level project. Expect that to happen no less than a year from
now. It might even take much longer than that.

If you want to understand more about this process, I encourage you to check
out some of the references given. In general, it might make sense to take an
afternoon off and read through


To get an impression of what this process actually tends to look like in
practice (many rules turn out to be outdated rough guidelines, if a rule
doesn't make sense we change it, if some rules aren't followed it don't
matter), you might want to skim through the early archives for geronimo, our
in-development J2EE server which also went through incubation:


As well as the general mailing list dedicated to the incubator:


Where you can see that all the "process" and "procedure" is constantly
in-development, just like our software. And, just like with our software,
documentation is always a little out-of-date. Or, you could not bother with
looking at any of that and just see what happens :-)



[1] -- 
[2] -- 
[3] -- 
[4] -- http://wiki.apache.org/incubator/PpmcProposal
[5] -- harmony-dev@incubator.apache.org
[6] -- http://wiki.apache.org/harmony/
[7] -- http://www.apache.org/licenses/icla.txt
[8] -- http://www.apache.org/licenses/cla-corporate.txt
[9] -- http://incubator.apache.org/
[10] -- http://www.apache.org/foundation/how-it-works.html
[11] -- see [1]
[12] -- http://www.apache.org/foundation/how-it-works.html#structure

View raw message