# Below is a list of people and organizations that have contributed
# to the tuple project. Names should be added to the list like
# so:
#
#   Name/Organization <email address>

Boris Kaul <localvoid@gmail.com>
Kwang Yul Seo <kwangyul.seo@gmail.com>
Philip Sieder <philip.sieder@gmx.de>
