BETA ยท UC OSPO ยท Open Source
Contribute. NSB is developed in the open at INRG, UC Santa Cruz. We welcome contributors across code, documentation and simulator integrations. BSD 3-Clause licensed.
PICK A PATH
Three ways to contribute Code Contributions
Improve the C++ daemon, expand the Python or C++ client libraries, add support for new simulators, or tackle items from the RabbitMQ enhancement roadmap.
View roadmap Documentation
Write tutorials for new simulators, improve API references, add Mermaid diagrams explaining architecture concepts, or fix typos in existing guides.
See tutorials Research & Testing
Use NSB in your research, report scale-testing results, create reproducible benchmarks, or bring NSB to a new domain like V2X or satellite networks.
Integration guide DEVELOPER SETUP
Get a dev build running Setup Steps
1
Fork & clone
Fork the main repository on GitHub to your account, then clone your fork locally.
git clone https://github.com/your-username/nsb.git && cd nsb2
Install dependencies
Follow the Get Started guide for your OS. macOS uses Homebrew; Linux uses apt.
brew install cmake pkg-config abseil protobuf yaml-cpp redis hiredis3
Build from source
CMake builds the daemon binary and shared library.
cmake -B build && cmake --build build4
Create a feature branch
Always work on a descriptive feature branch, never directly on main.
git checkout -b feature/my-improvement5
Submit a pull request
Open a PR against the main branch with a clear description and the test you ran.
Project Structure
nsb/
โโโ cpp/
โโโ rabbit/
โโโ proto/
โ โโ python/
โโโ rabbit/
โโโ examples/
โโโ config.yaml
Contribution Guidelines
NSB is licensed under the BSD 3-Clause License . All code contributions should include corresponding tests. Please open an issue to discuss large changes before implementing. For documentation, match the existing MDX style and Mermaid conventions. GOOD FIRST ISSUES
Friendly places to start These issues are well-scoped and documented. Great for first-time contributors.