Apple's CUPS Repository Has Died A Quiet Death
The Common Unix Printing System (CUPS) is something all the GNU/Linux distributions use to manage printers. It's been maintained by Apple since 2007. The Apple-lead CUPS development efforts appear to have completely died out after lead CUPS developer Michael Sweet left the company. CUPS isn't dead, though, Sweet and others are still working on it in a fork maintained by the OpenPrinting organization.
Michael Sweet begun developing the Common Unix Printing System (CUPS) for his company Easy Software Products in 1997. The first beta versions, released under the GNU General Public License, appeared in 1999. Linux distributions were quick to adopt CUPS and the Internet Printing Protocol (ipp) it uses as the de-facto standard for printing and so did Apple it it's inclusion in Mac OS X 10.2 in March 2002.
Apple bought the Common Unix Printing System (CUPS) lock, stock and Michael Sweet in July 2007. They kept the GNU GPL v2 license and Michael Sweet kept working on it after he joined Apple.
Apple's CUPS product was steadily maintained and improved until Michael Sweet left Apple in December 2019. He explained his departure this way in a personal blog post:
"So today was my last day at Apple. Apple has been a great company to work for and I’m grateful for my time there. I accomplished most of the things I’d hoped for, particularly getting solid Internet Printing Protocol support in almost all network and USB printers sold over the last 10 years.
Going forward I’ll be taking a little time to reboot and start a new company with my amazing wife. I’ve missed working with her every day these last 13 years and I’m really excited to see where our new journey will take us."
Apple's CUPS git repository at Microsoft GitHub become a ghost-town after Mr Sweet's departure. There is a single commit bumping the version and fixing minor issues in 2020 and that's it, that's all that happened in the CUPS git repository this year. That's a stark contrast to the activity there previous years:
Commits to the public CUPS repository at GitHub 2017-2020.
A close-up inspection of the CUPS commit log shows that the vast majority of the code commits in recent years were done by Michael Sweet. There were apparently nobody else in or outside of Apple involved, so there were nobody to take over when he left Apple to start a new company with his wife.
CUPS isn't actually dead, though. Till Kamppeter, captain of the OpenPrinting organization, has created a CUPS fork at github.com/OpenPrinting/cups and Michael Sweet is on board with 24 code commits this month. Till Kamppeter created the fork "In case that Apple does finally cease CUPS development". It looks like the OpenPrinting fork will become the dominant fork given the lively activity in that fork and the virtual ghost-town in Apple's CUPS repository.
Michael Sweet isn't just working on CUPS in OpenPrinting's fork. Has has secretly been working on a C-based library called Printer Application Framework (PAPPL), a multi-threaded Internet Printing Protocol server that can interact with CUPS and other GUI and command-line applications. PAPPL will, for most users, be something that interacts with drivers and printers on a layer beneath CUPS. It can be used without CUPS but there are several basic things PAPPL can't do. PAPPL is not designed to spool printer jobs, pre-filter PDF files or share printers over a local network. CUPS will remain what most users interact with and PAPPL will likely be a new standard interface drivers interact with. You can read more about PAPPL at msweet.org/pappl/ and the code repository is at github.com/michaelrsweet/pappl.
Having a printer is handy the few times you actually need to print something. The number of times I've had a real need to put a computer document or spreadsheet on paper has declined from a dozen times a year to a few times a year to perhaps once a year. It's nice to know that I'll probably able to print from a Linux machine if I need to do so two or four years from now. It looks like it will be with the OpenPrinting CUPS fork, not Apple's, and that's completely fine by me.