ns-3 is an open source project and relies on contributions from the broad community of users and researchers. If you are using ns-3, please consider to give back something to the project in one of the many ways listed below.
There are many possible ways to contribute to the project:
Development discussions occur on the ns-developers mailing list:
Discussions about using ns-3 occur on the ns-3-users Google group: Join | Archives If someone asks questions you can help with, please reply on the list.
We use a Bugzilla database for tracking bugs, patches, feature requests, and tasks. Changes to the database are logged to the ns-bugs mailing list.
There are two primary ways to log bug reports, patches, or feature requests:
If you think you've found a bug and want to report it, please do the following three things first:
Fixing bugs is even more preferred than reporting them. This is typically done by uploading a patch on an existing bug, or filing a bug and immediately filing a patch on it. If you are not familiar with how to prepare patch files, please read this first. You should find the "Create a New Attachment" choice when editing the bug, allowing you to upload a patch. Alternatively, you could provide a URL to a patch in the "Description" field.
Note that providing a simple, reduced test case that reliably reproduces the bug is often requested by the maintainers, so please try to craft such a test case and upload it to the tracker.
The project maintains a wiki for items such as FAQs, troubleshooting, related projects, design suggestions, and suggested projects. Users often turn to wikis for troubleshooting help and tips. If you figure out some non-obvious solution to a problem with ns-3, consider to enter something on the wiki to help others later.
Please also browse the contributed code and papers pages, and keep this in mind when you come across things that might be of interest to the ns-3 community.
Several people have provided helpful tutorials for ns-3 in the past; if you start such a tutorial for ns-3, we can link to it from our tutorial page.
We ask for your help in maintaining our project documentation if you find something wrong or outdated. Please contribute a patch or let the documentation maintainers know. Please also consider to contribute documentation that you may write about ns-3 models (e.g. if a chapter in your thesis has a detailed description of an ns-3 model). Our tutorial and manual source is kept in the doc/ directory of the main tree.
Many people use ns for their research and then would like to contribute their extensions to the project. Some of these extensions are incorporated into the main distribution, and some are maintained or archived as third-party contributed code. While both The practice of contributing code has made ns-2 very successful and we want to facilitate that as much as possible.
Please read our code submissions page for options and instructions on submitting code to ns-3.
The project is maintaining a wiki page for suggested projects for interested researchers or students to undertake.
If you would like to maintain some part of the simulator (e.g., Windows build, tutorial, wiki, a particular protocol, etc.), please contact someone on the development team.