deegree Committer Guidelines
((Last modified: 2010-05-06 ))
To formalize SVN commit access, and specify some guidelines for SVN committers.
2. Election to SVN Commit Access
Only deegree Project Developers have full commit access. Permission for SVN commit access shall be provided to new developers only if accepted by the deegree Project Steering Committee. A proposal should be written to the PSC for new committers and voted on normally. Sending the proposal to deegree-devel or psc is sufficient.
Removal of SVN commit access should be handled by the same process.
The new Project Developer (committer) should have demonstrated commitment to deegree and knowledge of the deegree source code and processes to the committee's satisfaction, usually by reporting bugs, submitting patches, and/or actively participating in the deegree mailing list(s).
The new committer should also be prepared to support any new feature or changes that he/she commits to the deegree source tree in future releases, or to find someone to which to delegate responsibility for them if he/she stops being available to support the portions of code that he/she is responsible for.
All committers should also be a member of the deegree-devel mailing list so they can stay informed on policies, technical developments and release preparation.
New committers are responsible for having read, and understood this document.
3. Committer tracking
All deegree committers/project developers are listed at: http://wald.intevation.org/project/memberlist.php?group_id=27. A list of committers who accepted the above guidelines is being kept at RegisteredCommitters.
4. SVN administrator
One member of the Project Steering Committee will be designed the SVN Administrator. That person will be responsible for giving SVN commit access to folks, updating the COMMITTERS file, and other SVN related management. That person will need login access on the SVN server of course.
5. SVN commit practices
For a start: some info on setting up your development environment with deegree might be found on the Eclipse pages.
The technical details for acquiring SVN commit access are described in HowToGetCommitAccessToSVN.
Provide appropriate copyright information in the header, see HowToAddCopyrightHeaders.
- Use meaningful descriptions for SVN commit log entries.
- Add a bug reference like "(bug 1232)" at the end of SVN commit log entries when committing changes related to a bug in the deegree bug tracker.
- Changes should not be committed in stable branches without a corresponding bug id. Any change worth pushing into the stable version is worth a bug entry.
- Never commit new features to a stable branch without permission of the PM or release manager. Normally only fixes should go into stable branches. New features go in the main development trunk.
- Only bug fixes should be committed to the code during pre-release code freeze, without permission from the PM or release manager.
- Significant changes to the main development version should be discussed on the deegree-dev list before you make them, and larger changes will require a RFC approved by the PSC.
- Do not create new branches without the approval of the PM. Release managers are assumed to have permission to create a branch.
- All source code in SVN should be in Unix text format as opposed to DOS text mode.
- When committing new features or significant changes to existing source code, the committer should take reasonable measures to ensure that the source code continues to build and work on the most commonly supported platforms (currently Linux and Windows), either by testing on those platforms directly, running buildbot tests, or by getting help from other developers working on those platforms. If new files or library dependencies are added, then the build.xml, build-test.xml, build.properties and related documentations should be kept up to date.
Committers are the front line gatekeepers to keep the code base clear of improperly contributed code. It is important to the deegree users, developers and the OSGeo foundation to avoid contributing any code to the project without it being clearly licensed under the project license.
Generally speaking the key issues are that those providing code to be included in the repository understand that the code will be released under the LGPL license, and that the person providing the code has the right to contribute the code. For the committer themselves understanding about the license is hopefully clear. For other contributors, the commiter should verify the understanding unless the committer is very comfortable that the contributor understands the license (for instance frequent contributors).
The formulation of these guidelines is done as part of the OSGeo incubation process. We (the PSC) think this is a good opportunity to get deegree's processes more transparent and formalised. The guidelines above are to a high degree copied from http://trac.osgeo.org/gdal/wiki/rfc3_commiters, our thanks go to Frank Warmerdam.