OpenPrinting / cups

OpenPrinting CUPS Sources
https://openprinting.github.io/cups
Apache License 2.0
1k stars 178 forks source link

TSPL Filter from TSC #820

Closed iamacarpet closed 9 months ago

iamacarpet commented 9 months ago

Is your feature request related to a problem? Please describe.

CUPS not only runs on Mac, normal Linux distros & FreeBSD, it has recently found another large user facing install base in Chrome OS.

Chrome OS is popular with consumers, small business and with a growing number of enterprise users, where TSC and (in small business) other cheap thermal label printers that speak TSPL (like iDPRT, Munbyn, Polono) are common for things like shipping labels.

Chrome OS will accept PPD files that are passed to CUPS for printer configuration, however, you can't install custom filters, as no custom binaries are allowed on the system at all - it's completely read only once built by Google.

They have acknowledged the problem and are open to including more filters, although, on clarification, they require them to be open source:

ChromeOS ships a limited set of filters. We don't provide a way to load additional user-supplied filters. If your PPD requires a filter that isn't part of the OS image, it can't be loaded, as you've seen.

If there's an existing CUPS filter that would support SLCS, please feel free to open a bug here and we can evaluate whether it would be practical for us to include that with future OS versions.

Thanks, Benjamin

https://groups.google.com/a/chromium.org/g/chromium-os-discuss/c/fIo6PNOqam8/m/vxwnW03tAwAJ

I'm in talks with TSC to open source their own filter, which they currently only distribute as a closed source binary.

It's helping their discussion that their competitor, Zebra, has support included by default in CUPS and even some basic PPDs bundled out of the box, which obviously isn't too favourable for them.

Describe the solution you'd like

If TSC agree to open source their filter, we hope Google will include it within Chrome OS.

However, for the best benefit of the community (and to give TSC more reason to cooperate), it would be great to integrate their filter into the main CUPS repository, to be bundled with every install by default, to match their competitor Zebra.

You mentioned here that nothing else will be included in CUPS by default:

https://github.com/OpenPrinting/cups/issues/331#issuecomment-1031726810

However, if it helps TSC cooperate & improves the ecosystem as a result, I hope you'll reconsider that position.

Describe alternatives you've considered

Once open sourced in an independent repository, asking Google to include it just within Chrome OS, to the determent of the wider CUPS community.

LPrint isn't an option for locally connected, USB printers, as no other applications can be loaded onto Chrome OS, and CUPS is the only printing service that is bundled.

zdohnal commented 9 months ago

As Mike mentioned in the #331 , we don't plan adding any new drivers into CUPS, since they are deprecated for long time in CUPS and the current ones are moved/being moved into printer applications like LPrint to provide more focused support there or backward compatibility. It is a matter of Linux printing stack provided by OpenPrinting being in the specific part of process, where we move driver support into special applications from CUPS, thus we don't add any new drivers into CUPS.

Regarding Chrome OS, I would say they will bundle printer applications like LPrint in the future, unless they want to drop support for any non-IPP printer in the OS.

The best course of action is to check if the support can be added into LPrint, and if it can't be done, create a new printer application for TSPL - OpenPrinting created a nice manual how to do it - https://openprinting.github.io/documentation/02-designing-printer-drivers/ .