#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

This document summarizes the development process of Commons RNG:

1. The "master" branch collects all modifications that will be part
   of the next release.
   Usually, non trivial changes should not be committed directly to the "master"
   branch; they should be merged from a branch specifically created for
   that purpose (see next point).
2. Work on an identified issue (bug fix or new feature) must be done in a
   new branch named after its corresponding report in the bug-tracking
   system (JIRA), e.g. "feature-RNG-123".
   After completion, and in the absence of technical objections, the feature
   branch is merged into the "master" branch, using the "--no-ff" git
   option.
   That feature branch is then deleted.


Please note that a contribution that consists in the implementation of a
"reference" generator, i.e. an algorithm described in a scientific paper
or code published by a trusted party (e.g. an expert in the field, or the
standard library of another programming language) will only be accepted
if it comes with
 1. a unit test where the output (say, a few hundred numbers) of "Commons RNG"
    is compared against another implementation,
 2. the outputs of the "RandomStressTester" (Java source is in module
    "commons-rng-examples"), piping from the "Dieharder", "TU01/BigCrush" and
    "PractRand" stress test suites (these software must be installed separately;
    the C source of a simple interface to the "TU01" library is in module
    "commons-rng-examples").
