The Design of the Book
In early 2000, Frank Willison, then Editor-in-Chief of O'Reilly & Associates, Inc., contacted me
(David Ascher) to find out if I wanted to write a book. Frank had been the editor for Learning Python,
which I cowrote with Mark Lutz. Since I had just taken a job at what was then considered a Perl shop
(ActiveState), I didn't have the bandwidth necessary to write another book, and plans for the project
were gently shelved. Periodically, however, Frank would send me an email or chat with me at a
conference regarding some of the book topics we'd discussed. One of Frank's ideas was to create a
Python Cookbook, based on the concept first used by Tom Christiansen and Nathan Torkington with
the Perl Cookbook. Frank wanted to replicate the success of the Perl Cookbook, but he wanted a
broader set of people to provide input. He thought that, much as in a real cookbook, a larger set of
authors would provide for a greater range of tastes. The quality, in his vision, would be ensured by the
oversight of a technical editor, combined with O'Reilly's editorial review process.
Frank and Dick Hardt, ActiveState's CEO, realized that Frank's goal could be combined with
ActiveState's goal of creating a community site for open source programmers, called the ActiveState
Programmer's Network (ASPN). ActiveState had a popular web site, with the infrastructure required
to host a wide variety of content, but it wasn't in the business of creating original content. ActiveState
always felt that the open source communities were the best sources of accurate and up-to-date content,
even if sometimes that content was hard to find.
The O'Reilly and ActiveState teams quickly realized that the two goals were aligned and that a joint
venture would be the best way to achieve the following key objectives:
• Creating an online repository of Python recipes by Python programmers for Python
programmers
• Publishing a book containing the best of those recipes, accompanied by overviews and
background material written by key Python figures
• Learning what it would take to create a book with a different authoring model
At the same time, two other activities were happening. First, I and others at ActiveState, including
Paul Prescod, were actively looking for "stars" to join ActiveState's development team. One of the
candidates being recruited was the famous (but unknown) Alex Martelli. Alex was famous because of
his numerous and exhaustive postings on the Python mailing list, where he exhibited an unending
patience for explaining Python's subtleties and joys to the increasing audience of Python programmers.
He was unknown because he lived in Italy and, since he was a relative newcomer to the Python
community, none of the old Python hands had ever met him—their paths had not happened to cross
back when Alex lived in the U.S., when he was working for IBM Research and enthusiastically using
and promoting other high-level languages.
ActiveState wooed Alex, trying to convince him to move to Vancouver. We came quite close, but his
employer put some golden handcuffs on him, and somehow Vancouver's weather couldn't compete
with Italy's. Alex stayed in Italy, much to my disappointment. As it happened, Alex was also at that
time negotiating with O'Reilly about writing a book. Alex wanted to write a cookbook, but O'Reilly
explained that the cookbook was already signed. Later, Alex and O'Reilly signed a contract for Python
in a Nutshell.
The second ongoing activity was the creation of the Python Software Foundation. For a variety of
reasons, best left to discussion over beers at a conference, everyone in the Python community wanted
to create a non-profit organization that would be the holder of Python's intellectual property, to ensure
that Python would be on a legally strong footing. However, such an organization needed both financial
support and buy-in from the Python community to be successful.