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

Google Inc.
Mozilla Foundation
Intel Corporation
Vonage Holdings Corp.
MIPS Technologies
Ben Strong <bstrong@gmail.com>
Martin Storsjo <martin@martin.st>
Jie Mao <maojie0924@gmail.com>
Anil Kumar <an1kumar@gmail.com>
Opera Software ASA
Silviu Caragea <silviu.cpp@gmail.com>
