Repository Rules from the Technical Advisory Committee

posted Jul 20, 2015, 3:49 PM by Robert Scheller   [ updated Aug 25, 2015, 8:21 AM ]
Now that we have transitioned to GitHub, we are adding guidelines for the use of the various repositories under the The LANDIS-II Foundation GitHub page.  All people with commit access to any of these code repositories  (currently on GitHub) are expected to follow these rules or risk having their permissions revoked by the Technical Advisor Committee (Robert Scheller, Brian Sturtevant, Jonathan Thompson)

Contributor Guidelines

The Technical Advisor Committee (TAC), as established by The LANDIS-II Foundation, has instituted the following rules as of July 2015. 

1. For every extension (disturbance, output, and succession), there is a single party (an individual or a team of people like a lab or research group) who is responsible for its maintenance (including source code, installers, and documentation). This party is listed as the Contact (or 'Maintainer') on the extension web site.

2. Any proposed changes to an extension must be communicated to the Contact.

3. Any actual changes to the 'trunk' of the extension (including source code, installers, and documentation) must receive written prior approval by the Contact. Note: All committers can create code branches without approval.

4. The LANDIS-II core, and its associated libraries, documentation, and installers are maintained together; they are referred to collectively as the ‘Core Framework’. For the purpose of these guidelines, the TAC is the Maintainer of the Core Framework. Any changes to the Core Framework’s trunk requires the consent of the TAC. As with extensions, all committers can create code branches without approval.

5. For libraries that are not used by the Core Framework (‘extension libraries’, e.g., the Metadata library), their Maintainers are listed in the GitHub wiki. If a Maintainer is not listed, the TAC is the Maintainer. Any actual changes to the trunk of the library (including source code, installers, and documentation) must receive written prior approval by the Maintainer. The Maintainer is responsible for communicating any proposed changes to all developers who use the library.

6.  We encourage developers to release old (tagged) versions of extensions and current versions of libraries on GitHub.  However, current versions of extensions are only to be released via the official LANDIS-II web site.