# Names should be added to this file like so:
# Name or Organization <email address>

Anil Kumar <an1kumar@gmail.com>
Ben Strong <bstrong@gmail.com>
Eric Rescorla, RTFM Inc.
Jie Mao <maojie0924@gmail.com>
Luke Weber
Martin Storsjo <martin@martin.st>
Pali Rohar
Rafael Lopez Diez <rafalopezdiez@gmail.com>
Robert Nagy
Silviu Caragea <silviu.cpp@gmail.com>
Victor Costan <costan@gmail.com>

Google Inc.
Intel Corporation
MIPS Technologies
Mozilla Foundation
Opera Software ASA
Vonage Holdings Corp.
