LFMP 2020 Projects

Contact

Important: We protect the e-mail addresses of our mentors and mailing lists against spam bots. Please replace all occurrences of “ at ” and “ dot ” by “@” and “.” resp.

Mailing list: printing-architecture at lists dot linux-foundation dot org

IRC: #openprinting on Freenode

OpenPrinting GitHub

Code License: See project descriptions

Organization Administrators

The participation of the Linux Foundation in the Linux Foundation Mentorship Programme is organized by Till Kamppeter (till at linux dot com) and Aveek Basu (basu dot aveek at gmail dot com).

Please see the plans for our near future work to get an overview of our development direction and architecture changes.

Project Ideas

Wrapping proprietary printer drivers into a Printer Application

Introduction

With sandboxed packaging, Linux distributions appear which do not use classic RPM or DEB packages any more, like the all-Snap Ubuntu Core. As a result CUPS will not work with classic PPD/filter-based printer drivers any more but requires all drivers being provided as Printer Applications. The student's task is to add this functionality to the Printer Application framework and create an easy way for users to install proprietary printer drivers into that chroot-equipped Printer Application.

Mentors

Till Kamppeter, Project Leader OpenPrinting (till at linux dot com), Aveek Basu, Project Manager (basu dot aveek at gmail dot com)

Desired Knowledge

C programming, C++ programming, Python Programming

Code License

GPL 2+ or LGPL 2+

Support for IPP Fax Out

Introduction

IPP Fax out is a feature which is currently missing in Linux unlike Print and Scan. The student's task here is to make this functionality easily accessible for users of common desktop Linux distributions. Like printers, faxes should automatically appear on the system and get available in print dialogs and if one prints to a fax, fax-specific options should also appear in the print dialog and the user should be able to pick phone numbers also from contacts.

Mentors

Till Kamppeter, Project Leader OpenPrinting (till at linux dot com), Aveek Basu, Project Manager (basu dot aveek at gmail dot com)

Desired Knowledge

C++ programming, Qt, CUPS

License

Qt Contribution Agreement

IPP scan (or virtual MF device) server (Scanner Application)

Introduction

The Internet Printing Protocol (IPP) does not only support printing, but also scanning, as there are many printers which also have a scanner (multi-function (MF) devices). Both CUPS and the developer tool ippserver emulate IPP network printers but not IPP scanners and so they cannot serve as a server to share a local scanner.

This task is about adding the scan server functionality. If you have a scanner connected locally (and it scans via SANE), share it as an IPP scanner, advertising itself and accepting jobs using the IPP driverless scanning standard. In contrary to SANE-based network scanning clients with any operating system, also phones or IoT devices can scan on your shared scanner.

Also old hardware can be recycled to a modern MF device.

This server software will be a so-called Scanner Application, a sample implementation of the future form of scanner drivers, easily packageable in sandboxed, distribution-independent package formats like Snap.

Mentors

Alexander Pevzner, “airscan” SANE backend author (pzz at apevzner dot com), Michael Sweet, author of CUPS (msweet at msweet dot org), Till Kamppeter, Project Leader OpenPrinting (till at linux dot com), Aveek Basu, Project Manager (basu dot aveek at gmail dot com)

Desired Knowledge

C programming, C++ programming, Printing

Code License

Apache 2.0