Created: 2006-10-16 by Till Kamppeter
Packages affected: Most printing-related: cupsys, foomatic*, printer drivers, printerdrake, ...; also: LSB, KDE, GNOME, GUI applications
Printer driver developers (printer manufacturers) and applications developers need common interfaces and infrastructure to easily implement drivers and application with a minimum of implementation an d testing effort and costs. Users need easy access to printer drivers and consistent user interfaces for printing out of their applications. On the Printing Summit appropriate standards were worked out and it is planned to implement some of them already in Ubuntu Feisty.
Printing is an essential task in using computers. The user expects that when he connects a printer it just works and he has access to all the printers functionality from every application.
Printer manufacturer PaperWaster wants to offer Linux support for his RainForestEx 2000. He simply writes a driver module plugging into GhostScript (no recompiling of GhostScript needed) and provides a binary driver package which drops all driver files into a subdirectory of /opt/PaperWaster/ and the PPD as /opt/share/ppd/PaperWaster/en/PaperWaster-RainForestEx_2000-PWPDL-en.ppd. CUPS simply finds the driver by the PPD and due to the directory named by the manufacturer nothing of the system can get overwritten. The user can simply print.
- A software vendor creates a new desktop application for Linux and the implementation works quickly and easily, especially the printing part, as with a few simple function calls application-specific options get added to the printing dialog, the desktop's printing dialog with access to all the printers and their full functionality fired up and the data sent to the printer.
- User A worked for long time with an integrated office application and printed many things with different printer settings. He gets a new application for human resources management and printing simly works for him, as he gets the same dialog as with his office application and directly finds every option he needs, without re-learning.
This applies to all Linux distributions.
Outcomes of the Printing Summit
For more information see the web page of the Summit, especially the links to the slides of each presentation in the "Agenda" section.
Most important result is the consensus about the printing-related requirements which will be added to LSB 3.2:
- Most functions of the CUPS convenience API, but not low-level API
- Qt 4.0 printing GUI API
Printer driver plug-in interfaces: IJS, CUPS Raster, OpenPrinting vector
GhostScript with the plug-in interfaces and at least with output devices “cups”, “ijs”, “opvp”, “pxlmono”, and “pxlcolor”
- Standard directories for drivers and PPDs (FHS extension)
linuxprinting.org is merged with FSG OpenPrinting and to the existing database new functionality will be added, especialy possibility for automatic download of printer drivers (in distribution-independent packages) by printer setup tools. In addition printer certification will be done and results be added to the printer database. This way printer manufacturers can advertise that their printers work "with Linux" and not "with Red Hat, SuSE, ...".
There was also a parallel session with people from OpenUsability and from desktop/GUI project working on common dialogs for printing and printer setup/management.
Many of the outcomes of the FSG OpenPrinting Summit will go into Feisty or later releases of Ubuntu: