# Below is a list of people and organizations that have contributed source
# code to the Native Client SDK project.  Names should be added to the list
# like this:
#
#   Name/Organization <email address>

Google Inc.  native-client-discuss@google.com
