New features are a natural part of the software life-cycle, but they bring with it a greater product surface area to document and support, as well as more technical issues which could detract from other developer activities. For this reason, the httpd project as a whole has a vested interest in avoiding the inclusion of features which don't have adequate developer interest. This is especially true of the core Apache HTTP Server distribution, but extends also to sub-projects. Without adequate developer interest and oversight, the project cannot distribute and support the feature. Thus, features of a significant nature must be formally accepted.
Judging whether or not a feature is significant is inherently subjective, but for the purposes of efficient consideration the following criteria have been established. Any of the following is a new feature which must be formally accepted: * any new plugin module, aside from those created as a result of refactoring existing code in the server * any new separately executable programs intended for end users Acceptance of new features is generally a non-technical issue subject to voting similar to that a release: at least three project members must vote affirmatively for the feature, and there must be more positive than negative votes for the feature. Acceptance can be considered for inclusion in the core server distribution, an existing sub-project, or a new sub-project. Note: Moving an existing feature from a sub-project to the core server distribution is also subject to formal acceptance. A feature may also have technical concerns which must be addressed and are subject to a veto; vetoed technical issues must be resolved before inclusion, even if inclusion of the feature has been accepted. The decision to implement a feature as a new module or part of the core or existing modules is also a technical consideration. As such, a veto against including tangential features in the core server or existing modules could result in approval being required by virtue of the requirement to implement the feature as a separate module. Acceptance of new features is separate from any necessary IP clearance.
