“Welcome to Excalibur!”

In June of 2004, I worked with a bunch of other open source java developers to set up Apache Excalibur from some assets of the slowly disintegrating Apache Avalon. It was my first time setting up a top-level project at apache and I learned a lot from that experience which I applied as a mentor at the Apache Incubator for a couple of years.

Welcome, community

I sent an e-mail:

Hi gang!

It all took a bit (way!) longer than expected, but bits and pieces of
our infrastructure are finally dropping in place. It'll be a while
before we've got everything running (in particular svn not working yet;
unix group contains just me; etc etc), but we now have a place to talk!

What I don't want to do yet is send out all these big announcements just
yet. Announcements are more sexy when they're not just "new project with
old code will Kick Ass(tm)". We're all exited, but there's no particular
reason for anyone else to be. Yet. What I would like to do is get some
idea of where you all want to go.

Who are you, where do you want to be tomorrow, and how does excalibur
fit in?


cheers,


- Leo

Welcome, PMC

And more e-mail:

Hi gang!

(This e-mail is primarily directed at the Excalibur PMC members, but
intentionally on a public mailing list because everything that doesn't
need to be secret will not be.)

Some of you have lots of experience around the ASF, others are shiny new
committers who still lack a unix account. This e-mail is to give you a
basic idea of what it means to be "on a PMC".

"Core group"
------------
First of, "Project Management Committee" is a ***bad*** name that has
stuck for historical reasons. The daily "management" of this project is
done by its committers, and the not-so-daily matters are often done in
co-operation with other teams at apache, like the board and the Incubator.

A much better name for "PMC" is "core group". Shame we're kinda stuck
with "PMC". O well.

We, the PMC, are, together, responsible for the success of the excalibur
project. As such, we are tasked with

"creation and maintenance of embeddable software libraries related to
component and service management"

all this based on, and in alignment with, the basic goals and principles
of the ASF. While most apache projects have a tendency to drift somewhat
from that designated task (for example, we have xmlutil under our wings,
which is hardly about service management), the part about "in alignment
with the basic goals and principles of the ASF" is something not to be
drifting away from.

Being responsible is not the same as doing things. If all is well, the
PMC doesn't do a whole lot at all. The people who do the work are the
committers and contributors.

Committers ~= PMC?
------------------
Most committers are also pmc members. This is on purpose. It makes us
"self-managing": the people doing the work are the people in charge.
Some committers are not pmc members.

If all is well, that is a temporary situation, where someone has just
been elected as a committer but still has some things to learn before
stepping on the PMC. In other cases, a committer may not have the desire
or ability to take on the responsibility that comes with being on a PMC.

Just like contributors can get invited to become a committer, committers
can get invited to become a pmc member.

pmc@excalibur.apache.org
------------------------
The PMC has a private mailing list to discuss sensitive issues. If all
is well, there are no sensitive issues, and there are just about 0
messages exchanged on that list at all.

Note that the pmc list is not actually restricted to just the PMC: board
members and ASF members may hang out there as well (and often do), to
offer useful advice.

All non-sensitive issues that the PMC deals with are not dealt with on
the PMC list, but on this one. This message is one example. Some things
that are dealt with in public include discussion about project progress
and policy, votes on project releases, etc. Things that are dealt with
privately include code security problems, some legal stuff, and
discussions and votes about people (like election of new committers, pmc
members, and the pmc chair).

Even people who are not on the PMC, can (and do) still send e-mail to
the pmc list if there's a sensitive issue related to excalibur they wish
to discuss.

Learning the ropes
------------------
There's a lot to learn about the way the ASF works; I've been learning
my way around for a few years and I still get lost sometimes. Take a
look at Stefano's whitepaper someday:

Click to access AC2003-ASF.pdf

in the meantime, just remember to tread lightly if you're unsure where you're going, and to ask lots of questions... Cool! ----- Being on the Excalibur PMC is a cool thing! You're taking on real responsibility for a big project at The Apache Software Foundation. You're part of the "people in charge" now. This means, among other things, that the ASF thinks you capable of project management (and trusts you to not act like you're in charge at all!). Don't dissapoint em 😀 cheers, - LSD

Procedures and policies

And even more e-mail:

Hi gang!

We do need /some/ procedures and policies I'm afraid. For example, the
PMC must endorse (by voting) all project releases. Coding standards are
another one of those.

I don't feel very much like re-inventing the wheel or spending much time
on all of this. I propose that we incorporate the procedures followed by
avalon, by reference, in particular, that's

http://avalon.apache.org/community/process/pmc-votes.html
http://avalon.apache.org/community/process/code-standards.html
http://wiki.apache.org/avalon/AvalonMailingListEttiquette
http://wiki.apache.org/avalon/AvalonDistributionLayout
http://wiki.apache.org/avalon/AvalonReleaseManagerHowto

to the maximum extent possible (ie the actual distribution layout is of
course different). We can change things as they itch. Where bits of
procedure and policy are not specified by avalon docs, refer to the
process as written down on the jakarta site:

http://jakarta.apache.org/site/getinvolved.html

those of you who've been active on the avalon pmc should have no
problems applying all of this. Those of you who are new to the role, you
really don't need to go and read all of that right now. Just go with the
flow and ask questions. The basic summary is as follows:

* don't smack each other on the head (or not too hard), behave like a
responsible adult, use common sense, etc
* +1/+/-0/-1 mean what you expect of 'em
* releases are a big deal and need to be voted on
* ASF is strict about licensing/IP/etc stuff and there's rules to
follow and people to speak to (like the apache incubator)
* a -1 is a veto unless specified otherwise or the vote is among the
PMC (the PMC doesn't have vetoes)
* vetoes suck and arise from a failure to communicate
* by ASF bylaws, the PMC chair (currently that's me) is always right,
if he/she wants to be, and can overrule or simply ignore any decision
made by the committers or pmc
* basically more common sense stuff

I also recommend people who go and read the above docs to also take a
look at the codehaus manifesto, which is brief and blunt:

http://www.codehaus.org/Manifesto

not that it applies here (this is not the codehaus after all), but it
does provide some contrast with the "ASF process" as hammered down in
all the policy documentation.

Finally, everyone who's an asf committer, esp. pmc members, needs to be
familiar with the ASF bylaws:

http://www.apache.org/foundation/bylaws.html

this is a binding legal document (unlike all the other stuff referenced
above). We shall adhere to it.

comments?

cheers,

- Leo

Archiving

I like to look at my archives to see how my style has changed over the years. It’s nice to see the Apache mail archives for excalibur are still complete, online, and searchable.

About a year ago I converted the old Avalon and Excalibur source code from SVN to Git and archived it on github: