author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Sat, 04 Jul 2009 08:15:48 +0200 | |
changeset 4654 | 2eaebe77d66b |
parent 657 | be551a3b07c6 |
permissions | -rw-r--r-- |
635
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
Contributing to the ns-3 project |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
2 |
-------------------------------- |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
3 |
|
657
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
4 |
ns-3 is an open source project backed by an NSF CISE CRI grant. |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
5 |
Although the NSF PIs have specific aims to fulfill, we want others to |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
6 |
contribute, and we'd like to have a broad community of users and |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
7 |
developers, with the goal of a self-sustaining project downstream. |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
8 |
The project is currently in a bootstrapping phase, but we welcome |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
9 |
ambitious developers who might want to help shape the early design. |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
10 |
|
635
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
Despite the lack of a formal contribution process to the ns-3 |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
12 |
project, there are a number of steps which we expect every |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
potential contributor to follow. These naturally stem from |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
14 |
the open-source roots of the project: |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
15 |
|
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
16 |
- first, you should subscribe to the ns-developers |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
17 |
mailing-list (see http://www.nsnam.org/mailing_lists.html) |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
|
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
- then, you should send an email there stating your interest |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
20 |
in working on a specific part of the models and trying |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
21 |
to explain how you would like to implement it, what |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
22 |
resources you have, etc. |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
23 |
|
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
24 |
- you should be prepared to work together with the other |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
25 |
potential contributors who want to work on the same models. |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
26 |
|
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
27 |
- you should be prepared to go through code reviews with the |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
28 |
ns-3 development team prior to integration. The goal of these |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
29 |
code reviews is to: |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
30 |
- ensure adherence to the coding style of the project |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
31 |
(see doc/codingstyle.html) |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
32 |
- ensure that the structure of your code has a certain |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
33 |
coherence with regard to the rest of the ns-3 codebase |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
34 |
- improve the quality of the code: we strongly believe in |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
35 |
the old saying: "many eyes make all bugs shallow". |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
36 |
- increase code reuse by trying to generalize certain |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
37 |
useful pieces of your code to make them available to |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
38 |
other models. |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
39 |
|
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
40 |
- you should be prepared to try to integrate as many tests |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
41 |
in the codebase as possible: we understand that writing |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
42 |
tests is not sexy and that not everyone is convinced that |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
43 |
they improve the code-writing poductivity which is why |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
44 |
we do not enforce strict rules about testing. However, |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
45 |
we expect model authors to answer basic questions about |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
46 |
how they plan to test and validate their models. |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
47 |
|
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
48 |
- you should be prepared to maintain your model once it is |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
49 |
integrated: while we consider every bug filed against the |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
50 |
simulator as being a bug we must deal with and while we |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
51 |
will try to fix as many bugs as humanly possible, we |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
52 |
also expect model authors to act as responsible maintainers |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
53 |
and be reactive to bug reports concerning their models. |
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
54 |
|
657
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
55 |
- The project has decided upon GNU GPLv2 as the licensing structure. |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
56 |
All simulation software in the ns-3 repositories will be GNU GPLv2 |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
57 |
or GNU GPLv2-compatible (with non-GPLv2 licensing reserved for |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
58 |
ports of pre-existing code under a different license, such as BSD). |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
59 |
You do not have to assign your copyright to the ns-3 project but |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
60 |
you must accept the terms of the GPLv2 and attest that your |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
61 |
contributions can be licensed under those terms. See the |
be551a3b07c6
minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents:
635
diff
changeset
|
62 |
following link: |
635
71b92dfe5f55
write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
63 |
http://www.fsf.org/licensing/licenses/info/GPLv2.html |