01.12.2021

Проект OpenPrinting взял на себя разработку системы печати CUPS

Тилль Кампетер (Till Kamppeter), лидер проекта OpenPrinting, объявил, что из-за отсутствия интереса компании Apple к поддержанию системы печати CUPS основанный в прошлом году форк CUPS можно рассматривать как основой проект (upstream) для передачи патчей и включения в дистрибутивы. В развитии форка принимает участие Майкл Свит (Michael R Sweet), изначальный автор CUPS, полтора года назад уволившийся из компании Apple.

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

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

Из уже добавленных изменений отмечается интеграция патчей, накопившихся в пакете для Ubuntu, а также добавление возможностей, необходимых для распространения стека печати на базе CUPS, cups-filters, Ghostscript и Poppler в самодостаточном пакете в формате Snap (Ubuntu планирует перейти на данный snap вместо обычных пакетов). Другим фронтом работ является исправление ошибок, о которых последние 15 месяцев сообщалось в репозиторий Apple.

Изменения планируется включить в выпуск CUPS 2.4, в котором также ожидается появление совместимости с AirPrint/Mopria, добавление поддержки аутентификации OAuth 2.0/OpenID, добавление поддержки pkg-config, улучшение поддержки TLS и X.509, поддержка атрибутов «job-sheets-col» и «media-col», объявление устаревшими cups-config и аутентификации через Kerberos.

В дальнейшем в выпуске 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 вносил лично Майкл Свит.

Источник.