A DRM adventure

Today I bought an engineering standard from a standards body that I won’t name (it’s an institute that promulgates national standards in America). I’ve bought many “electronic” standards from this group; they’ve always been plain old PDF files with marginal notes explaining that I’m the only one licensed to use the file, that I’m not allowed to make copies for others, and that I probably shouldn’t even let anyone else read the standard. But there’s never been any DRM to enforce these restrictions.

After downloading the standard I bought today, I soon realized that something was different. When I double-clicked on it, Preview launched, but all the pages were blank and the table of contents in the sidebar was filled with gibberish. OK, I said, let’s try Adobe Reader. I really hate Reader because it takes forever to load and acts like a Windows program by filling the entire screen, but I’ll use it if I have to. Reader launches and soon tells me that it needs a plugin to open the file. It sends me to a website where I can download and install the appropriately-named FileOpen plugin. That done, the PDF opened in Reader and I could start looking through the standard.

Reader soon alerted me that there was a newer version—I had version 7.x, and version 8.x was now available—would I like to download and install the newer version? Being all for progress, I said yes, and soon had Reader 8 in my Applications folder.

When I tried to open the standard in Reader 8, it went through the FileOpen plugin installation and then informed me that it couldn’t open the file because it had already been authorized to “another computer.” That computer was, of course, my computer, the very same computer I was now using, but apparently FileOpen’s authorization is actually applied to a particular application, not to the computer on which the application runs. Since I had authorized the PDF with Reader 7, it could only be opened with Reader 7 (and, presumably, only that particular copy of Reader 7; I’ll bet if I ever had to reinstall Reader 7, the replacement wouldn’t be able to open the file).

So I got on the phone to the standards body and complained, first about the authorization problem and second about forcing me to use Reader instead of Preview. I didn’t, and still don’t, expect anything to come of the second complaint—Windows users seem to think Reader is a fine program. And besides, it’s free, so what’s there to complain about? I did, however, manage to get them to let me to download another copy of the standard, one that I could authorize with Reader 8. The authorization of the new PDF worked—OK, Reader crashed the first time it tried to open the file, but it worked the second time—and the standard was sitting happily on my Desktop.

The first thing I did was print out a copy for safe keeping. In the old days, paper copies were all we had, and I didn’t want to put all my trust in a computer file and program that had already acted flaky. When I hit Command-P, the most amazing dialog box appeared. I didn’t take a screenshot of it at the time, and I’m writing this on a different computer, so I can’t take one now, so a description will have to suffice. (Update: Back at my work computer—here’s a screenshot.)

The dialog box didn’t look like any Print dialog I’d ever seen. There was no opportunity to choose a printer, no option to choose a paper tray, no option for collating or duplex printing, no way to print a range of pages. Here’s what you could choose:

The file would print out, on one side of the paper, on the default printer using the default paper tray. Don’t like that? Talk to the hand.

Apparently, Adobe was scared shitless of Apple’s standard Print dialog, with its dangerous Save as PDF… menu command.

This was a terrible state of affairs. I had just paid for a file that won’t open in Preview, that almost certainly won’t open with the next version of Reader, and that I can’t print the way I want. As I wrote on the Twitter, I was starting to turn into Cory Doctorow. I had to free that PDF!

And with a bit of work, I succeeded. I now have an unlocked, free to copy version of the PDF. I can open it in Preview, I can copy it to my laptop or a thumbdrive, and I can print it on whatever printer I want using whatever options I want. I won’t sell or distribute copies. I’m not interested in piracy; I just want a copy of the standard that’s usable and won’t turn into a pumpkin in a year or two.

I won’t tell you how I unlocked the file (because I am scared shitless of the standards body’s lawyers), but I will remind you of a few things you probably already know:

  1. Printer drivers create temporary files, called spool files, when you issue a print command.
  2. The spool file for a PostScript printer is a PostScript file.
  3. When a printer is paused, the spool file will sit in a particular directory until the printer is unpaused or the print job is deleted.
  4. PostScript files can be turned into PDFs using utilities like Ghostscript and ps2pdf.
  5. Google is your friend.

Godspeed, John Glenn.