# PSync Authors

The following lists maintainers, primary developers, and all much-appreciated contributors to PSync in alphabetic order.
The specific contributions of individual authors can be obtained from the git history of the [official PSync repository](https://github.com/named-data/PSync).
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)*** Ashlesh Gawande <https://www.linkedin.com/in/agawande>
* Eric Newberry <https://ericnewberry.com>
* Davide Pesavento <https://github.com/Pesa>
* Junxiao Shi <https://cs.arizona.edu/~shijunxiao>
* Minsheng Zhang <https://www.linkedin.com/in/minsheng-zhang-032023a1>

## Technical Advisors

* Lan Wang <http://www.cs.memphis.edu/~lanwang>
