[AstroPy] Proliferating py-astro-libs

Stefan Czesla stefan.czesla at hs.uni-hamburg.de
Wed Jun 15 17:23:58 EDT 2011


as we have been talking about leadership structure, moderators,
dictators, and the role of the community, the Boost libraries
came into my mind, and I think that we can learn something from
their experiences.

For those who are not familiar with them:
Boost is a collection of advanced, high quality c++ libraries.
For a new library to be accepted into Boost, the library has
to pass a peer review process. Every reviewer is asked to
comment on the following questions:

   - What is your evaluation of the design?
   - What is your evaluation of the implementation?
   - What is your evaluation of the documentation?
   - What is your evaluation of the potential usefulness of XXX?
   - Did you try to use it?  With what compiler?  Did you have any problems?
   - How much effort did you put into your evaluation? A glance? A
     quick reading? In-depth study?
   - Are you knowledgeable about the problem domain?

   - Do you think that XXX should be accepted into Boost?
     Be sure to say this explicitly so that your other comments don't
     obscure your overall opinion.

Whether the library is accepted or rejected and what adaptations have still to
be made is a result of the review process.

Recently, Boost announced the formation of a ``steering committee'', which takes
responsibility of ``executive decision making'' to reach a higher effectiveness
in making major decisions (for those interested, have a look at this:
it is worth it.)

It is clear that we have no figure such as Guido or Linus among us,
who obtained the authority to lead the project through brilliant work *and*
by creating it. Therefore, I fear that every group or individual will have
a hard time to gather a horde of self-confident developers behind ideas they
do not support 100%.

I like the idea of a slightly formal review process like in Boost (not necessarily only of
libraries, I do not anticipate any definite structure of what is to be created here),
because it leaves the major responsibility to the (participating part of) the community and
lets the ``moderator'' only carry out a majority decision, which is a very good
legitimization. Evaluating a list discussion may be much more subjective and
controversial, which leaves a lot more room for trouble. This would also ensure
that certain standards, e.g., of code and documentation quality can be met. I see, however,
that such a formalism may hamper community participation, because many may feel
intimidated or simply incapable of contributing at that level. So -- I am only fantasizing
now, because little has been settled so far -- if there were such a library review
process, then participating in accepted libraries should be as simple as possible.
There may also be ``unstable'' branches were people can try out things.

Whatever the details, I believe that some inspiration from Boost and, in particular,
a slightly formal, transparent decision making mechanism could help a lot in uniting
developers behind decisions.


More information about the AstroPy mailing list