author Mathieu Lacage <>
Thu, 17 May 2007 11:32:22 +0200
changeset 635 71b92dfe5f55
child 657 be551a3b07c6
permissions -rw-r--r--
write README, contributing.txt, reorganize the other documentation files
     2 Contributing to the ns-3 project
     3 --------------------------------
     5 Despite the lack of a formal contribution process to the ns-3
     6 project, there are a number of steps which we expect every
     7 potential contributor to follow. These naturally stem from 
     8 the open-source roots of the project:
    10   - first, you should subscribe to the ns-developers 
    11     mailing-list (see
    13   - then, you should send an email there stating your interest
    14     in working on a specific part of the models and trying
    15     to explain how you would like to implement it, what 
    16     resources you have, etc.
    18   - you should be prepared to work together with the other
    19     potential contributors who want to work on the same models.
    21   - you should be prepared to go through code reviews with the
    22     ns-3 development team prior to integration. The goal of these
    23     code reviews is to:
    24       - ensure adherence to the coding style of the project
    25         (see doc/codingstyle.html)
    26       - ensure that the structure of your code has a certain 
    27         coherence with regard to the rest of the ns-3 codebase
    28       - improve the quality of the code: we strongly believe in
    29         the old saying: "many eyes make all bugs shallow".
    30       - increase code reuse by trying to generalize certain 
    31         useful pieces of your code to make them available to
    32         other models.
    34   - you should be prepared to try to integrate as many tests
    35     in the codebase as possible: we understand that writing
    36     tests is not sexy and that not everyone is convinced that
    37     they improve the code-writing poductivity which is why
    38     we do not enforce strict rules about testing. However,
    39     we expect model authors to answer basic questions about
    40     how they plan to test and validate their models.
    42   - you should be prepared to maintain your model once it is
    43     integrated: while we consider every bug filed against the 
    44     simulator as being a bug we must deal with and while we 
    45     will try to fix as many bugs as humanly possible, we
    46     also expect model authors to act as responsible maintainers
    47     and be reactive to bug reports concerning their models.
    49   - you should make sure that you understand that contributed
    50     models should be licensed under the GPLv2. You do not have
    51     to assign your copyright to the ns-3 project but you must
    52     accept the terms of the GPLv2. See the following link: