An Overview of the
Common UNIX Printing System,
Version 1.1

July 10, 2000
Michael Sweet, Easy Software Products
Copyright 1998-2005, All Rights Reserved.

This whitepaper describes the Common UNIX Printing SystemTM ("CUPSTM"), a portable and extensible printing system for UNIX®. CUPS is being developed by Easy Software Products, a software firm located in Hollywood, Maryland that has been selling commercial software for UNIX since 1993 through more than 40 distributors serving over 80 countries worldwide.

Additional information on CUPS is available on the World Wide Web at "http://www.cups.org".

Background

Printing within UNIX has historically been done using one of two printing systems - the Berkeley Line Printer Daemon ("LPD") [RFC1179] and the AT&T Line Printer system. These printing systems were designed in the 70's for printing text to line printers; vendors have since added varying levels of support for other types of printers.

Replacements for these printing systems have emerged [LPRng, Palladin, PLP], however none of the replacements change the fundamental capabilities of these systems.

Over the last few years several attempts at developing a standard printing interface have been made, including the draft POSIX Printing standard developed by the Institute of Electrical and Electronics Engineers, Inc. ("IEEE") [IEEE-1387.4] and Internet Printing Protocol ("IPP") developed by the Internet Engineering Task Force ("IETF") through the Printer Working Group ("PWG") [IETF-IPP]. The POSIX printing standard defines a common set of command-line tools as well as a C interface for printer administration and print jobs, but has been shelved by the IEEE.

The Internet Printing Protocol defines extensions to the HyperText Transport Protocol 1.1 [RFC2616] to provide support for remote printing services. IPP/1.0 was accepted by the IETF as an experimental Request For Comments [RFC] document in October of 1999. Since then the Printer Working Group has developed an updated set of specifications for