IV064 Informační společnost Jiří Zlatuška 10. prosince 2012 Software s otevřeným zdrojovým kódem Open Source software • Jako termín se OSS objevil cca roku 1998 (Raymond: The Cathedral and the Bazaar) • Inspirace aktivitami Free Software Foundation • Motivace rychlým vývojem a laděním Omezení „módu stavitelů katedrály“ při tvorbě softwarových systémů • Fred Brooks: „Adding manpower to a late software project makes it later“ (Mýtický člověkoměsíc, 1975): • rozdělení práce mezi n programátorů dává přínos O(n), • jeho cena je však O(n^2) díky ceně komunikace a dávání dohromady výsledku Organizace „bazaru“ při tvorbě systému • Brooksův paradox je odstraněn jinými sociálními a časovými interakcemi: • brzké zveřejňování vyprogramovaného kódu, • nekoordinované testování kvalifikovanými uživateli, • sbírání modifikací od expertních uživatelů • Linus Tornvalds: Many eyes make all bugs shallow Free Software Foundation • Richard M. Stallman, 1995: „The GNU Operating System and the Free Software Movement„ • Nezisková korporace zaměřená na propagaci „copyleft“ softwaru • Programy opatřené copyrightem a doplněné podmínkami užití a šíření, které vyžadují povinné šíření zdrojového kódu, který je ponechán modifikovatelný uživateli • Silnější záruky než jen ponechání programu bez ochrany, který může být začleněn do chráněného díla. Stallmanova motivace • Kolem roku 1980 se rozpadla AI komunita v MIT pracující s PDP-10, obdobným procesem prošla komunita uživatelů IBM (SHARE) a DEC (DECUS) • Na přelomu 70. a 80. let začalo být zvykem používat proprietární a chráněný software • 1976: Gatesův „Dopis hobbyistům“ - Kdo si může dovolit profesionální práci zadarmo? a rozvoj komerčního poskytování softwaru zejména u Microsoftu • Přechod od vlastnictví programu uživatelem k pouhému poskytování licencí na bázi copyrightu Stallman: „Free as in Freedom“ • You have the freedom to run the program, for any purpose. • You have the freedom to modify the program to suit your needs. (To make this freedom effective in practice, you must have access to the source code, since making changes in a program without having the source code is exceedingly difficult.) • You have the freedom to redistribute copies, either gratis or for a fee. • You have the freedom to distribute modified versions of the program, so that the community can benefit from your improvements. „Free“ neznamená „zadarmo“ • Software je možné prodávat nebo šířit za úplatu • Prodej programů či souborů programů je považován za zcela legitimní (naopak programy, které nejsou „free“ takovým způsobem automaticky šířit nelze) Volná šiřitelnost vs. volná manipulovatelnost • Program bez licence je volně šiřitelný avšak může být začleněn do systému, který přestane být volný • Myšlenka licence, která zaručí, že se program nestane proprietárním GPL – GNU Public Licence • Softvare je pod GPL volně šiřitelný • Vždy musí být distribuován spolu se zdrojovým kódem • Kdokoli může program modifikovat a dál šířit, pokud svůj výsledek opatří podmínkami GPL Varianty „copyleft“ licence – viz http://www.opensource.org/licences • GNU General Public License (GPL). • GNU Library or `Lesser' Public License (LGPL). • BSD license. • MIT license. • Artistic license. • Mozilla Public License v. 1.0 (MPL); • Qt Public License (QPL). • IBM Public License. • MITRE Collaborative Virtual Workspace License (CVW) • Ricoh Source Code Public License. • Python license. • zlib/libpng license. • Apache Software License. • Vovida Software License v. 1.0. • Sun Internet Standards Source License (SISSL). • Intel Open Source License. • Mozilla Public License 1.1 (MPL 1.1). • Jabber Open Source License. Významné OSS projekty • R. Stallman – GNU Emacs – GNU C – GNU C++ • Larry Wall – Perl • Eric Raymond – Fetchmail • Linus Tornvalds – Linux • Brian Fox – BASH — „Bourne Again Shell“ Operační systémy • Linux resp. GNU/Linux • FreeBSD, OpenBSD, NetBSD • GNU-Hurd • GNU Utilities Programovací jazyky • GNU C/C++ • Perl • Python • Tcl Okna a pracovní prostředí, browsery • X Windows • XFree86 • GNOME • KDE • GNUStep • Xfce • Mozilla (Netscape 6) Aplikace, kancelářské soubory, servery • ABIWord • GNU Image Manipulation program • Open Office • KOffice • Samba • Apache • PhP • Zope • MySQL • PostgreSQL Velikost projektů Projekt Řádky zdrojového kódu Jádro Linuxu pro x86 (kdysi) 500 000 (dnes 13 mil.) Apache web server 80 000 SendMail 57 000 XFree86 (X-windows server) 1 500 000 „K“ desktop 90 000 Plná distribuce Linuxu Cca 10 milionů Typická struktura dokumentace OSS projektu • README soubory distribuované s každým programem • Manuálové stránky se základním popisem ovládání • HOWTO dokumenty popisující instalaci a konfiguraci (Aktualizace dokumentace je zpravidla hlavní slabinou OSS produktů.) Technické cíle GNU projektu • GNU = GNU is not Unix • Alternativa k proprietárnímu Unixu pod GPL licencí • 1990: většina částí systému hotová kromě kernelu • 1991: Linux • 1992: GNU/Linux Srpen 2011: dvacet let programů s otevřeným zdrojovým kódem • 25. Srpna 1991: Torvaldsova zprána na comp.os.minix oznamující jeho práci na malém operačním systému pro 386 • 2001: distribuce systému, které nevyžadují zadat ani jeden unixový příkaz • „Linux for Schools“ v USA – Linux jako systém fungující i na 486 nebo Pentiu 75, které bývají školám darovány • Win4Lin – Windows jako proces pod Linuxem, stačí přitom jedna instalace na serveru • Některé americké státy požadují dokumenty výhradně ve formátu zavedeném otevřeným standardem • Světová banka doporučuje otevřený software ve zprávě z roku 2003 (Dravis Group) a otevřené systémy ve zprávě z roku 2005 „Open ICT Ecosystems“ (http://cyber.law.harvard.edu/epolicy) Otevřené standardy • Nejsou kontrolovány žádným jednotlivcem nebo firmou s vnitřními zájmy • Vyvíjeny a udržovány transparentním způsobem • Nezávislé na platformě • Otevřeně zveřejněné • Dostupné bez poplatku nebo za minimální poplatek • Schvalované korektním procesem obecným souhlasem účastníků Otevřený zdrojový kód a otevřené standardy Otevřené standardy Otevřený zdrojový kód Povaha soubor specifikací programy Otevřenost rozhraní z definice závisí na návrhu Interoperabilita umožněna nelze předpokládat Licencování různého typu Různé (GPL, BSD, atd.) Model vývoje kolaborativní kolaborativní Právní spor kolem GPL softwaru • Unix vyvinut v AT&T kolem roku 1969 • AT&T poskytuje licenci řadě společností, které vytvářejí odvozené verze – vše jako komerční software • 90. léta: GNU+Linux a UC Berkeley unix – nezávislé nekomerční systémy; Linux staví na GPL • AT&T prodává Unix společnosti Novell v roce 1993 • Novell prodává společnosti SCO v roce 1995 SCO vs. Linux - SCO napadá IBM a firmy produkujícíc Linux obecně na bázi tvrzení, že - Linux je odvozeninou Unixu, - GPL neplatí a - Linux obsahuje kód od SCO - V právní při proti tomu stály argumenty: - duševní vlastnictví Unixu nepatří jen SCO - Linux obsahuje kód publikovaný pod licencí GPL - společný kód Linuxu and SCO pochází z třetích zdrojů, které jsou vesměs public domain - kód v SCO byl vykraden z Linuxu SCO vs. Linux • Březen 2003 – žaloba SCO proti IBM (zneužití obchodního tajemství, nekalá soutěž, porušení smlouvy a narušení obchodní činnosti) • Květen 2003 – SCO oznamuje bez bližších podrobností, že Linux obsahuje kód SCO a varuje 1500 předních mezinárodních společností před právními následky • Květen 2003: Microsoft kupuje od SCO licenci na Unix, SCO chválí Microsoft za „respekt k právům na duševní vlastnictví softwaru“ • Květen 2003: Novell zpochybňuje, zda SCO koupil i copyright SCO vs. Linux • Srpen 2003: SCO prodává licence pro koncové uživatele na Linux ($799 za stroj) • Říjen 2003: SCO v žalobě tvrdí, že GPL je protiústavní a rovněž porušuje autorský zákon, antimonopolní zákon a kontrolu exportu • Leden 2004 - následuje dopis Kongresu s tvrzením, že Linux a Open Source „podminovává náš základní systém práv k duševnímu vlastnictví a ničí ekonomické důvody pro inovace“ • Hodnota akcií SCO na maximu ($18) • Květen 2004 – tvrzení o protiústavnosti staženo SCO vs. Linux • Listopad 2004 - Novell prokazuje, že si při prodeji unixu ponechal autorská práva na něj • Červenec 2005 – Novell žaluje SCO o 95 % ze všech příjmů z unixu od SCO; v září 2006 rozšířeno o nárok, že Novell nedostal peníze za prodej licencí Microsoftu a Sunu • Duben 2007 – NASDAQ varuje SCO, že bude stažena z uváděných společností, protože je cena akcií příliš dlouho pod $1 • Srpen 2007 – soudní rozsudek stanoví, že Novell má autorská práva na Unix a UnixWare a že Novell může SCO přikázat stáhnout nároky proti IBM SCO vs. Linux • Září 2007 – SCO vyhlašuje bankrot • Listopad 2007 – SCO se pokouší prodat práva na unix, Novell a IBM to soudně napadají • Listopad 2007 – německý soud shledává SCO vinnou ze šíření nepravdivých obchodních informací o Linuxu • Prosinec 2007 – akcie SCO staženy z burzy • Červenec 2008 – Novell dostává přiznánu náhradu 2,5 milionu dolarů • Březen 2010 – Novell je prohlášen za vlastníka UNIXových licencí • Srpen 2011 – odvolací soud potvrdil práva Novellu SCO vs. Linux  SCO se nepodařilo svět Linuxu zastrašit  Koncept GPL obstál  Splečnost SCO na sporu finančně vykrvácela