CUPS (Common Unix Printing System) is a modular printing system. It's based upon the Internet Printing Protocol and supports PostScript or PDF and various raster printers. The spooler and drivers can deliver jobs remotely via IPP, LPD, SMB, and locally to USB, SCSI, Firewire, WiFi, serial, or parallel devices. Extensive filter support allows a wide range of input formats and printer targets to be supported. It's usable with BSD, Linux, MacOSX and Windows servers.