Proposal for clearer maintainership information
Here's a proposal to make it clearer and easier to find out and maintain the information
- who wrote module/theme/engine/translation/whatever XYZ?
- and even more important: who currently maintains it?
It seems to be happening a lot lately that a developer/user wants to know who wrote or maintains a certain module (or theme etc.), but has trouble finding this information.
I myself have been twice confused to be the maintainer of a module (which I'm not) in the past few days. Also I had problems finding and contacting the maintainer of a module I wanted to ask something.
So here's my proposal to improve the situation a bit:
We should enforce (in the coding standards) that every module, theme etc. must have a file AUTHORS.txt. This file must be in a certain format to allow automated parsing and analyzation.
Here's an example for an AUTHORS.txt file:
Authors<br>-------<br>Author: John Doe <john.doe@example.com><br>Author: Jane Doe <jane.doe@example.com><br>Maintainer: Mike Doe <mike.doe@example.com><br>Maintainer: James Doe <james.doe@example.com><br>Contributor: Henry Doe <henry.doe@example.com><br>Contributor: Anna Doe <anna.doe@example.com><br>Contributor: Marcus Doe <marcus.doe@example.com><br>Translator: Peter Doe <peter.doe@example.com>
As you can see, each field can occur multiple times (you can have multiple authors, there can be more than one maintainer of a module, and you almost always have several contributors per module).
I talked to Dries (via Email) and he said he wants to extend the project module to help communicate who maintains what. Using the information from the CVS AUTHORS.txt file, this could be automated to always show the current maintainers, authors, contributors and translators for a module.
But this file is also useful outside of the project module, e.g. it's included in the foo-4.5.tar.gz tarballs and thus every user who downloads modules can easily check in one well-known place who maintains the module.
You could also imagine other funky things one could do with some perl scripting or using grep et. al. For example if I wanted to know which modules were written by developer XYZ, I could do a
grep -r "^Author: John Doe" *
in the contrib CVS repository.
You could also easily parse the email address of the author, so you can contact him/her.
I'm open for any suggestions/comments/brainstorming, or to quote Dries:
Either way, you are welcome to start a thread on drupal.org to discuss
this further. Brainstorming is good because we'd love to know how to
improve our current (project) infrastructure to facilitate communication
and collaborative development.
Uwe.