An alternative to
feature voting. Rather than having the default to exclude all features and all user contributions, the model is to have the CVS tree open to all comers (ala Wiki) on a specific branch, and then allow developers to use their common sense as to which features they need. Such a branch can be chaotic and by definition will include things that the original developer views as unnecessary or bloat.
Releases get formed by snapshotting that branch periodically and by pruning out features not deemed not suitable for a release. Such a process forms a feature veto for standard releases (eg no
CPAN in the core code, etc).
Feature veto can either be democratic based on
feature voting or other means. Releases tend to be done by individuals and such feature vetos are generally a high burden. If a large enough section of the community finds a feature irksome it's removal from the wiki branch is likely forcing the unpopular feature into a separate tree in the same CVS repository. (If this ends up in a single file maintainence can be simple)
Feature veto is a process designed to work with the general process principle of
better to ask forgiveness, than
better to seek denial.
--
MS - 03 Feb 2004