diff --git a/xdocs/developers.xml b/xdocs/developers.xml
index e0ff15558..b15ca6c49 100644
--- a/xdocs/developers.xml
+++ b/xdocs/developers.xml
@@ -14,11 +14,76 @@
case for other components. It is important that developers follow
guidelines laid down by the community to ensure that the code they create
can be successfully maintained by others.
+
+
+
+
+ Developers are asked to comply with the following development guidelines.
+ Code that does not comply with the guidelines including the word must
+ will not be committed. Our aim will be to fix all of the exceptions to the
+ "should" guidelines prior to a release.
-
-
- Still under development...!
-
+
+
+ Commons-math follows Code
+ Conventions for the Java Programming Language. As part of the maven
+ build process, style checking is performed using the checkStyle plugin,
+ using the properties specified in checkStyle.properties
.
+ Committed code should generate no checkStyle errors.
+
+
+
+
+ -
+ Committed code must include full javadoc.
+ -
+ All component contracts must be fully specified in the javadoc class,
+ interface or method comments, including specification of acceptable ranges
+ of values, exceptions or special return values.
+ -
+ References to definitions for all mathematical
+ terms used in component documentation must be provided, preferably
+ as HTML links.
+ -
+ Implementations should use standard algorithms and
+ references to algorithm descriptions should be provided,
+ preferably as HTML links.
+
+
+
+
+ -
+ Committed code must include unit tests.
+ -
+ Unit tests should provide full path coverage.
+ -
+ Unit tests should verify all boundary conditions specified in
+ interface contracts, including verification that exceptions are thrown or
+ special values (e.g. Double.NaN, Double.Infinity) are returned as
+ expected.
+
+
+
+
+ -
+ All new source file submissions must include the Apache Software
+ License in a comment that begins the file
+ -
+ All contributions must comply with the terms of the
+
+ Apache Contributor License Agreement (CLA)
+ -
+ Patches must be accompanied by a clear reference to a "source"
+ - if code has been "ported" from another language, clearly state the
+ source of the original implementation. If the "expression" of a given
+ algorithm is derivative, please note the original source (textbook,
+ paper, etc.).
+ -
+ References to source materials covered by restrictive proprietary
+ licenses should be avoided.
+
+
+
Here is a list of relevant materials. Much of the discussion surrounding