Alex Karasulu wrote:
Hi all,
Hi! Comments are inlined..
Over the past few weeks I've been thinking of ways in which we can
increase the participation of existing committers while attracting new
committers in a safe manner.
Our Problems
============
The number of active committers on Apache Directory Server is
dwindling and we have many areas where a single developer has been
working alone.
Some email threads have tried to address the issue of the lack of enough
committers in specific areas: see threads [0] & [1]. So we are
suffering mostly in the following areas:
o OSGi effort,
o Kerberos protocol development,
o Changepw protocol development,
o DHCP protocol development, and
o DNS protocol development.
These are some cool features which makes ApacheDS ahead of standard LDAP
servers. We want to make ApacheDS a real most-in-one solution for
enterprise integration. We would really like to have more people (both
as developer and as user) interested in those services.
Even the work being done on the LDAP protocol has too few people
involved. Right now we have the following active LDAP committers:
Ersin Er
Emmanuel Lecharny
Stephan Zoerner
Alex Karasulu
Trustin Lee
Although the list seems to be relatively longer we need even more people
here :) Because we have a long list of todos especially related to
administrative aspects of the system. Also an architectural refactoring
is on the way.
(forgive me if I missed anyone)
We certainly need more people to be actively involved. I see many
talented individuals that have been lurking, sometimes getting involved
to work on particular problems as they get the itch. I'd like to
welcome these people and invite them to work on the core of the server
with us. Sometimes we're finding it hard to keep up with the
contributions from these folks. Some are very excited in working with
us and we often find our selves lacking the time to engage them.
As the PMC chair, I see these circumstances as warning signs. They
reflect a weakening community.
Possible Solutions
==================
Getting existing committers more involved and working on different parts
of the server is not so easy. Knowledge transfer is needed to get them
and even others involved in parts of the server they are not accustomed
to. For this I personally will start conducting some classes and
preparing materials for those interested in learning about the internals
of the server on some interactive medium. The materials for these
classes can also serve as a documentation update for our website so
others can follow these trails. It would be nice if other committers
can also give some tutorials in their respective areas of expertise.
I would like to help on this. I can help on subentries, the
administrative model in general, access control (Alex is the expert in
it), stored procedures and triggers.
While we have several todos on Jira currently, we may also specify some
"new feature" or "improvement" tasks which may each serve as a small
standalone (well, nothing is standalone here really) project for new
fellows. (A fresh synergy attempt.)
As for new committers, I think we need to lower the barrier for
committership while safely integrating these committers into our
committer base. One key need is to provide the proper guidance while
reviewing their activity. Up to now we've been getting several
contributions and many are just collecting up in JIRA. Sometimes we
need a place for these people to work on new ideas like in a sandbox
until they're ready to bring in their work into the main branches of
development. For this I propose a committer mentorship program while
lowering the barrier of entry for new committers.
The idea is to use a review then commit (RTC) process on main branches
of development for these new "probationary" committers (a.k.a.
probies). Commits to personal areas in the sandbox do not apply.
Hence any commit to main branches must be approved by a mentor. The
same rules apply for a veto. A mentor has the responsibility to
review the work of a probie in a timely fashion for this process to
work however the probie can file the JIRA, apply approved patches and
close it after the approval using their own steam. This way we reduce
the amount of work existing committers have to do on behalf of
consistent contributors. Also the person with the itch can drive the
change instead of being blocked waiting for a committer to get to
their JIRA issues reviewed then applied.
Such a program gives regular contributors more power to affect the
code base and creates a smoother path towards their becoming
committers thanks to a lower barrier.
Possible Drawbacks
==================
o Needs some upfront initiative.
o More process to deal with?
o Will probies feel like second class committers? Are there social
ramifications?
o Will this mean more work for existing committers?
o ... please add more here
We need to try and see.
Conclusions
===========
This idea is not exercised at the ASF in any project explicitly
however some elements of it appear in various communities. Usually
communities at the ASF especially trust new committers that somewhat
distrust themselves with code they are not familiar with. A good new
committer is someone who besides being consistent and active is
careful enough to presume they are not always right, especially with
changes to unfamiliar code. Culturally, elements of such a process
may unofficially be practiced at various projects within the ASF. The
problem with this approach is, the new committer is trusted yet
expected to engage others if they are unsure of themselves. This IMO
puts a lot on the shoulders of new committers.
Considering our less than optimal situation, WRT the number of
committers in this community, I think we need to formalize this
process to facilitate more involvement from the contributor community
at large. Consider it a precaution against an active committer
drought taken under extreme conditions. I would like to vote on
giving this process a try for a quarter to experiment and see how it
works.
Hopefully formalizing this process under these circumstances will pull
contributors on our periphery closer to the core team of active
committers leading to a healthier community.
Thoughts? Comments?
Thanks,
Alex
-----
[0] http://www.mail-archive.com/[email protected]/msg06255.html
[1] http://erudbery.notlong.com
--
Ersin