Technologie

Co se otevřený software naučil z tržiště

Esej Erica S. Raymonda z roku 1997 na Linuxu a programu fetchmail ukázala, proč otevřený vývoj rychle hledá chyby. Platí to jen s údržbou, důvěrou a pravidly.

Sofia Lane ·

Co se otevřený software naučil z tržiště

Eric S. Raymond přednesl text „The Cathedral and the Bazaar“ jako přednášku v roce 1997 a brzy poté ho vydal jako esej. Jeho základní protiklad byl zapamatovatelný: katedrála znamenala software stavěný malou uzavřenou skupinou, tržiště software vyvíjený veřejně mnoha přispěvateli. Raymond nepopisoval veškeré programování navždy. Snažil se vysvětlit, proč se Linux, který Linus Torvalds začal v roce 1991, stal funkčním jádrem operačního systému díky otevřené a rychlé spolupráci.

Praktickým příkladem v eseji byl fetchmail, Raymondův program pro stahování pošty. Autor zveřejňoval rané verze, poslouchal uživatele, přijímal opravy a bral hlášení chyb jako součást vývoje, ne jako ostudu. Slavná věta „při dostatku očí jsou všechny chyby mělké“, později označovaná jako Linusův zákon, vystihla mechanismus: mnoho nezávislých testerů používá různé počítače, návyky a okrajové případy, takže vady vyplavou rychleji, než by je dokázal napodobit jeden tým.

![Diagram open-source vývoje srovnává centralizované vydávání ve stylu katedrály s tržnicí veřejných příspěvků. Kredit: původní vysvětlující diagram EBK.](https://images.ctfassets.net/80ca4ljo2d4c/5hcxK6cfnWdySwqSloSIlu/9563e4c5e8781cbe57f8d5a1f2a8eb85/ebk-cs-the-cathedral-and-the-bazaar-body1-cs.svg)

Tento mechanismus stojí na více věcech než na ochotě. Otevřené projekty potřebují čitelný kód, veřejná úložiště, správce schopné odmítat špatné záplaty, pravidla pro hlášení bezpečnostních chyb a licenci, která dovoluje program používat a měnit. Tržiště není nepřítomnost řádu. Je to jiný řád, v němž část kontroly uzavřeného dodavatele nahrazuje revize, pověst a sdílené nástroje. Git, GitHub a průběžné testování později tento vzorec zviditelnily, lidský rozměr však nezmizel.

Esej zasáhla i mimo programátorský svět, protože společnost Netscape ji uvedla mezi vlivy, když v roce 1998 oznámila uvolnění kódu prohlížeče, z něhož vyrostla Mozilla. Manažerům dala jazyk pro věc, kterou vývojáři znali z praxe: uživatelé mohou být spoluobjeviteli problémů, ne jen zákazníky čekajícími na hotovou katedrálu. Dnes Linux běží v telefonech, serverech, cloudech i vestavěných zařízeních a otevřené knihovny nesou velkou část webu.

![Schéma softwarového projektu ukazuje hlášení chyb, záplaty, kontrolu a vydání z distribuované komunity. Kredit: původní vysvětlující diagram EBK.](https://images.ctfassets.net/80ca4ljo2d4c/1hnx2OSkMgJGYaCrf0oa9z/89595c421447558c21f79b077693fdcb/ebk-cs-the-cathedral-and-the-bazaar-body2-cs.svg)

Hranice jsou dnes zřetelnější. Otevřený software může trpět nedostatkem peněz pro správce, opuštěnými balíčky, zmatkem v licencích i bezpečnostními útoky, což v roce 2024 připomněl pokus o zadní vrátka v nástroji xz Utils. Viditelnost sama o sobě neznamená bezpečí a dobrovolníci nejsou nekonečná infrastruktura. Trvalé poučení proto nezní, že tržiště vždy vítězí. Zní, že sdílená kontrola, rychlá zpětná vazba a odpovědná údržba mohou vytvořit silnější software než samotné utajení.

Limity se ukázaly zřetelněji s růstem spolupráce na otevřeném kódu. Veřejný repozitář automaticky nevytvoří bezpečný ani lidsky udržitelný software. Chyba Heartbleed v knihovně OpenSSL, zveřejněná v roce 2014, ukázala, že široce používanou infrastrukturu může udržovat velmi malý tým. Zranitelnost Log4Shell z roku 2021 ukázala, jak jedna javová knihovna pro logování zasáhne firmy i vlády po celém světě. Bazar funguje nejlépe tehdy, když kontrola, financování, dokumentace a správa rostou spolu s používáním.

Proto dnes vedle dobrovolníků záleží i na institucích. Linux Foundation, Apache Software Foundation, Python Software Foundation, GitHub Security Lab a OpenSSF představují pokusy dát sdílenému kódu údržbu, audity a peníze. Mechanismus je pořád rozdělené přispívání, ale omezením je správcovství: někdo musí třídit hlášení, podepisovat vydání, měnit klíče, kontrolovat závislosti a rozhodnout, co se stane, když správce vyhoří.