Many people have contributed to this book over the long period while
it was in the works.
First things first. This book wouldn't exist without
Doug MacEachern, creator of mod_perl. Doug's
preliminary overview of mod_perl 2.0 was used as the basis of Chapter 24 and Chapter 25.
We're also greatly indebted to many people who
contributed chapters or appendixes to this book. Andreas Koenig
contributed Chapter 16, with helpful corrections,
additions, and comments from Ask Björn Hansen, Frank D.
Cringle, Mark Kennedy, Doug MacEachern, Tom Hukins, and Wham Bang.
Matt Sergeant contributed Appendix E, with helpful
comments from Robin Berjon. Andy Wardley contributed Appendix D.
We cannot thank enough the following reviewers, who have reviewed
huge portions of the book (or the whole book) and provided good
advice: Andreas Koenig, Ged Haywood, Gunther Birznieks, Issac
Goldstand, Mark Summerfield, Paul Wilt, Per Einar Ellefsen, Philippe
M. Chiasson, and Robin Berjon. Thank you, guys. Without you, this
book wouldn't be nearly as useful as it is now.
The following people also contributed much to the book: Aaron
Johnson, Ask Björn Hansen, Brian Ingerson, David Landgren,
Doug MacEachern, Ed Philips, Geoff Young, Pat Eyler, Perrin Harkins,
Philippe Bruhat, Rafael Garcia-Suarez, Stéphane Payrard,
Tatsuhiko Miyagawa, and Ken Williams. Thank you all for taking time
to improve the book.
Since the book is loosely based on the mod_perl guide, we must
acknowledge the following people who have indirectly contributed to
the book by helping with the guide (about 200 names!): Aaron Johnson,
Ajay Shah, Alexander Farber, Andreas J. Koenig, Andreas Piesk, Andrei
A. Voropaev, Andrew Ford, Andrew McNaughton, Anthony D. Ettinger,
Artur Zambrzycki, Ask Björn Hansen, Barrie Slaymaker, Bill
Moseley, Boris Zentner, Brian Moseley, Carl Hansen, Chad K. Lewis,
Chris Nokleberg, Chris Winters, Christof Damian, Christophe Dupre,
Cliff Rayman, Craig, Daniel Bohling, Daniel Koch, Daniel W. Burke,
Darren Chamberlain, Dave Hodgkinson, Dave Rolsky, David Harris, David
Huggins-Daines, David Landgren, David Mitchell, DeWitt Clinton, Dean
Fitz, Doug Bagley, Doug Kyle, Doug MacEachern, Drew Taylor, Ed Park,
Ed Phillips, Edmund Mergl, Edwin Pratomo, Eric Cholet, Eric Strovink,
Evan A. Zacks, Ewan Edwards, Frank Cringle, Frank Schoeters, Garr
Updegraff, Ged Haywood, Geoff Crawshaw, Geoffrey S. Young, Gerald
Richter, Gerd Knops, Glenn, Greg Cope, Greg Stark, Gunther Birznieks,
Hailei Dai, Henrique Pantarotto, Honza Pazdziora, Howard Jones,
Hunter Monroe, Ilya Obshadko, Ime Smits, Issac Goldstand, James
Furness, James G. Smith, James W. Walden, Jan Peter Hecking, Jason
Bodnar, Jason Rhinelander, Jauder Ho, Jay J, Jean-Louis Guenego, Jeff
Chan, Jeff Rowe, Jeffrey W. Baker, Jens Heunemann, Jie Gao, Joao
Fonseca, Joe Schaefer, Joe Slag, John Armstrong, John Deighan, John
Hyland, John Milton, John Walker, Jon Orwant, Jonathan Peterson,
Joshua Chamas, Karl Olson, Kavitha, Kees Vonk, Ken Williams, Kenny
Gatdula, Kevin Murphy, Kevin Swope, Lance Cleveland, Larry
Leszczynski, Leslie Mikesell, Lincoln Stein, Louis Semprini, Lupe
Christoph, Mads Toftum, Marc Lehmann, Marcel Grunauer, Mark Mills,
Mark Summerfield, Marko van der Puil, Marshall Dudley, Matt Sergeant,
Matthew Darwin, Michael Blakeley, Michael Finke, Michael G. Schwern,
Michael Hall, Michael Rendell, Michael Schout, Michele Beltrame, Mike
Depot, Mike Fletcher, Mike MacKenzie, Mike Miller, Nancy Lin, Nathan
Torkington, Nathan Vonnahme, Neil Conway, Nick Tonkin, Oleg Bartunov,
Owen Williams, Pascal Eeftinck, Patrick, Paul Buder, Paul Cotter,
Pavel Shmidt, Per Einar Ellefsen, Perrin Harkins, Peter Galbavy,
Peter Haworth, Peter J. Schoenster, Peter Skov, Philip Jacob, Philip
Newton, Radu Greab, Rafael Garcia-Suarez, Ralf Engelschall, Randal L.
Schwartz, Randy Harmon, Randy Kobes, Rauznitz Balazs, Rex Staples,
Rich Bowen, Richard A. Wells, Richard Chen, Richard Dice, Richard
More, Rick Myers, Robert Mathews, Robin Berjon, Rodger Donaldson, Ron
Pero, Roy Nasser, Salve J. Nilsen, Scott Fagg, Scott Holdren, Sean
Dague, Shane Nay, Stephane Benoit, Stephen Judd, Steve Fink, Steve
Reppucci, Steve Willer, Surat Singh Bhati, Terry West, Thomas
Klausner, Tim Bunce, Tim Noll, Todd Finney, Tom Brown, Tom
Christiansen, Tom Hughes, Tom Mornini, Tuomas Salo, Tzvetan Stoyanov,
Ulrich Neumerkel, Ulrich Pfeifer, Vivek Khera, Ward Vandewege, Wesley
Darlington, Will Trillich, Yann Kerhervé, and Yann Ramin.
Thank you all!