This post will not, of course, live up to Jane Jacobs’ wonderful book inspiring its title. I have a certain regret in using this forum only to throw occasional shade at publishers. But so it goes, and here I am.
It has happened that none of the seven programming books I’ve written have been published under their originally contracting publisher. It’s not wholly a matter of malevolence by them, nor wholly incompetence, nor wholly in the realm of comedies of errors. Nonetheless, there are certainly bad actors among the publishers, albeit ones quite modestly bad in the scheme of things.
I wrote six weeks ago about my ordeal with Manning; nothing in that description changed. However, I have now moved the re-titled work to Pearson, in major part because of what a truly wonderful person my editor, Debra Williams Cauley, is. I’ve worked with her since my first book in 2003, and on a variety of recorded and live training courses. In the latest and greatest, it should be called Better Python Code: A Guide for Aspiring Experts. Hopefully that sticks; it’s written in its entirety, and only needs some minor touch-up passes.
The one update on the Manning situation is that the contract is happily—and finally—properly cancelled, with rights returned. This was achieved by writing a really snarky letter to my acquisition editor, on June 13 (following the events chronicled in my prior post). In the marginalia I blustered with talk of lawyers writing demand letters, which fortunately never needed to be acted on. Of the styles I utilize, professed professional indignation is, sentimentally, an old favorite:
Manning has acted with a great deal of bad faith in this process. This saddens me greatly, obviously. However, in retrospect, it is clear that Manning never intended to pay the advances specified in the contract, and never intended to fulfill the schedule you contractually agreed upon. Moreover, your randomly shifting of editorial goals, with the intention and effect of leaving authors in an uncertain state, having no clear way of discerning the book Manning might want to publish is manipulative and disrespectful.
After the first try with this email, I was met with dead silence. So it took another followup, brief but cold, a bit more than a week later. However, the latter note was fairly quickly followed by a delightfully absurd letter from Manning’s publisher, Marjan Bace, on June 22. In this note, the publisher wanted clearly to evince the sentiment “You’re not breaking up with me, I’m breaking up with you!” (Joke credit: Lisa Constant). To wit:
Dear David,
This letter is in reference to our Publishing Agreement with you for the Work 100 Python Mistakes and How to Avoid Them dated February 1, 2023. We have concluded that we cannot publish this Work as a commercially successful book, so we are terminating it under the provisions of paragraph 6c of the publishing contract.
Since no advance was paid to you under the terms of this contract, all rights in the content you originally submitted will hereby return to you and we will consider this matter concluded.
The decision to cancel a project is never an easy one to make. We thank you for all the efforts on this project that you made and wish you the best in your future endeavors.
Sincerely,
Marjan Bace, Publisher
Manning Publications Co.
So it goes.
The only part that matters is the dependent clause “hereby return to you.”
My first book was Text Processing in Python in 2003. I shopped that among a variety of publishers. In fact, I had contracted with Apress back in 2002. They had even paid advances (I think two of three), which is a credit to them. Progress was moving at a good pace, and editorial feedback was reasonable and helpful. That is, until sometime in the late summer of 2002 when I was completely ghosted by the publisher.
They weren’t in any way unhappy with the draft or the speed at which it was being written. It simply went from corresponding every week to taking several months before I managed to find anyone at the publisher who would respond to email or telephone calls. I still do not really know what happened internally with them. I had thought at the time that perhaps they were shifting book focus; it’s also quite possible that this was simply a shuffling of editors and my book getting forgotten along the line. I don’t remember the exact sequence that 20+ years ago, but the end result was I got all rights back and kept the advances.
Of course, that was followed by hiring an agent, who shopped it around anew, eventually arriving at Addison-Wesley… the very publisher that published The Bible. Since that time, Addison-Wesley, and too many other presses to count, have been gobbled up by Pearson. Consolidation always makes pride in work suffer.
My misadventures with Cleaning Data for Effective Data Science: Doing the other 80% of the Work and The Puzzling Quirks of Regular Expressions were detailed in an earlier post.
I count the first Manning book, Regular Expression Puzzles and AI Coding Assistants as falling under the “not the original publisher” category—if only as a conceit—inasmuch as it’s mostly a combination of the earlier regex book with an even older tutorial I wrote for IBM developerWorks in the 2000s. My own republication of it as Learning to Use Regular Expressions was, for a number of years, one of the top 3-4 hits from Google, when one searched “regular expressions.” The Manning version is “expanded and enhanced” but largely the same thing. Obviously, the new stuff about Copilot and ChatGPT was what got it published and selling fairly well (probably only for the initial couple months, as the new hot moves around).
The books I did for O’Reilly were really just booklets used as conference swag. I think they might have been called “technical reports” retroactively. They have ISBNs, but you couldn’t really buy the 50-ish page publications separately. Still, Functional Programming in Python was mostly just updated stuff I had written in several IBM developerWorks articles (those were always, and remain, public domain works).
My other booklet for O’Reilly was From __future__ import Python: Picking a Python Version—A Manifesto. It’s a ridiculous, unwieldy, but accurate and charming, title. The publisher, after a time, re-titled it as something-or-another less off-putting. It was written afresh for them, and can be wholly summarized by the sentence “You should have been using Python 3 even in 2015.” I’m going to keep to my device and maintain that the re-titling by O’Reilly merits inclusion here. Batting 1.0 (or 0.0) sounds better.
There are also two books I didn’t write that belong here. Somewhere in the late 2000s, I was one of a rather long list of Python luminaries who utterly blew off writing Python Cookbook, Third Edition. Eventually, David Beazley and Brian Jones did a lovely job with that book. My then editor, and long-time friend since around then, Julie Steele, probably had the author firing letters printed in reams. I’m not proud of my fuckupery on that project.
Another very interesting book that neither I nor anyone else actually wrote was The Python Programming Language. Had it happened, I might have been co-author with Guido van Rossum and one or more other well-known Python names. I don’t remember the chronology in the early 2000s, but it was a story of darting from one publisher to another while the list of co-authors danced around, slightly out of sync. It was basically just meant to be a formally published and citable variant of the documentation at python.org, probably hypothetically with minor enhancements. Still, something was signed at some point, and I was a contract signatory.