PHP, Zend Framework and Other Crazy Stuff
Archive for June, 2009
Wrox Press Respond to “The Art Of Deception Or Publishing PHP6 Books”
Jun 25th
I am such a torment. Cancelled negotiations with a publisher over disagreements on a book format? Check. Said no to taking down a free book startup and enter a publishing contract? Check. Lambasted multiple publishers for releasing PHP 6 books which do not teach anything PHP 6 specific? Check. Next month I expose which publishing companies are secretly building weapons of mass destruction in their basements. Reverse that, I can’t afford a libel suit…
In “The Art Of Deception Or Publishing PHP6 Books” I aired my unflattering opinions about publishers who have been selling “PHP 6″ books. PHP 6, last I checked, was a bit like Leprechauns (Hey, I’m Irish! The use is legal!). You love them, you have lots of ideas about what to expect from them - but has anyone every really seen one (other than my great uncle)? PHP 6 exists in CVS - it’s never had a release other than the usual CVS snapshots. It’s certainly not complete and stable, and its future feature list remains a bit flexible. You could see PHP 5.4 in 2011 before PHP 6 is finished…guessing here. As its developers would say - it’ll be ready when it’s ready. One day. Maybe.
In response to the blog post, Wrox Press picked up on the problem on Twitter via Davey Shafik (@dshafik). Everyone knows Davey. If you don’t, you must have been living under a rock, or a ruby, for a really long time. I have to say, Wrox responded in a wholly unpredicted way I have to admire. It’s not everyday you find yourself hiding in a cave in Antrim (it’s nice…a little damp though) after seeing something you wrote persuade a publisher to pull back a book destined for the printers, and work on fixing it so it deserves its title.
Here’s the full text of the comment posted to “The Art Of Deception…” earlier today by Jim Minatel (Associate Publisher - Wrox). Jim is mostly the person sitting behind @wrox over on Twitter where he’s been quite proactive in getting to the bottom of my PHP 6 Book complaints.
Pádraic:
Thanks for taking the time to discuss this with me on Twitter last night. I’m the Associate Publisher for Wrox, I’m the person usually behind @wrox on twitter.
After meeting with the editor who ran the PHP list for us, you’re right. The titles of these PHP6 books, some of the references to PHP6 in the books, what isn’t covered in the books, all prove we made a mistake, something went wrong. But how, why?
Elizabeth (and thanks for her measured response) is correct in part of her assessment that books take a long time to write and publish. I’m sure that when the editor and authors started these books in Spring 2008, they’re thinking was that 6.0 would indeed be a stable release by early 2009 (if not sooner) and they were aiming for that. But clearly along the way we dropped the ball on checking references to things like the non-existent “6.0.0 stable.”
In the Beginning PHP6, MySQL, Apache book, I can actually understand the rationale not to cover Unicode there. Given that Unicode is primarily valuable to someone internationalizing a site or localizing it for multiple languages – topics that I wouldn’t consider “Beginning” level – I can see why it wasn’t covered. (Before becoming associate publisher, I was actually our ASP.NET editor for most of the last 5 years and we don’t for example cover internationalization/localization in our Beginning ASP.NET 3.5.) So we want to have a book that Beginning level customers understand will work with PHP6 if that’s the version they’re using, but we didn’t communicate right what that meant in this context where there weren’t major new v6 features at the level we thought a beginner would need.
The professional book stumps me more. It’s hard for me to understand how that book doesn’t have a chapter on Unicode. It looks like an oversight by everyone involved in the book.
So where do we go from here and get better than this to eventually prove we’re worthy of better than when @bicatu says “That reminds me why I’ve never bought a Wrox book?”
First, I’ve asked the team involved with Beginning PHP6 scheduled to ship to the printer this week to pull that book back, to read your post and the subsequent twitter discussion and to make sure we aren’t making the same mistake a third time. I want the author and editors to provide a level of confidence that the PHP6 features that should be covered are, that the discussion of the current state of PHP6 is accurate, and the that the title, subtitle, and marketing copy on the book and online accurately reflects what is and isn’t covered.
Second, publishing the right books depends on having the right team, including a large number of well placed community experts on the topics who serve as authors, freelance/contract technical editors. There’s always room for a team to improve, through learning and through recruiting. I hope this discussion helps our current team in PHP (and MySQL and LAMP in general) and I hope it helps us attract people like you who have ideas on what we can do better. I’d like to invite you and everyone who’s commented on this post so far (and I’ll post the invite on twitter too) to get involved. We’ve got a PHP Design Patterns book scheduled to publish in August (not specific to any version) I’d like to start by offering you all a preview of that. If you see any red flags, tell us. If you like it, if you see issues and help us make it better, at a minimum we’ll send you a free copy. If you get involved more extensively, you can discuss with the editor contract work. DM me in twitter with your email addresses if you want to get involved. Or email me at the address below.
Thanks for caring enough to get our attention. I promise, we’re listening.
Jim Minatel
Associate Publisher – Wrox
jminatel at w I l e y d o t c o m
On a side note, Jim spelled my name correctly. Class. I called Jim, “John”, on Twitter. Fail.
Rather impressed with Wrox right now.
If I have a remaining concern it would be that with PHP 6 unreleased and in flux, it still seems dangerous to title books using that version number. The most current updated PHP version from next Tuesday will be PHP 5.3 which is itself a pretty giant leap over PHP 5.2. PHP 6 is conceivably years away - its release date isn’t set in stone (I don’t know if anyone has even estimated it recently).
The Art Of Deception Or Publishing PHP6 Books
Jun 24th
I was strolling around a bookstore today, Easons on O’Connell Street here in Dublin, when I found myself staring at a bookshelf in near shock. Kid, I thought, you’ve been out of the loop for only two months and somehow those crazy people have managed to release PHP 6 right under your nose! I took several deep breaths not quite sure how to react. I moved closer and pulled out the shiny red book published by Wrox titled “Professional PHP 6″ and prepared to kick myself silly for the next week learning PHP6 (not from the book, which while shiny is of little use to someone using PHP so often it’s hardwired into your brain).
The more I stared at the three youthful faces grinning at me from the cover, the more I convinced myself this was a publishing error. No way was PHP6 going to be released without me noticing. Google Reader would have been on fire with that news. So what the hell was I looking at?
I was apparently looking at a big fat lie.
PHP6 has been the long standing grail for PHP developers who whisper in corners about its major feature: Unicode! Unicode makes the planet revolve, well its literary parts anyhow… Out on the edges were numerous other features, but most of those have been rolled into PHP 5.3 - which should be released next Tuesday. PHP 5.3…next Tuesday. And here we have books titled PHP6…what a joke. PHP6 won’t see so much as an alpha release for months…could even be years for all I know. It will be ready when it’s ready.
My biggest question of course was how can publishers escape punishment for such obvious silliness? Maybe someone can explain it in the comments because I’m at a loss. I figured there was some justification in that PHP6 would undoubtedly support some backwards compatibility with PHP 5, and therefore you could learn a great deal of PHP 6, simply by learning PHP 5. After all, both are PHP. Or perhaps it’s all the disclaimers technical books can include to escape responsibility if the information in the book is wrong. This might be sufficient to get around the laws of any number of countries, like Ireland, but I don’t consider it honesty. In my opinion it’s blatantly obvious that the PHP6 references used in book titles are little more than an attempt to differentiate these books from their competitors and earlier editions. Enough to fool a lot of consumers that buying the PHP6 book must be better than buying the perfectly up to date PHP5 book sitting in the bargain bin or available secondhand from Amazon. We are in a recession afterall and who banked on PHP 5.3 dropping a bombshell on plans for PHP6 books to spark a buying spree from developers?
Now, even I admit my outrage can be exaggerated. So I did go and pick up a few sample books using PHP6 in their title out of curiousity. Flicking through the pages I quickly noted how many of them avoided the PHP6 topic like the plague by omitting obvious things you’d expect to see. Unfortunately I also found a few notable slips which had me in stitches. Installation instructions and version listings are the most telling
The Wrox Programmer To Programmer series includes the far fetched title “Beginning PHP6, Apache, MySQL Web Development” (Timothy Boronczyk, Elizabeth Naramore, Jason Gerner, Yann Le Scouarnec, Jeremy Stolz, Michael K. Glass). The installation instructions for Linux state:
6. Extract the tarball, and change to the directory it creates:
tar -vxzf php-6.0.0.tar.gz
cd php-6.0.0
Number 3 earlier on the same list states:
3. Scroll down to the Complete Source Code section, and click on the appropriate link to download
the latest tar.gz package.
Perhaps someone didn’t notice that the download here (as of today) according to php.net is PHP 5.2.10? Not PHP 6.0.0.
Earlier the same book states:
The most recent stable versions that were in effect at the time of this book’s writing were:
PHP: Version 6.0.0
Apache: Version 2.2.9
MySQL: Version 5.0.67Future editions of this book will address changes and improvements in these programs as they become
available.
Again, the non-existent PHP 6.0.0 makes an appearance clearly noted as being a “stable version”. Of course, this is complete bollocks. The rest of the book seems pretty clearcut. It doesn’t mention PHP 6 anywhere else except in two Chapter titles according to its index. PHP 5.3 is mentioned once in a brief description of namespaces. Everything else is PHP…drumroll…5. This book teaches you PHP5 and only PHP5. Look on the bright side - the Wrox website and Amazon page suggests the title should have included MySQL 6… All they needed was the equally mystical appearance of Apache 6 to get the conspiracy theorists worked up into a fever pouring through the Book Of Revelations. Anyone want the movie rights to that idea?
After flipping through other PHP6 titled books (it’s not like Wrox and Wiley Publishing are alone), I arrive at the same conclusion - they are PHP 5.2 books. It’s laughable to even think they cover PHP 5.3 let alone PHP 6! All they have are a few obvious references to PHP 6.0.0 which at best are a mistake (maybe the titles are a mistake too?), and at worst a deliberate misleading lie. A few statements I noted might escape stupidity if the author could prove they ran a PHP 6 snapshot from CVS. To be honest I feel sorry for all the authors involved - it’s their name hanging on the front cover too and this might speak an awful lot as to the power a publisher can exert over an author’s work depending on their contract.
Shame on all publishers guilty of this silliness. To anyone in the market for a PHP book, stick to the bargain bins and second hand stores until a genuine PHP 5.3 book is released (that actually covers PHP 5.3′s new features mind!). The real PHP6 books are probably years away but PHP 5.3 looks to be a great release with plenty of new features..next Tuesday!
In the meantime I’ll be feeling pity for the poor sods who will buy these fake PHP 6 books second hand when PHP 6.0.0 sees a stable release.