UmbrellaProjects - coin-or-foundation/tlc GitHub Wiki
Procedure for Maintenance of Umbrella Projects
Definition
An umbrella project is a project that consists of (i) a base repository containing a specified standard, and (ii) a number of "subprojects" that conform to the standard. Examples of umbrella projects in the current COIN-OR repository are the CGL and the OSI. Umbrella projects require special maintenance procedures because each subproject may have its own manager, referred to as the Subproject Manager (SM).
Maintaining the Umbrella Project
Umbrella projects will be actively managed by a single Project Manager (PM) (or possibly by multiple co-PMs), as with any other project. The PM will have the following duties with respect to the umbrella project:
- Setting technical specifications, such as the API for a given base class and the expected behavior of the derived class objects (that comprise the sub-projects),
- Ensuring that subprojects comply with the aforementioned specifications, and
- Deciding whether newly contributed subprojects meet technical specifications and should be accepted into the repository. The PM will have write access to the project's entire directory hierarchy, including the subdirectories containing the subprojects and will have the right to modify and/or remove any subproject in the case of non-compliance with specifications.
Maintaining the Subprojects
The subprojects will generally be maintained by SMs, who will be responsible for ensuring that their subproject remains compliant with the specifications determined by the PM. The SM will have write access only to the subdirectory containing their subproject and will utilize the resources of the umbrella project (e.g., the umbrella project's Trac page and mailing list) for maintenance of their subproject. For all other purposes, the SMs will have all the rights and responsibilities of a PM, including automatic full membership in the COIN-OR Foundation and membership on the project manager's mailing list.
Acceptance Process for New Subprojects
The acceptance procedure for subprojects will be the same as the acceptance procedure for new projects with the following alterations:
- The process will be supervised by and the final decision rendered by the PM of the umbrella project.
- Subproject contributions must conform to the documented specifications/standard of the umbrella project.
- Subprojects should have the same license as the umbrella project. Exceptions will be considered at the discretion of the PM.
- In handling a new subproject contribution, the umbrella PM follows the steps in the new project contribution process, except that
- Subprojects are not given stand-alone Trac pages (they must share the resources of the umbrella project),
- Subprojects use the mailing list of the umbrella project, and
- Subprojects are not required to have INSTALL files (at the discretion of the PM, there may only be one INSTALL file for the entire umbrella project). Except for the above exemptions, subprojects should comply with all other technical requirements for a regular project. Requirements for legal paperwork will be determined by the Strategic Leadership Board in a separate policy statement.
Archived Comments
For comments on and discussion of this proposal, please see UmbrellaProjectsComments