Gutenprint

Gutenprint (formerly Gimp-Print) is a collection of free-software printer drivers for use with UNIX spooling systems, such as CUPS, lpr and LPRng. These drivers provide printing services for Unix-like systems (including Linux and macOS), RISC OS and Haiku.
It was originally developed as a plug-in for the GIMP, but later became a more general tool for use by other programs and operating systems (macOS and Windows). When Apple introduced Mac OS X, it omitted printer drivers, claiming that it was the printer manufacturer's task to produce these. Many of them did not update their drivers, and since Apple had chosen to use CUPS as the core of its printing system, Gimp-Print filled the void.
Gutenprint has more than 1,300 drivers for Apollo, Apple, Brother, Canon, Citizen, Compaq, Dai Nippon, DEC, Epson, Fujifilm, Fujitsu, Gestetner, HP, IBM, Infotec, Kodak, Kyocera, Lanier, Lexmark, Minolta, NEC, NRG, Oki, Olivetti, Olympus, Panasonic, PCPI, Raven, Ricoh, Samsung, Savin, Seiko, Sharp, Shinko, Sony, Star, Tally, Tektronix and Xerox printers.
Many users incorrectly called it Gimp, so the software was renamed Gutenprint to clearly distinguish it from the GIMP. The name Gutenprint recognizes Johannes Gutenberg, the inventor of the movable type printing press.
Epson backend.
The Epson backend is in active development; new printers, bug fixes and capability additions are contributed in each new release.
Canon backend.
This backend is in active development, and new printers, bug fixes and capability additions are contributed in each new release.
Canon printers use intelligent printheads, which control the quality of the final output given metadata sent to the printer from the driver. A consequence of this design is that the print quality is not specified in resolution alone, but via a "resolution mode" quality setting (up to 5 quality settings available at a time). The resolution parameter in the driver-output data is only a meta-resolution, typically either 300 or 600 dpi, sometimes 1200 dpi for certain monochrome or high-quality photo modes on a limited number of printers. The firmware then controls the printhead and creates physical ink output up to the marketed resolution.
The available quality selections depends on a number of parameters (as applicable): the media to be printed on, duplex or simplex, borderless or bordered, color or monochrome printing, inkset selection, and cartridge selection. Thus, there are a number of available "resolution modes" per media, some of which will be available depending on the other parameters set for the printjob.
Since in gutenprint, all options are always available via the PPD, the driver attempts to select reasonable defaults in the cases where the user settings are in contradiction. The prioritization follows: media type, resolution mode, cartridge selection, inkset selection, duplex selection. When a parameter clash is detected by the driver, resolution mode and other parameters are set according to the priority above, and substitution of resolution mode carried out to try to maintain the required quality initially requested.
Borderless selection, added in version 5.2.9, is currently not a part of the prioritization and replacement algorithm, as only a small number of printers have been analyzed to discover the appropriate modes and media for borderless printing.
Unmaintained backends.
The PCL, color laser, and Lexmark backends are currently unmaintained. Volunteers are welcome.
Fairly often, printers that would use these backends have emulation capability for other languages, in particular Postscript. In such a case, the printer can be configured to use a standard Postscript driver.