
Cerion Armour-Brown worked on PowerPC instruction set support using
the Vex dynamic-translation framework.

Jeremy Fitzhardinge wrote Helgrind (in the 2.X line) and totally
overhauled low-level syscall/signal and address space layout stuff,
among many other things.

Tom Hughes did a vast number of bug fixes, and helped out with support
for more recent Linux/glibc versions.

Nicholas Nethercote did the core/tool generalisation, wrote
Cachegrind and Massif, and tons of other stuff.

Paul Mackerras did a lot of the initial per-architecture factoring
that forms the basis of the 3.0 line and is also to be seen in 2.4.0.
He also did UCode-based dynamic translation support for PowerPC, and
created a set of ppc-linux derivatives of the 2.X release line.

Dirk Mueller contributed the malloc-free mismatch checking stuff
and other bits and pieces, and acted as our KDE liaison.

Julian Seward was the original founder, designer and author, created
the dynamic translation frameworks, wrote Memcheck and 3.3.X Helgrind,
and did lots of other things.

Robert Walsh added file descriptor leakage checking, new library
interception machinery, support for client allocation pools, and minor
other tweakage.

Josef Weidendorfer wrote Callgrind and the associated KCachegrind GUI.

Frederic Gobry helped with autoconf and automake.

Daniel Berlin modified readelf's dwarf2 source line reader, written by Nick
Clifton, for use in Valgrind.

Michael Matz and Simon Hausmann modified the GNU binutils
demangler(s) for use in Valgrind.

Omega was written by Bryan Meredith and is maintained by Rich Coe.
DRD was written by and is maintained by Bart Van Assche.

And lots and lots of other people sent bug reports, patches, and very 
helpful feedback.  Thank you all.
