Historie open-source a free software – 1. část
Autor: Jan Zubíček
Úvod
Určitě jste již zaslechli pojmy jako open-source, free software nebo naopak proprietární a komerční software. Jistojistě jste už také narazili na úspěšné projekty, jakými jsou například operační systém Linux, prohlížeč webových stránek Firefox, databáze MySQL nebo třeba HTTP server Apache (tím spíše, že navštěvujete stránky tohoto webu a pustili jste se do čtení mého článku).
Na druhou stranu si upřímně přiznejte, nakolik dokážete zmíněné pojmy definovat a vzájemně rozlišit. Nebo do jaké míry chápete odlišnost zmiňovaných programů od svých proprietárních protějšků (odpůrci open source nyní spolknou jedovatou slinu a ti, kteří ví, o co jde, prominou mou slohovou zkratku ;)). Pro kolik z vás jde jen o „software zadarmo, který můžu legálně kopírovat“.
Přestože jsem bytostný optimista a rád bych věřil, že obecné povědomí je na vysoké úrovni, napovídá mi má zkušenost, že značná část i odborné veřejnosti zůstane u výše zmiňované definice.
Je pravda, že Běžnému (Franta) Uživateli to může být vcelku jedno, hlavní podmínkou pro něj je, „aby to fungovalo“ a „že to nic nestojí“. Nám ostatním, kteří bychom vždy rádi věděli více a pokud možno vše pochopili, by však tenhle přístup stačit neměl.
V následující sérii článků bych se rád pokusil nadhozené pojmy osvětlit. Doufám, že nevzbudím velký odpor tím, že jsem pro osvětlení zvolil trošku dějepisný přístup. Bohužel vznik myšlenek, ze kterých komunita tvořící open-source software vznikla, zasahuje až do počítačového pravěku (padesátá léta 20. století) a jejich vývoj probíhá až dodnes, proto k jejich pochopení troška toho dějepisu neuškodí.
Na druhou stranu nejsem schopný dodržovat časové hledisko dokonale (nepovažujme to pracovně za mou osobnostní vadu, ale za „složitost vývoje myšlenkových hnutí v lidské společnosti“), takže budu muset částečně v čase skákat podle věcných souvislostí (no ale na Tarantina to nemá).
Historii jsem nakonec pro účely seriálu rozdělil do tří období, se kterými se také jednotlivé díly seriálu budou krýt:
- dění před vznikem Free Software Foundation (FSF) a GNU – období formování myšlenek vedoucí ke vzniku free software a open-source hnutí (no prostě období mamutů a jiných potvor)
- období mezi vznikem FSF a Open Source Iniciative (OSI) (období, kdy se narodila většina čtenářů programujte.com)
- a období mezi vznikem OSI a dneškem
Aby to nebylo tak úplně jednoduché (a také kvůli rozdílnému obsahu jednotlivých částí), nevlezou se pravděpodobně jednotlivé díly do jednotlivých částí seriálu, takže doufám, že se v tom zmatku všichni nakonec vyznáme a každý bude vědět, co za názvy jsem to použil v předchozím seznamu.
Zdroje a závěr úvodu
Abych nezapomněl, musím také předem zmínit nejdůležitější zdroje. Především to byl výborný seriál „The daemon, the gnu, and the penguin — A History of Free and Open Source“ autora Petera H. Saluse, ze kterého jsem vycházel a intenzivně se snažil, abych při jeho čerpání nepřešel od inspirace k plagiátorství. Dále to byla úžasná otevřená encyklopedie Wikipedia, kterou je už v mnohých oborech při zachování kritického pohledu možné použít jako velmi kvalitní zdroj. No a taky spousta dalších zdrojů, které nezapomenu zmínit přímo v textu (většinou formou odkazu).
Samozřejmě nejsem neomylný a větší část věcí, o kterých zde píšu, jsem osobně nezažil. Pokud byste tedy narazili na chyby, které mohly vzniknout třeba špatnou interpretací zdrojů, určitě se ozvěte, pokusím se to dát do pořádku.
Po obšírném úvodu se můžeme konečně pustit do první části vyprávění…
Díl první – Období před zformováním Free Software Foundation
Když historie, tak pořádně. Pokud se máme zabývat historií open-source software, je nejdříve třeba popsat to, co ke vzniku tohoto hnutí vedlo. Základními impulzy, které formovaly a zapůsobily na vznik tohoto modelu vývoje SW, jsou především (v souladu s členěním, které používá Peter H. Salus ve své knize, kterou jsem již zmiňoval):
- formování uživatelských skupin
- vznik Internetu
- a v neposlední řadě vznik UNIXových operačních systémů
Vznik prvních uživatelských skupin
Určitou charakteristikou open-source a free software je jejich komunitní vývoj. Proto zde alespoň zběžně „naťuknu“ vývoj uživatelských skupin, které napomohly vzniku tohoto druhu software.
SHARE
Když IBM v roce 1952 uvedla na trh svůj první komerční počítač IBM 701, znamenalo to určitý převrat (ale stále ještě zabral menší tělocvičnu a pokud by se k jeho používání měla používat myš, měla by naftový pohon). Do té doby všechny počítače byly pouhými prototypy, vyrobenými v počtu jednoho kusu (např. ENIAC, MARK I – za domácí úkol si můžete najít i další). Během let 1952–1954 vyrobilo IBM úžasné množství 18 kusů IBM 701. Samozřejmě, operátory těchto počítačů bylo nutné zaškolit, a proto IBM pro své zákazníky uspořádalo v srpnu 1952 školení.
Jestli za to mohla společenská zábava po skončení školení, nebo snad jeho úroveň byla nesrovnatelná se školeními, se kterými máme běžně možnost se setkat, nevím, každopádně někteří z účastníků tohoto školení se rozhodli, že budou i nadále pokračovat v neformálních setkáních, na kterých budou diskutovat zkušenosti a problémy, na které narazili během užívání těchto počítačů (třeba jak se dostat do dalšího levelu, však to znáte). První setkání se mělo konat po uvedení jejich IBM 701 do provozu.
Mezitím však již IBM vyvíjelo další generaci svého počítače, IBM 704. Ten byl s předchozí verzí nekompatibilní, což vyvolávalo ve stávajících uživatelích verze 701 určité rozladění (minimálně takové, jako když svému počítačově negramotnému příbuznému schováte ikonku IE). I toto potřebovala firma IBM nějak vyřešit.
Když tedy v roce 1955 uspořádala RAND Corporation (americká nezávislá organizace, původně založená letectvem, zabývající se „podporou vědeckých, výzkumných a dobročinných cílů za účelem veřejného prospěchu a bezpečnosti USA“) setkání zástupců všech 17firem, které si objednaly IBM 704, došlo ke zformování SHARE – historicky první formální skupiny uživatelů počítačů.
Zpočátku byla skupina SHARE financována firmou IBM, která takto podporovala operátory jejích počítačů v tom, aby se setkávali, diskutovali problémy, na které při používání počítačů narazili (ten trol na desátém levelu je snad opravdu nesmrtelný), a vzájemně hledali řešení těchto problémů. Kromě toho vytvořila IBM knihovnu 300 počítačových programů, které byly dány k dispozici členům SHARE. Tato organizace funguje dodnes a sdružuje zákazníky IBM. Přesto, že je nyní plně nezávislá na IBM, udržuje s ní úzkou spolupráci.
Další skupiny
Postup IBM následovaly i další firmy. V roce 1961 došlo k založení DECUS – „DEC User's Society“. Podobné skupiny zformovaly mimo jiné také firmy Remington Rand, Bendix, Prime (PRIMUS) nebo Apollo (ADUS).
Je charakteristické, že v této době ještě nikoho nenapadalo zabývat se licenčními problémy – diskuze plynula volně a sloužila vzájemné pomoci jednotlivých uživatelů.
Uživatelské skupiny vznikaly také kolem operačního systému UNIX (kterému se budu věnovat v další části). Jistě nejznámější se stala „USENIX Association“. Základ této skupiny byl položen počátkem roku 1974, návrhem k setkání uživatelů UNIXu, které se mělo konat v květnu 1974 v New Yorku. Toto setkání se konalo 15. května a pozváno bylo více než 30 uživatelů, kteří předtím požádali Kena Thompsona (autor OS UNIX, podrobněji o něm později) o kopii tohoto operačního systému. Toto setkání, kterého se nakonec zúčastnilo asi 20 lidí, položilo základ organizaci „Unix Users Group“, později kvůli hrozbě ze strany majitele ochranné známky UNIX přejmenovaná na USENIX. I tato organizace funguje dodnes.
Přechod k elektronickým skupinám
Předchozí skupiny měly „tradiční“ formu, znamenaly organizované sdružování osob a často docházelo k osobnímu setkávání jejich členů. Oproti tomu dnešní komunity, které se podílejí na vzniku open-source a free software, fungují mnohdy, nebo spíš většinou, jen na bázi volné organizace a jediným druhem setkávání bývá elektronický styk, osobní setkávání je spíš jakousi „nadstavbou“ (třeba když chcete autora svého oblíbeného programu pozvat na pivo).
Posledním krokem k této formě byl vznik USENETu. Předchůdcem USENETu byl protokol a program UUCP („UNIX to UNIX Copy Protocol“ – protokol pro kopírování mezi systémy UNIX). Jeho původním autorem byl Mike Lesk a protokol umožňoval přenos dat mezi počítači po telefonních linkách tak, že data přenášel mezi jednotlivými počítači sérií skoků mezi vzájemně propojenými počítači.
Potenciál UUCP vytušili Tom Truscott a Jim Ellis (studenti University of North Carolina), kteří chtěli za pomoci UUCP vytvořit podobný systém, jakým byly e-mailové konference na ARPAnetu (pozdější Internet), který by ale byl přístupný počítačům nezapojeným do ARPAnetu (jak později popíšu, v této době ještě nebyl předchůdce Internetu přístupný veřejnosti).
Jejich nápad realizoval Steve Bellovin, který během roku 1979 napsal první Netnews program. Počáteční princip byl jednoduchý, systém hlídal změny v souborech a změněné soubory poté pomocí UUCP a modemového spojení kopíroval na ostatní propojené počítače. Vzhledem k tomu, že systém byl určen pro využití skupinou USENIX, dostal název USENET. Během let tento systém doznal několika vylepšení a zapojilo se do něj mnoho míst. Ke konci osmdesátých let již v rámci USENETu existovalo 20 000 konferencí.
Vzhledem k tomu, že původní účel USENETu, tedy zpřístupnit některé funkce ARPAnetu i lidem mimo akademickou sféru, pominul s průnikem Internetu do soukromé sféry a jeho obrovským rozšířením, používá dnes USENET pro přenos zpráv právě globální síť Internet. Zajímavostí také je, že kromě mnoha vývojářských konferencí bývá využíván také pro primární šíření warez (p2p sítě považují opravdové 1337 warez skupiny za něco „pro lamy“).
...pokračování příště.
(v příštím dílu se podíváme na vznik Internetu a také na stručnou historii operačního systému UNIX v období do počátku 80. let)