Common UNIX Printing System eli CUPS on useissa UNIX-yhteensopivissa järjestelmissä toimiva avoin tulostusohjelmisto. Nykyään se on käytössä muun muassa macOSin ja useimpien Linux-jakelupakettien pääasiallisena tulostusjärjestelmänä.

Common UNIX Printing System
Kehittäjä Easy Software Products
Kehityshistoria
Vakaa versio 2.4.11 ()[1]
Tiedot
Ohjelmistotyyppi tulostuspalvelin
Alusta Unix-tyyppiset
Lisenssi GNU GPL
Aiheesta muualla
Verkkosivusto
Versiohallinta

Historia

muokkaa

CUPS syntyi syksyllä 1993 vastaperustetun Easy Software Products (ESP) -nimisen ohjelmistoyrityksen 3D-mallinnusohjelmaprojektin sivutuotteena. Yksinkertaista tekstiä monimutkaisempien dokumenttien tulostaminen oli UNIX-järjestelmissä perinteisesti hoidettu Adobe PostScript -sivunkuvauskieltä käyttäen, mutta tämä lähestymistapa edellytti tulostimelta suoraa PostScript-tukea, jota ei kuluttajatason tulostimista löytynyt.

Tuolloin GhostScript, suosittu ilmainen PostScript-tulkki, ei ollut vielä varteenotettava vaihtoehto, joten ESP:n ohjelmoijat päätyivät ohjelmoimaan omat tulostinajurinsa ja tulostusohjelmansa. Vuonna 1994 nämä ohjelmat julkaistiin SGI IRIX-käyttöjärjestelmälle erillisenä tuotteena nimeltä ESP Print. ESP Print ohitti nopeasti ESP:n mallinnusohjelman yhtiön suosituimpana tuotteena, ja vuonna 1995 yhtiö lopettikin mallinnusohjelmansa tuottamisen keskittyen ESP Printin kehittämiseen. Ohjelmisto siirrettiin myös HP-UX- ja Sun Solaris-käyttöjärjestelmille.

Kun ESP:ssä alettiin pohtia ESP Printin siirtämistä Digital UNIX- ja Linux-käyttöjärjestelmille, törmättiin ohjelmistossa käytetyn Berkeleyn LPD-protokollan (Line Printer Daemon) eri toteutusten välisiin epäyhteensopivuuksiin ja tiettyjen yleisessä käytössä olevien toteutusten teknisiin rajoituksiin, jotka lopulta johtivat LPD-protokollan korvaamiseen IPP-protokollalla. IPP-yhteensopiva ESP Print -ohjelmisto julkaistiin lokakuussa 1999 nimellä CUPS 1.0.

Apple osti projektin vuonna 2007 ja palkkasi sen kehittäjän Michael Sweetin.[2] Marraskuussa 2017 Apple ilmoitti muuttavansa lisenssin GNU GPL:stä Apache-lisenssin versioon 2.0.[3][4]

Sweetin lähdettyä Applelta perustamaan uutta yritystä projekti on saanut vähäistä huomiota Applelta.[2] Linux Foundationin OpenPrinting-projekti on forkannut CUPS-projektin väliaikaisesti ylläpitääkseen sitä.[2][5] Applen lopetettua CUPS-kehityksen OpenPrinting jatkaa kehitystä yhteistyössä Sweetin kanssa.[2][6] Sweet on aloittanut PAPPL-projektin, jossa on IPP Everywhere -palvelu.[7]

Ohjelmiston rakenne

muokkaa
 
Tulostustyön eteneminen CUPS-järjestelmässä

CUPSin tärkeimmät osat ovat tulostusjono (scheduler/spooler), suodattimet (filters) ja taustaosa (backend). Kun käyttäjä antaa dokumentin tulostettavaksi, lisätään se ensin tulostusjonon viimeiseksi. Kun dokumentti tulee tulostusvuoroon, suodattimet muuttavat sen tulostimen ymmärtämään muotoon ja taustaosa toimittaa sen tulostimelle, joka voi olla paikallinen tulostin tai verkkotulostin.

CUPS toimii käyttäjätilassa käyttöjärjestelmän ytimen ulkopuolella, mistä johtuen

  1. virheellinen tulostinajuri ei kaatuessaan kaada koko järjestelmää
  2. tulostinajureita ei tarvitse kehittää jokaiselle CUPSia käyttävälle käyttöjärjestelmälle erikseen

CUPS tukee kolmea TCP/IP-pohjaista protokollaa verkkoon kytkettäville tulostimille: AppSocket, Internet Printing Protocol ja Line Printer Daemon.[8]

Lähteet

muokkaa
  1. v2.4.11, (viitattu ). Tieto on haettu Wikidatasta.
  2. a b c d Has Apple abandoned CUPS, the Linux's world's widely used open-source printing system? Seems so theregister.com. 15.10.2020. Viitattu 16.10.2020. (englanniksi) 
  3. Larabel, Michael: Apple Buys Out CUPS Printing 12.7.2007. Phoronix. Viitattu 10.11.2017.
  4. Larabel, Michael: Apple Will No Longer Be Developing CUPS Under The GPL 8.11.2017. Phoronix. Viitattu 10.11.2017.
  5. https://openprinting.github.io/about-us/
  6. Michael Larabel: CUPS 3.0 Continues Being Crafted To Overhaul Linux Printing phoronix.com. 15.9.2022. Viitattu 15.9.2022. (englanniksi)
  7. PAPPL Printer Application Framework msweet.org. Viitattu 30.11.2020. (englanniksi) 
  8. Using Network Printers cups.org. Viitattu 30.11.2020. (englanniksi) 

Aiheesta muualla

muokkaa
Tämä ohjelmistoon liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.
  NODES
INTERN 3
Note 1