Проект OpenPrinting выпустил систему печати CUPS 2.4.0

Проект OpenPrinting представил релиз системы печати CUPS 2.4.0 (Common Unix Printing System), сформированный без участия компании Apple, которая с 2007 года полностью контролировала разработку проекта, поглотив компанию Easy Software Products, создавшую CUPS. Из-за пропадания интереса компании Apple к поддержанию системы печати и общей важности CUPS для экосистемы Linux, энтузиастами из сообщества OpenPrinting был основан форк, в котором была продолжена работа над проектом без смены имени. К работе над форком подключился Майкл Свит (Michael R Sweet), изначальный автор CUPS, два года назад уволившийся из Apple. Код проекта продолжает поставляться под лиценизией Apache-2.0, но первичным позиционируется репозиторий форка, а не компании Apple.

Разработчики OpenPrinting заявили о продолжении разработки независимо от Apple и рекомендовали рассматривать их ответвление в качестве основного проекта после подтверждения компанией Apple отсутствие интереса к дальнейшему развитию функциональности CUPS и намерении ограничиться сопровождением кодовой базы CUPS для macOS, в том числе перенося исправления из форка от OpenPrinting. C начала 2020 года поддерживаемый компанией Apple репозитории CUPS находился в глубокой стагнации, но последнее время Майкл Свит начал перенос в него накопившихся изменений, одновременно участвуя в разработке CUPS в репозитории OpenPrinting.

Из добавленных в CUPS 2.4.0 изменений отмечается появление совместимости с клиентами AirPrint и Mopria, добавление поддержки аутентификации OAuth 2.0/OpenID, добавление поддержки pkg-config, улучшение поддержки TLS и X.509, реализация атрибутов “job-sheets-col” и “media-col”, объявление устаревшими cups-config и аутентификации через Kerberos.
В состав также включены накопившиеся за два года исправления ошибок и патчи, поставляемые в пакете для Ubuntu, в том числе добавлены возможности, необходимые для распространения стека печати на базе CUPS, cups-filters, Ghostscript и Poppler в самодостаточном пакете в формате Snap (Ubuntu планирует перейти на данный snap вместо обычных пакетов).

Из планов на выпуск CUPS 3.0 называется намерение прекратить поддержку формата описания принтеров PPD и перейти на модульную архитектуру системы печати, полностью избавленную от PPD и основанную на применении фреймворка PAPPL для разработки приложений вывода на печать (CUPS Printer Applications) на базе протокола IPP Everywhere. В отдельные модули планируется вынести такие компоненты как команды (lp, lpr, lpstat, cancel), библиотеки (libcups), локальный сервер печати (отвечает за обработку локальных запросов вывода на печать) и совместный сервер печати (отвечает за сетевую печать).




Напомним, что организация OpenPrinting была создана в 2006 году в результате объединения проекта Linuxprinting.org и рабочей группы OpenPrinting из Free Software Group, занимавшейся развитием архитектуры системы печати для Linux (Майкл Свит, автор CUPS, был одним из лидеров данной группы). Год спустя проект перешёл под крыло Linux Foundation. В 2012 году проект OpenPrinting по договорённости с компанией Apple взял в свои руки сопровождение пакета cups-filters с компонентами, необходимыми для работы CUPS в системах, отличных от macOS, так как начиная с выпуска CUPS 1.6 компания Apple прекратила поддержку некоторых фильтров печати и бэкендов, используемых в Linux, но не представляющих интереса для macOS, а также объявила устаревшими драйверы в формате PPD. Во время работы в Apple подавляющее большинство изменений в кодовую базу CUPS вносил лично Майкл Свит.

Release. Ссылка here.