blob: 9f7d3b8a39d2bf0605465981d69a737778a48dee [file] [log] [blame]
<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-style-type" content="text/css">
<link rel="stylesheet" type="text/css" href="style.css">
<title>ProGuard Acknowledgements</title>
</head>
<body>
<script type="text/javascript" language="JavaScript">
<!--
if (window.self==window.top)
document.write('<a class="largebutton" target="_top" href="index.html#acknowledgements.html">ProGuard index</a> <a class="largebutton" target="_top" href="http://www.saikoa.com/dexguard">DexGuard</a> <a class="largebutton" target="_top" href="http://www.saikoa.com/">Saikoa</a> <a class="largebutton" target="other" href="http://sourceforge.net/projects/proguard/">Sourceforge</a>')
//-->
</script>
<noscript>
<a class="largebutton" target="_top" href="index.html#acknowledgements.html">ProGuard index</a>
<a class="largebutton" target="_top" href="http://www.saikoa.com/dexguard">DexGuard</a>
<a class="largebutton" target="_top" href="http://www.saikoa.com/">Saikoa</a>
<a class="largebutton" target="other" href="http://sourceforge.net/projects/proguard/">Sourceforge</a>
</noscript>
<h2>Acknowledgements</h2>
The first versions of <b>ProGuard</b> grew out of <b>RetroGuard</b>, which its
author Mark Welsh kindly made available under the GNU Lesser General Public
License. RetroGuard is a very nice piece of code, but it only performed
obfuscation. I started from the class file parsing code and wrote my own
shrinker, optimizer, obfuscator, and preverifier. As of version 4.0, all of the
original code has been rewritten, so the most obvious remaining similarity are
the program names.
<p>
Dirk Schnelle has contributed and maintained the first versions of the Ant
task. I have rewritten the implementation for version 3.0, but the XML schema
is still based on his work.
<p>
Marcel Patzlaff has initiated a series of artifacts in the Maven Central
repository. I am now maintaining them as part of the official builds.
<p>
Many other people have expressed their enthusiasm and have chimed in with
interesting ideas, bug reports, and bug fixes: Thorsten Heit, Oliver Retzl,
Jonathan Knudsen, Tarcisio Camara, 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&ouml;blom, Jan
Filipsky, Charles Smith, Gerrit Telkamp, Noel Grandin, Torbj&ouml;rn
S&ouml;derstedt, Clemens Eisserer, Clark Bassett, Eduard Welch, Dawid Weiss,
Andrew Wilson, Sean Owen, Niels Gron, Ishan Mehta, Steven Adams, Xavier Kral,
Stefan Martin, Toby Reyelts, Bernhard Eder, Manfred Moser, Marco Bl&uuml;mel,
David Reiss, Roy Williams,
and many more. Thanks! Your feedback has been invaluable.
<p>
<a href="http://www.saikoa.com/" target="_top">Saikoa</a> is providing the
financial resources for this project. At Saikoa, we're also developing
ProGuard's sibling for Android,
<a href="http://www.saikoa.com/dexguard" target="_top">DexGuard</a>.
<p>
<a href="http://www.sky.com/" rel="nofollow" target="other">British Sky</a>
has kindly sponsored the optimization of <i>enum</i> types.
<p>
<a href="http://sourceforge.net/projects/proguard/"
target="other">SourceForge</a> is providing the resources for hosting this
project and many other projects.
<p>
<a href="http://www.sonatype.com/" target="other">Sonatype</a> and
the <a href="http://search.maven.org/#search|ga|1|g:%22net.sf.proguard%22"
target="other">Maven Central</a> repository are hosting the Maven artifacts.
<p>
The code and these web pages were written using Oracle/Sun's JDKs, Linux,
IntelliJ IDEA, GNU emacs, bash, sed, awk, and a whole host of other tools that
continue to make programming interesting.
<hr />
<address>
Copyright &copy; 2002-2014
<a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a> @ <a target="top" href="http://www.saikoa.com/">Saikoa</a>.
</address>
</body>
</html>