# NAC Authors

The following lists maintainers, primary developers, and all much-appreciated contributors to NAC in alphabetic order.
The specific contributions of individual authors can be obtained from the git history of the [official NAC repository](https://github.com/named-data/name-based-access-control).
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 Afanaysev <https://users.cs.fiu.edu/~afanasyev>
* Ashlesh Gawande <https://www.linkedin.com/in/agawande>
* Eric Newberry <https://ericnewberry.com>
* Davide Pesavento <https://github.com/Pesa>
* Prashanth Swaminathan
* Yingdi Yu <https://irl.cs.ucla.edu/~yingdi>
* Zhiyi Zhang <https://zhiyi-zhang.com>
