CUPS (Common UNIX Printing System) — сервер печати для UNIX-подобных операционных систем. Компьютер с запущенным сервером CUPS представляет собой сетевой узел, который принимает задания на печать от клиентов, обрабатывает их и отправляет на соответствующий принтер.
Состав CUPS:
- диспетчер печати
- планировщик
- система фильтрации, преобразующая данные печати в формат, понятный принтеру
- Back-end — система, отправляющая данные на устройства печати.
CUPS использует IPP (англ. Internet Printing Protocol) в качестве основы для управления заданиями и очередями. По умолчанию используется TCP-порт 631. Система также имеет собственный веб-интерфейс для администрирования. CUPS является свободным программным обеспечением и распространяется в соответствии с GNU GPL и GNU LGPL второй версии. В настоящее время CUPS является стандартом де-факто в UNIX-подобных операционных системах.
Несмотря на то, что в последних версиях Windows предусмотрена поддержка CUPS, часто используются совместно CUPS и Samba, что требует экспорта драйверов для Windows при помощи Samba, либо установки драйверов для соответствующего принтера на клиентском компьютере с Windows. Используется такое сочетание, так как часто драйверы для Windows имеют бо́льшую функциональность, чем драйверы для CUPS.
Разработка CUPS началась в 1997 году, а первая публичная бета-версия появилась через два года. Изначально CUPS использовал протокол LPD, но через некоторое время LPD был заменён на Internet Printing Protocol. CUPS был быстро принят как система печати по умолчанию в нескольких дистрибутивах Linux, на текущий момент применяется в большинстве дистрибутивов. В марте 2002 года, корпорация Apple приняла CUPS как систему печати для своей операционной системы Mac OS X 10.2, а в феврале 2007 наняла главного разработчика CUPS и приобрела права на исходный код.
В декабре 2019-го года, основатель проекта CUPS уволился из компании Apple.
Проект OpenPrinting, при поддержке организации Linux Foundation, приступил к развитию форка системы печати CUPS.
Наиболее активное участие в разработке форка принимает Майкл Свит (Michael R Sweet), изначальный автор CUPS.
В виду отсутствия интереса компании Apple к поддержанию системы печати CUPS, Проект OpenPrinting принял решение взять сопровождение кода CUPS в свои руки.
Разработчики OpenPrinting заявили о продолжении разработки независимо от Apple и рекомендовали рассматривать их ответвление в качестве основного проекта. Будущие версии форка CUPS будут выходить с сохранением имени проекта и без ранее используемого суффикса «opX».