blob: c9157584380899e382479ca22f190a38d8f4250a [file] [log] [blame] [view]
Davide Pesavento81de5d92022-12-30 01:08:05 -05001<div align="center">
2
Davide Pesaventoae39daf2023-02-14 23:46:46 -05003[<img alt height="65" src="docs/named_data_theme/static/ndn-logo.svg"/>](https://named-data.net/)
Davide Pesavento81de5d92022-12-30 01:08:05 -05004
Davide Pesavento46b04a52019-03-28 21:36:35 -04005# ndn-cxx: NDN C++ library with eXperimental eXtensions
Jeff Thompson057d3182013-08-09 17:02:25 -07006
Davide Pesavento81de5d92022-12-30 01:08:05 -05007</div>
8
Davide Pesavento09d56622021-08-23 17:44:25 -04009![Latest version](https://img.shields.io/github/v/tag/named-data/ndn-cxx?label=Latest%20version)
Davide Pesavento183164e2024-04-09 16:10:51 -040010![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
11[![CI](https://github.com/named-data/ndn-cxx/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/ndn-cxx/actions/workflows/ci.yml)
12[![Docker](https://github.com/named-data/ndn-cxx/actions/workflows/docker.yml/badge.svg)](https://github.com/named-data/ndn-cxx/actions/workflows/docker.yml)
13[![Docs](https://github.com/named-data/ndn-cxx/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/ndn-cxx/actions/workflows/docs.yml)
Davide Pesaventoec2fe542016-09-17 02:56:14 +020014
Davide Pesaventofcd3e442023-03-10 18:44:11 -050015**ndn-cxx** is a C++17 library implementing Named Data Networking (NDN) primitives
Davide Pesaventob310efb2019-04-11 22:10:24 -040016that can be used to write various NDN applications. The library is currently being
17used by the following projects:
Alexander Afanasyev7c6aeb02014-04-10 19:59:19 -070018
Davide Pesavento81de5d92022-12-30 01:08:05 -050019* [**NFD** - NDN Forwarding Daemon](https://github.com/named-data/NFD)
20* [**NLSR** - Named-data Link-State Routing protocol](https://github.com/named-data/NLSR)
21* [**ndn-tools** - Essential NDN command-line tools](https://github.com/named-data/ndn-tools)
22* [**ndn-svs** - State Vector Sync library](https://github.com/named-data/ndn-svs)
23* [**PSync** - Partial and full Sync library](https://github.com/named-data/PSync)
24* [**ChronoSync** - Sync library for distributed real-time applications *(deprecated)*](https://github.com/named-data/ChronoSync)
25* [**NAC** - Name-based Access Control library](https://github.com/named-data/name-based-access-control)
26* [**NDNCERT** - NDN certificate management protocol](https://github.com/named-data/ndncert)
27* [**repo-ng** - NDN repository implementation in C++ *(deprecated)*](https://github.com/named-data/repo-ng)
28* [**ndn-traffic-generator** - Simple NDN traffic generator](https://github.com/named-data/ndn-traffic-generator)
Jeff Thompson057d3182013-08-09 17:02:25 -070029
Davide Pesavento46b04a52019-03-28 21:36:35 -040030## Documentation
Jeff Thompson057d3182013-08-09 17:02:25 -070031
Davide Pesavento46b04a52019-03-28 21:36:35 -040032See [`docs/INSTALL.rst`](docs/INSTALL.rst) for compilation and installation instructions.
Jeff Thompson057d3182013-08-09 17:02:25 -070033
Davide Pesaventoae39daf2023-02-14 23:46:46 -050034Extensive documentation is available on the library's [homepage](https://docs.named-data.net/ndn-cxx/).
Alexander Afanasyev7c6aeb02014-04-10 19:59:19 -070035
Davide Pesavento46b04a52019-03-28 21:36:35 -040036## Reporting bugs
Alexander Afanasyev766cea72014-04-24 19:16:42 -070037
Davide Pesaventoae39daf2023-02-14 23:46:46 -050038Please submit any bug reports or feature requests to the
Davide Pesavento46b04a52019-03-28 21:36:35 -040039[ndn-cxx issue tracker](https://redmine.named-data.net/projects/ndn-cxx/issues).
40
41## Contributing
42
Davide Pesaventoae39daf2023-02-14 23:46:46 -050043Contributions to ndn-cxx are greatly appreciated and can be made through our
44[Gerrit code review site](https://gerrit.named-data.net/).
45If you are new to the NDN software community, please read our
46[Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md)
47and [`README-dev.md`](README-dev.md) to get started.
Nick Gordonfe13f562017-12-21 14:12:37 -060048
Alexander Afanasyev766cea72014-04-24 19:16:42 -070049## License
50
Davide Pesaventoae39daf2023-02-14 23:46:46 -050051ndn-cxx is free software distributed under the GNU Lesser General Public License version 3.
Davide Pesaventof3e84872024-03-15 15:30:06 -040052See [`COPYING.md`](COPYING.md) and [`COPYING.lesser`](COPYING.lesser) for details.
53
54ndn-cxx contains third-party software, licensed under the following licenses:
55
56* *scope-lite* by Martin Moene is licensed under the
57 [Boost Software License 1.0](https://github.com/martinmoene/scope-lite/blob/master/LICENSE.txt)
58* *span-lite* by Martin Moene is licensed under the
59 [Boost Software License 1.0](https://github.com/martinmoene/span-lite/blob/master/LICENSE.txt)
60* The *waf* build system is licensed under the [3-clause BSD license](waf)