× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Historie open-source a free software - 2. část

[ http://programujte.com/profil/20356-jan-zubicek/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/75-martin-zak/ ]Google [ :?rel=author ]       28. 2. 2006       12 132×

V dnešním díle mého seriálu o open-source a free software si povíme něco o dalších důležitých momentech vedoucích k jejich vzniku – vzniku Internetu a vývoje operačního systému UNIX.

Historie open-source a free software – 2. část


Autor: Jan Zubíček

V minulém díle jsme se (kromě předlouhého úvodu) podívali na vznik prvních skupin uživatelů počítačů. V dnešní části budeme pokračovat dál stručnou historií Internetu a také počátky vývoje operačního systému UNIX.


Díl první – Období před zformováním Free Software Foundation – pokračování


Vznik Internetu

Historie vzniku Internetu by jistě vydala na několik samostatných článků, přesto se jí budu alespoň v pár odstavcích věnovat; pro vývoj open source a free software je Internet přeci jen zcela určující záležitostí.


Počátky vývoje

Myšlenkové základy Internetu byly položeny začátkem 60. let 20. století na 4 různých místech. Prvním z nich byla americká vládní agentura DARPA [ http://en.wikipedia.org/wiki/Darpa ] (Defense Advanced Research Projects Agency, tedy vládní organizace určená pro výzkum vojensky využitelných technologií). V jejím rámci vznikl speciální odbor technologií pro zpracování informací – IPTO (Information Processing Techniques Office). Jeho první ředitel – J. C. R. Licklider [ http://en.wikipedia.org/wiki/J.C.R._Licklider ] – byl autorem myšlenky, že počítače jsou spíše komunikačním než výpočetním nástrojem (jak jistě víte, v počátcích byly počítače využívány spíše pro zpracování dávkových dat, jako například vědecké výpočty nebo třeba výpočty mzdových prostředků, a pokud by v té době někdo zmínil, že za pár desítek let se budou využívat především pro chatování a stahování pornografie, tak by tehdejší uživatelé asi nejen nevěděli, co to je chatování, ale hlavně by to považovali za nesmírné plýtvání výpočetními prostředky. Z tohoto pohledu můžeme Licklidera považovat za velkého vizionáře).

Druhým centrem, kde vznikaly myšlenky, které měly v budoucnosti umožnit vznik Internetu, byla již dříve zmiňovaná RAND Corporation [ http://www.rand.org/ ]. Studie, kterou vypracoval Paul Beran, se zabývala zabezpečenými komunikačními technologiemi, které by dokázaly přestát jaderný útok. Jeho práce vedla k návrhu dvou principů: decentralizované sítě, jejíž jednotlivé uzly jsou propojeny různými možnými cestami využívajícími ostatních uzlů, a principu rozdělení zasílaných zpráv na menší bloky informací. Záměr byl jasný – pokud dojde ke zničení jednoho z uzlů, měly by zbývající uzly být schopné dále pokračovat ve vzájemné komunikaci (dokud by bylo s kým komunikovat).

Dalšími dvěma centry, zabývajícími se podobnými principy, byly britská „National Physical Laboratory“ [ http://en.wikipedia.org/wiki/National_Physical_Laboratory%2C_UK ] (NPL) a americká instituce „Massachusetts Institute of Technology“ [ http://en.wikipedia.org/wiki/Massachusetts_Institute_of_Technology ] (MIT – institut produkující nesmírné množství technických géniů).

Na základě těchto výzkumů se IPTO pod vedením Roberta Taylora [ http://en.wikipedia.org/wiki/Robert_Taylor_%28computer_scientist%29 ] rozhodla pro vybudování komunikační sítě, která by sloužila pro propojení jednotlivých výpočetních středisek, kterými disponovala. Původním záměrem bylo propojit jednotlivé počítače přímo za pomoci přepínání okruhů [ http://en.wikipedia.org/wiki/Circuit_switching ] při využití pronajatých komerčních linek (tedy princip podobný klasickému přepojování telefonních hovorů – „přepojování drátů“).

Autorem vylepšení tohoto záměru byl Wesley A. Clark [ http://en.wikipedia.org/wiki/Wesley_A._Clark ] (neplést si s Wesley K. Clarkem, bývalým vrchním velitelem sil NATO v Evpropě). Složitost přímého propojení navrhoval snížit přesunutím obsluhy spojení na minipočítače, které by byly v každém bodě připojení. Nazval je „Interface Message Processor“ [ http://en.wikipedia.org/wiki/Interface_Message_Processor ] (IMP). Tyto minipočítače by byly zodpovědné za samotnou komunikaci, zatímco každé centrum by komunikovalo pouze se svým IMP.

Již během roku 1968 oznámil IPTO, že specifikace pro budoucí síť jsou v podstatě dokončeny. Budoucí síť byla nazvána ARPANET [ http://en.wikipedia.org/wiki/Arpanet ], samotná práce na ní byla zahájena počátkem roku 1969 a koncem prosince již měla síť první čtyři uzly – University of California, Los Angeles [ http://www.ucla.edu/ ], Stanford Research Institute [ http://www.sri.com/ ], University of California, Santa Barbara [ http://www.ucsb.edu/ ] a University of Utah [ http://www.utah.edu/ ] (snad není potřeba překládat).


Další vývoj

Dalšími kroky, které formovaly Internet do podoby, jakou má dnes, byly především přechod na protokol TCP/IP [ http://en.wikipedia.org/wiki/Internet_protocol_suite ] v roce 1983 a vybudování univerzitní páteřní sítě NSFNet [ http://en.wikipedia.org/wiki/NSFNet ] institucí NSF [ http://en.wikipedia.org/wiki/National_Science_Foundation ] (National Science Foundation) v roce 1986. NSFnet byl propojen s ARPAnetem a stal se tak součástí budoucího Internetu.

Posledním, z našeho pohledu možná nejdůležitějším, krokem bylo zpřístupnění Internetu pro veřejnost v roce 1990. Společně s vynálezem World Wide Webu [ http://en.wikipedia.org/wiki/World_Wide_Web ] (WWW – vyvinut byl ve švýcarském „jaderném“ institutu CERN [ http://en.wikipedia.org/wiki/CERN ] sirem Timem Berners-Leem [ http://en.wikipedia.org/wiki/Tim_Berners-Lee ] pro snadné sdílení informací mezi vědeckými týmy), který se pro laiky stal takřka (no, pro některé vlastně úplně) synonymem pro Internet. To zapříčinilo rapidní růst nyní už globální sítě, která se tak stala jedním z nejdůležitějších komunikačních prostředků dneška. Je to právě Internet, který slouží jako základna pro většinu open-source a free software projektů.


Vznik UNIXových operačních systémů

Pominout UNIX v práci zabývající se open-source a free software by bylo trestuhodné. Nejenže první free software projekty byly psány pro UNIX a tvůrci myšlenek free software pocházeli z komunity kolem UNIXu, ale také samotné šíření a vývoj UNIXu v 70. letech byly předobrazem pro budoucí open-source a free software hnutí. Navíc jedna z vývojových větví UNIXu se stala součástí tohoto druhu software. V této části se proto zaměřím ne až tak na popis technického rozvoje UNIXu, jako spíš na podstatné momenty, které vedly k výše zmiňovaným faktům.


Postup k UNIXu

Z tohoto pohledu první podstatná událost se udála již roku 1956, tedy relativně dlouho před započetím vývoje UNIXu. V roce 1949 podalo americké ministerstvo spravedlnosti žalobu proti firmám AT&T (původně zkratka pro „American Telephone and Telegraph“) a Western Electric, která tvrdila, že tyto firmy jednají tak, že omezují trh. Následně roku 1956 soudce Thomas F. Meaney rozhodl v tom smyslu, že těmto firmám byla zakázána činnost mimo jejich hlavní obor činnosti (telekomunikační a přenosové služby). Přesto jim bylo povoleno pokračovat v takovýchto činnostech pro své interní a výzkumné potřeby. Tato událost měla mít na rozvoj UNIXu nečekaný vliv.


Počátky UNIXu

V průběhu 60. let byla AT&T [ http://en.wikipedia.org/wiki/AT%26T ] prostřednictvím své výzkumné laboratoře Bell Labs [ http://en.wikipedia.org/wiki/Bell_Labs ] zapojena společně s MIT a General Electric [ http://en.wikipedia.org/wiki/General_Electric ] do projektu operačního systému MULTICS [ http://en.wikipedia.org/wiki/Multics ] (Multiplexed Information and Computing Service). Nicméně roku 1969 tento projekt opustila.

Zaměstnanci Bell Labs Ken Thompson [ http://en.wikipedia.org/wiki/Ken_Thompson ] a Dennis Ritchie [ http://en.wikipedia.org/wiki/Dennis_Ritchie ] v projektu operačního systému pokračovali dále, ovšem bez finanční podpory Bell Labs. Během krátké doby vyvinuli souborový systém pro minipočítač PDP-7 [ http://en.wikipedia.org/wiki/PDP-7 ] a postupně na jeho základě vyvíjeli v assembleru [ ./clanek/2005071301-Assembler---Uvod ] operační systém, který pojmenovali UNICS (Uniplexed Information and Computing Service). Tento název byl později změněn na tvar UNIX [ http://en.wikipedia.org/wiki/Unix ].

Projektu se dostalo oficiálního zájmu Bell Labs, když jeho tvůrci slíbili přidat možnosti pro zpracování textu (zpracování textu se velmi hodilo například patentovému oddělení). Systém byl přepsán pro počítač PDP-11 [ http://en.wikipedia.org/wiki/PDP-11 ]. Navíc započalo jeho šíření, prozatím v rámci firmy AT&T. Koncem roku 1971 byl také autory vydán první „UNIX Programmer’s Manual“.

Další zvrat nastal roku 1973. UNIX byl přepsán do jazyka C [ http://en.wikipedia.org/wiki/C_programming_language ] (který byl zase vytvořen speciálně pro napsání UNIXU Dennisem Ritchiem), což zjednodušilo jeho portování na jiné platformy. Navíc poté, co Ken Thompson UNIX představil na sympoziu o principech operačních systémů pořádaném IBM, byli autoři „zavaleni“ žádostmi o kopie svého operačního systému. To postavilo právníky AT&T před dilema, zda povolit licencování UNIXu třetím stranám a za jakých podmínek.


Šíření UNIXu

Vzhledem k již dříve zmiňovanému soudnímu rozhodnutí se proto právníci rozhodli, že Bell Labs by měly distribuovat kopie výzkumným a akademickým institucím za cenu přenosového média a poštovné. Tento krok znamenal, že během krátké doby se UNIX rozšířil na desítky míst.

Zatímco vývoj v Bell Labs probíhal kontinuálně a uživatelé zde tedy používali stále nejaktuálnější kód, uživatelé vně laboratoře dostávali oddělené verze. Ty přímo závisely na jednotlivých vydáních „Unix Programmer’s Manual“. Jednotlivé verze systému byly označovány jako „Verze“ (Version), verze manuálu pak jako „Edice“ (Edition), proto se lze setkat s oběma označeními, která jsou vzájemně zaměnitelná.

Vývoj však neprobíhal pouze v Bell Labs, ale díky přístupnému kódu také na univerzitách. Z tohoto pohledu nejvýznamnější byla Univerzita v Berkeley [ http://www.berkeley.edu/ ]. První verzi vlastního systému BSD [ http://en.wikipedia.org/wiki/Berkeley_Software_Distribution ] (Berkeley Software Distribution) zkompletoval a na magnetických páskách rozesílal v roce 1977 Bill Joy [ http://en.wikipedia.org/wiki/Bill_Joy ] (pozdější zakladatel firmy Sun Microsystems [ http://www.sun.com/ ]). Spíš než o distribuci šlo o rozšíření Verze 6 o kompilátor jazyka Pascal [ http://en.wikipedia.org/wiki/Pascal_programming_language ] a editor „ex“ [ http://en.wikipedia.org/wiki/Ex_%28editor%29 ]. V dalších letech se objevily nové verze, v roce 1979 dokonce Univerzita v Berkeley dostala kontrakt na využití BSD v systémech DARPA.


Štěpení vývoje

Změny se dočkala také licenční politika AT&T. S tím, jak na konci 70. let rozdělila AT&T svou činnost, přestal porušovat vývoj operačního systému nařízení soudu. Již Verze 7 obsahovala v licenčním ujednání zákaz studování zdrojových kódů pro účely výuky. To logicky vedlo k tomu, že mnohé univerzity zastavily výuku UNIXu a zaměřily se pouze na výuku teorie.

Další vývoj UNIXu ze strany AT&T již zahrnoval jen komerční verze, nejprve „UNIX system III“, založený na Verzi 7, a později „UNIX system V“, který zahrnoval také výsledky vývoje univerzit a firem.

Vzhledem k tomu, že tyto nové komerční verze již neobsahovaly zdrojový kód, rozhodla se Univerzita v Berkeley pokračovat v dalším vydávání svého BSD. Na začátku 80. let tedy vedle sebe existovaly 2 větve UNIXu, komerční UNIX system III a V a vedle toho „výzkumná“ BSD. Kromě toho také vznikaly další formy UNIXu, vydávané buď pod licencí od AT&T, nebo vytvořené na základě BSD.


Závěrem

Vzhledem k tomu, že bych se oblastí open-source a free software rád zabýval i v dalších seriálech a článcích, chtěl bych všechny čtenáře vyzvat, aby své návrhy na témata, o kterých by se chtěli dozvědět více, nebo která jim nejsou zcela jasná, psali průběžně do diskuze pod články.

...pokračování příště.
(v příští části se už konečně podíváme na vznik free software a možná si také ukážeme, jak pokračoval vývoj UNIXu)


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006021804-historie-open-source-a-free-software-2-cast/ ].