developer policies | |
Definitions
- code - all Nutch software and documentation.
- committer - a member of the small group who may directly make
changes to the code.
- contributor - someone who contributes code to Nutch indirectly
via a committer.
- developer - committers and contributors
- license - the license in LICENSE.txt.
- organization - the copyright owner of Nutch code.
Decision Process
All Nutch decisions are made by a simple majority vote of all
committers. Votes are made by email on the dev@nutch.org
mailing list.
In general, Nutch operates by having just a handful of committers who
trust one another. Thus most changes by committers may be made
unilaterally without explicit authorization.
In particular:
- The decision process itself may be changed by a simple majority
vote.
- Committers are added and removed by a simple majority vote of
existing committers.
- Disputes about code changes are resolved by a simple majority of
committers.
Change Process
Committers should always perform a clean recompilation against the
latest version of the sources. Compilation should succedd without
warnings. Javadoc should always build without warnings. All
unit tests must complete successfuly before code is committed.
In other words, the following steps must be performed prior to each cvs
commit:
cvs update -d ant clean test javadoc
We also have an automated nightly build process which
sends email to the developer list if any of these fail.
Contributions
Nutch welcomes contributions from non-committers.
Contributions must:
- be submitted by email to the mailing list dev@nutch.org, or attached to a bug
report
- be in patch-file format, as generated by 'cvs diff -Nu'
- conform to the coding conventions of the project.
- use the license.
- assign copyright to the organization.
Coding Conventions
Java code should conform to the contentions described in:
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
All Java code modules should be accompanied by JUnit tests.
Every public or protected class, method and field must have an
informative Javadoc comment.
|