I love Richard Stallman's often recounted printer story, and as a long time user of a Free software desktop (exclusively for nearly 15 years now) I empathize with the pain of getting printers working well with Linux based systems. Well, CUPS has become so good these days and printer manufacturers seem to care enough about Linux support that things are actually pretty good, if not perfect, these days.
Still, when we decided to get a new printer for the house I approached the task with a certain amount of personal surrender and the expectation of annoyance. I spent some time one afternoon looking at the various options for a simple black-and-white laser printer, preferably with duplex printing support (aka "print on both sides of a page") and settled on an entry-level Samsung printer, the ML-2955DW. It seemed a good product on paper in terms of the price/performance ratio. Even though it's ~1 cent more per page over the life the printer (something that doesn't matter too much to us as we don't print that much), it got very good reviews online and has features like Wifi and the sought-after duplex.
Going back to the Linux support, I was a little nervous when I searched for reports on using this printer with Free software operating systems: I only found a couple of hits, the primary one being one fellow's somewhat manual and only semi-successful effort to get it working under Fedora. So with the knowledge that it does work (if with some effort) and figuring "Hey, I'm a geek with Linux know-how so I should be able to get it to work, right? Samsung makes all kinds of Linux devices these days so they must have reasonable Linux support, right?", we placed an order.
When it arrived we set it up in the home-office and were very satisfied with the weight (it's light) and look (it's elegant from the blue-LED light buttons on the control panel to the fold-up lid on the paper output to the paper size markings on the adjustable paper tray) and happily surprised with some of the nicer features like the WPS button for wifi setup. I pressed the WPS button on our wifi AP and then on the printer and waited a few seconds until the WPS button stopped blinking on the printer. In theory, it was set up and ready to go. Now to set it up under Linux.
We fired up S.'s laptop running openSUSE 12.1 and went into the printer config. After not finding the exactly right driver, we went to Samsung's website where the "Universal Driver" package was available for download. After unpacking it to disk, expecting to start a bunch of cp and vim as root, I saw that it had a GUI installer. Even more cool: it uses Qt! There is also a text mode installer, but the Qt GUI worked like a champ and was amazingly simple and dreadfully uneventful to use. It set up CUPS perfectly, detected the printer on the network quickly and when it came time to print a test page .. up popped the Qt printer dialog! The only thing that could have been better is if they had included the Linux software on the CD that shipped with the device.
Still, my Linux hardware pessimism kicked in: it was all going a little too smoothly. Would it print properly, or would we get some strangely bad output? Would the features like duplex printing work without any tweaking? We too it for a test drive and ...
... everything. just. worked. Yes, including duplex printing. LibreOffice seems to have some problems with that feature (though perhaps I did something wrong there: it's print support is so baroque and difficult to use that I would not be surprised if that was a PEBCAK error ;), but all the Qt and KDE software I tried worked flawlessly.
The moral of the story, at least for me, was that the Free software desktop has come leaps and bounds in the last decade. My dinosaur-era expectations of trouble were not rewarded, and instead I was treated to a great experience. Thank you to everyone who has worked on making this possible: those who have slaved over printing support, those who have made awesome toolkits like Qt to tap into all the features, those who have guided companies like Samsung from the relative dark ages into the light when it comes to Linux support ... to all of you: my deepest gratitude.
Amazing how one little printer can tell such a big story to the right person. :)