Acknowledgements

ProGuard grew out of RetroGuard, which its author Mark Welsh has kindly made available under the GNU Lesser General Public License. RetroGuard is a very nice piece of code, but it only performs obfuscation. I started from the class file parsing code and wrote my own shrinker, optimizer, and obfuscator. At this point, both programs have little code in common.

Dirk Schnelle has generously contributed and maintained the first versions of the Ant task. The implementation has been rewritten for version 3.0, but the XML schema is still based on his work.

I am developing ProGuard in my spare time, in part on equipment that my employer Luciad is kindly allowing me to use.

SourceForge is graciously providing the resources for hosting this project and many other projects.

My colleagues at Luciad have been very patient trying early versions of the code. Since the first public release, others have chimed in with interesting ideas, bug reports, and bug fixes: Thorsten Heit, Oliver Retzl, Jonathan Knudsen, Bob Drury, Dave Jarvis, Marc Chapman, Dave Morehouse, Richard Osbaldeston, Peter Hawkins, Mark Sherington, David Sitsky, James Manning, Ptolemy Oberin, Frank-Michael Moser, QZ Shines, Thomas Singer, Michele Puccini, Roman Bednarek, Natalia Pujol, Daniel Sjöblom, Jan Filipsky, Charles Smith, and Gerrit Telkamp. Thanks! Your feedback has been invaluable.

The code and these web pages were written using Sun's JDKs, IBM Eclipse, Linux, GNU emacs, bash, sed, awk, and a whole host of other free tools which continue to make programming interesting.


Copyright © 2002-2004 Eric Lafortune.