doc/contributing.txt
changeset 635 71b92dfe5f55
child 657 be551a3b07c6
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc/contributing.txt	Thu May 17 11:32:22 2007 +0200
     1.3 @@ -0,0 +1,53 @@
     1.4 +
     1.5 +Contributing to the ns-3 project
     1.6 +--------------------------------
     1.7 +
     1.8 +Despite the lack of a formal contribution process to the ns-3
     1.9 +project, there are a number of steps which we expect every
    1.10 +potential contributor to follow. These naturally stem from 
    1.11 +the open-source roots of the project:
    1.12 +
    1.13 +  - first, you should subscribe to the ns-developers 
    1.14 +    mailing-list (see http://www.nsnam.org/mailing_lists.html)
    1.15 +
    1.16 +  - then, you should send an email there stating your interest
    1.17 +    in working on a specific part of the models and trying
    1.18 +    to explain how you would like to implement it, what 
    1.19 +    resources you have, etc.
    1.20 +
    1.21 +  - you should be prepared to work together with the other
    1.22 +    potential contributors who want to work on the same models.
    1.23 +
    1.24 +  - you should be prepared to go through code reviews with the
    1.25 +    ns-3 development team prior to integration. The goal of these
    1.26 +    code reviews is to:
    1.27 +      - ensure adherence to the coding style of the project
    1.28 +        (see doc/codingstyle.html)
    1.29 +      - ensure that the structure of your code has a certain 
    1.30 +        coherence with regard to the rest of the ns-3 codebase
    1.31 +      - improve the quality of the code: we strongly believe in
    1.32 +        the old saying: "many eyes make all bugs shallow".
    1.33 +      - increase code reuse by trying to generalize certain 
    1.34 +        useful pieces of your code to make them available to
    1.35 +        other models.
    1.36 +
    1.37 +  - you should be prepared to try to integrate as many tests
    1.38 +    in the codebase as possible: we understand that writing
    1.39 +    tests is not sexy and that not everyone is convinced that
    1.40 +    they improve the code-writing poductivity which is why
    1.41 +    we do not enforce strict rules about testing. However,
    1.42 +    we expect model authors to answer basic questions about
    1.43 +    how they plan to test and validate their models.
    1.44 +
    1.45 +  - you should be prepared to maintain your model once it is
    1.46 +    integrated: while we consider every bug filed against the 
    1.47 +    simulator as being a bug we must deal with and while we 
    1.48 +    will try to fix as many bugs as humanly possible, we
    1.49 +    also expect model authors to act as responsible maintainers
    1.50 +    and be reactive to bug reports concerning their models.
    1.51 +
    1.52 +  - you should make sure that you understand that contributed
    1.53 +    models should be licensed under the GPLv2. You do not have
    1.54 +    to assign your copyright to the ns-3 project but you must
    1.55 +    accept the terms of the GPLv2. See the following link:
    1.56 +    http://www.fsf.org/licensing/licenses/info/GPLv2.html