Skip to main content
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.

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

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 nsb
2
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 hiredis
3
Build from source
CMake builds the daemon binary and shared library.
cmake -B build && cmake --build build
4
Create a feature branch
Always work on a descriptive feature branch, never directly on main.
git checkout -b feature/my-improvement
5
Submit a pull request
Open a PR against the main branch with a clear description and the test you ran.
Project Structure
nsb/
โ”œโ”€โ”€ cpp/C++ daemon and client
โ””โ”€โ”€ rabbit/RabbitMQ transport
โ”œโ”€โ”€ proto/Protocol Buffer definitions
โ”œโ”€โ”€ python/Python client library
โ”œโ”€โ”€ rabbit/Python RabbitMQ backend
โ”œโ”€โ”€ examples/Usage examples
โ””โ”€โ”€ config.yamlDefault configuration
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.

Friendly places to start

These issues are well-scoped and documented. Great for first-time contributors.