# This the official list of Bazel authors for copyright purposes.
# This file is distinct from the CONTRIBUTORS files.
# See the latter for an explanation.

# Names should be added to this file as:
# Name or Organization <email address>
# The email address is not required for organizations.

Benjamin Staffin <benley@gmail.com>
Brian Silverman <bsilver16384@gmail.com>
David Santiago <david.santiago@gmail.com>
Google Inc.
Jake Voytko <jake@reviewninja.com>
Yuki Yugui Sonoda <yugui@yugui.jp>
