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