# jndn-utils Authors

The following lists maintainers, primary developers, and all much-appreciated contributors to jndn-utils in alphabetic order.
The specific contributions of individual authors can be obtained from the git history of the [official jndn-utils repository](https://github.com/named-data/jndn-utils).
If you would like to become a contributor to the official repository, please follow the recommendations in https://github.com/named-data/.github/blob/master/CONTRIBUTING.md.

* ***(Maintainer)*** Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev>
* ***(Former Maintainer)*** Andrew Brown <https://github.com/abrown>
* Tim Coppernoll <https://github.com/tim-coppernoll>
* Brian McGinn <https://github.com/brianmcginn>
* Eric Newberry <https://ericnewberry.com>
