At the moment, the Module Owners list is automatically generated from despot, our system for controlling access to the CVS repository we no longer use. Because editing despot is painful and only a few busy people have the necessary permissions, the list has had a tendency to get out of date, with "big bang" updates every few years when the pain of inaccuracy gets too great.
We need to strike a balance between easy updatability (vital if the list is to remain current) and reliability (i.e. it can't be corrupted by the unscrupulous or vandals). Other useful properties we are aiming for include:
- extensibility (ability to add new fields)
- machine-parseability (e.g. for stale review reminders)
The idea is that the list is maintained on a wiki, as a series of product-specific sub-pages, using templates - which gives us the updatability, extensibility and machine-parseability.
It can be edited by anyone with a wiki account. It uses two MediaWiki templates (Code_Module, Activities_Module) so that the markup in the editable copy is simply, understandable and hopefully machine-parseable. This also follows the principle of DRY.
The wiki watch mechanism is used to do a post-hoc review of changes. If bad changes are seen, they can be quickly reverted.