OpenPrinting has been improving the way we print in Linux. Over the years we have changed many conventional ways of printing and scanning. Over the last few years we have been emphasizing on the fact that driverless print and scan has made life easier however this does not make us stop improving. Every day we are trying to design new ways of printing to make your printing and scanning experience better than that of today.
To make this a success, Linux Plumbers conference is helping us immensely. This will be our fourth year of participation at the Plumbers.
The wonderful discussion that we had last year has helped us achieve the following:
Restarted and organized development activity on CUPS:
Since Apple has abandoned the CUPS development and Michael Sweet and Till Kamppeter have moved the upstream home of CUPS to OpenPrinting, the accumulated bugs got fixed and development restarted. Following our discussion from the OpenPrinting MC in 2021 we have started a 2,4,x series, will start 2.5.x near the end of this year and 3.x near the end of 2023, where the latter is a new generation not using the obsolete PPD (PostScript Printer Description, we have PDF workflow for a decade now) files, splitting daemons in user daemon and printer-sharing server, … We also assigned release managers for each series, Zdenek Dohnal (Red Hat) for 2.4.x, Till Kamppeter for 2.5.x, and Michael Sweet for 3.x.
Coordinated and initiated work on Printer Setup Tool in the GNOME Control Center:
We also discussed on the 2021 MC how a printer setup tool for the New Architecture of pure IPP and now PPD-file-and-filter-based printer drivers any more should look like and this made the base for designing a new GNOME Control Center module which I am currently discussing with the Desktop Team and Design Team at Canonical for an implementation which is intended to submit to GNOME upstream. Coding is also carried out partially in Google Summer of Code projects.
All free software printer drivers available as Printer Applications now:
For the New Architecture for printing and scanning using pure IPP and not classic CUPS and SANE drivers any more we need a way to keep the non-driverless printers working and the solution are the Printer Applications, software emulations of driverless IPP printers which on their back end pass the jobs on to the physical printer and internally they convert incoming PDF or Raster into the printer's native format. We have discussed concept and design on all our three MCs from 2019 to 2021 and with this Michael Sweet created Printer Application framework PAPPL and Till Kamppeter made use of it to retro-fit all free software classic printer drivers which are available for Debian Linux into 4 retro-fitting Printer Application Snaps in the Snap Store. This way it is assured that printers which currently work do not lose support and so we can smoothly switch over to the New Architecture.
Planned further development for scanning support in PAPPL:
To support multi-function devices containing a printer and a scanner but also for general scanner support which works with sandboxed, distribution-independent packaging we are extending the concept of Printer Applications to also provide scan services via IPP Scan or eSCL. For this we want to add scanning support to PAPPL.
Based on Bhavna Kosta's GSoC work to start the scanning support in PAPPL we have discussed the further development and divided up the work to propose it as GSoC projects so that we can get the project completed this year.
Proposed Topics :
CUPS 2.5 and 3.0 Development (90 Mins)
Speaker: Michael Sweet
Topic Details: In this session we will first finalize the features and the roadmap for CUPS 2.5, especially finalize how we will support OAuth here, but also which further containerization/sandboxing/distribution-independent packaging systems we will explicitly support besides Snap, Docker for example. Then, most importantly, we will discuss the details of the CUPS 3.0 architecture, user daemon, printer-sharing daemon, how to integrate cups-filters, …
3D Printing (45 Mins)
Speakers: Till Kamppeter, Michael Sweet, TBD
Topic Details: 3D printing gets more and more popular, not only in the industry but also in the DIYer's garages. Especially for consumers but also for professional users it would be great to have an easy workflow, so that 3D printing "just works" like conventional 2D printing. Somehow one could think about clicking "Print" in the 3D design/CAD/CAM software and the object gets printed. As we already have CUPS filters for 2D printing data formats get converted to get the 3D printer's native language in the end. Also we need some standard format for the applications to send, like as we have PDF for 2D printing. We will discuss here how such a 3D printing workflow could look like.
Testing and CI for OpenPrinting projects (45 Mins)
Speakers: Till Kamppeter, TBD
Topic Details: cups-filters (and also other projects on OpenPrinting) get larger and more and more complex with the time. It is always harder to overview the code and to predict the exact effects of a change, adding a feature or fixing a bug one can easily cause a regression. One tests the code but has one really tested all types of input, all settings, … As human beings easily forget we need some automated testing, useful things being done when running "make check", and tests being triggered on each GIT commit. Here we will discuss strategies of automatic testing. We will also take CUPS' testing as an example and see whether we can proceed similarly on cups-filters.
Link: https://github.com/OpenPrinting/ , https://github.com/OpenPrinting/cups
Documentation for OpenPrinting projects (30 Mins)
Speakers: Till Kamppeter, TBD
Topic Details: Good documentation is something neglected a lot in the free software world. One is driving the coding of certain projects quickly forward to get something which actually works and one can try it out. One wants to get one's new library finally released. But how should people know how to use it? Documentation! CUPS is well documented, but cups-filters (and pappl-retrofit) lack API documentation. Also the user documentation on the sites of distributions like Debian or SUSE are often much better than our upstream documentation. Here we will discuss how to solve this. API documentation generators for libraries? Upstreamizing documentation from distros to OpenPrinting? …?
Link: http://www.openprinting.org/, https://github.com/OpenPrinting/openprinting.github.io
Sandboxing/Containerizing alternatives to Snap for Printer Applications or CUPS (30 Mins)
Speaker Name: Till Kamppeter
Topic Details: There are Snaps of CUPS and 5 Printer Applications, but Snap has also disadvantages, most prominently the one-and-only Snap Store. Are there alternatives to create distribution-independent packages, especially of Printer Applications? Docker? Flatpak? AppImage? …?
Link: https://github.com/OpenPrinting/ , https://openprinting.github.io/OpenPrinting-News-March-2022/#flatpak-and-printing
Participants who have confirmed they plan to attend:
Till Kamppeter (firstname.lastname@example.org)
Aveek Basu (email@example.com)
Jeff Licquia firstname.lastname@example.org
Kate Stewart email@example.com
Michael Sweet firstname.lastname@example.org
Ira McDonald email@example.com
Dhiraj Yadav firstname.lastname@example.org
Sahil Arora email@example.com
Jai Luthra firstname.lastname@example.org
Sambhav Dusad email@example.com
Lakshay Bandlish firstname.lastname@example.org
Mohit Mohan email@example.com
Vikrant Malik firstname.lastname@example.org
Rithvik Patibandla email@example.com
Deepak Patankar firstname.lastname@example.org
Zdenek Dohnal email@example.com
MC Runners: Aveek Basu (firstname.lastname@example.org) , Till Kamppeter (email@example.com)