Svobodný software ( open source software , anglicky free software , též software libre nebo libre software ), svobodný software - software , jehož uživatelé mají práva ("svobody") k jeho neomezené instalaci, spouštění, volnému použití, studiu, distribuci a úpravám ( vylepšení ), jakož i distribuci kopií a výsledky změny [1] . Pokud existují výhradní práva k softwaru, pak jsou svobody deklarovány pomocí bezplatných licencí .
Stejně jako freeware a svobodný software lze i open source software používat a obvykle získat zdarma (ale konkrétní distributor si může účtovat poplatek za získání kopií od něj, za doručovací kanály, média – CD nebo doplňkové služby). Freeware je však obvykle šířen ve spustitelné podobě bez zdrojových kódů a je proprietárním softwarem , a aby byl software svobodný (svobodný software), jeho zdrojové kódy musí být k dispozici příjemcům , ze kterých je možné vytvářet spustitelné soubory spolu s příslušné licence. Vzhledem k tomu, že slovo „prodej“ označuje prodej originálu a distribuci kopií za peníze a placené licencování (obvykle za nesvobodných podmínek) [2] , někteří stále považují svobodný software za podmnožinu svobodného softwaru.
Často se rozlišuje mezi svobodným ( free / libre ) a open source ( open-source ) softwarem – ačkoli dostupnost zdrojového kódu pro software s otevřeným zdrojovým kódem je povinná a mnoho programů s otevřeným zdrojovým kódem je také svobodným softwarem, což činí svobodný software podmnožina softwaru s otevřeným zdrojovým kódem. V praxi výběr jména často souvisí s použitým jazykem a s cíli svobody či otevřenosti.[ upřesnit ] .
Hnutí za svobodný software začalo v roce 1983, kdy Richard Stallman vytvořil myšlenku, že uživatelé by měli mít možnost svobodně používat software . V roce 1985 Stallman založil Free Software Foundation s cílem poskytnout organizační strukturu k propagaci jeho myšlenky.
Obchodní modely svobodného softwaru jsou obvykle založeny na principu zmocnění – například nové aplikace, školení, integrace, přizpůsobení nebo certifikace. Zároveň některé obchodní modely, které pracují s proprietárním softwarem, nejsou kompatibilní se svobodným softwarem, zejména ty, které nutí uživatele platit za licenci, aby mohli tento softwarový produkt legálně používat.
V souladu s moderní legislativou ve většině zemí je softwarový produkt a jeho zdrojový kód chráněn autorským právem , což dává autorům a držiteli autorských práv (nejčastěji držitelem autorských práv je organizace, která zaměstnává autora servisních děl ) pravomoc měnit , distribuovat, používat a chovat program, včetně případů, kdy je zveřejněn zdrojový kód. Síla autorských práv v moderní společnosti je tak silná, že i studium nebo pokus o opravu softwarových chyb rozebráním může být stíháno trestním právem .
Aby se uživatelé softwaru uchránili před problémy způsobenými předpojatostí právních předpisů na ochranu duševního vlastnictví vůči držiteli autorských práv, mohou autoři a držitelé autorských práv převést práva ke čtyřem výše uvedeným svobodám jednání na uživatele. Toho je dosaženo uvolněním zdrojového kódu softwaru pod jednou ze speciálních licencí nazývaných bezplatné licence . Navzdory skutečnosti, že podle podmínek bezplatných licencí držitel práv nemůže odvolat oprávnění udělená uživatelům, autoři si ponechávají svá práva zaručená zákonem.
Svobodný software lze snadno komercializovat – existuje mnoho obchodních modelů, které eliminují nutnost platit za kopie programu. Velmi oblíbený je například obchodní model, kdy si podnikatel může vydělávat peníze poskytováním služeb technické podpory. Pro majitele volného kódu existuje další možnost komercializace - implementace softwarových produktů za podmínek komerční licence v případě, že klient potřebuje integrovat volný kód do svého proprietárního softwaru a nechce zveřejnit svůj vývoj.
Zvláštností softwaru je, že se vyrábí v jedné formě – ve formě zdrojového kódu, a často je distribuován a používán v jiné – ve formě spustitelných programů, strojových kódů, ze kterých není možné jednoznačně obnovit zdrojový text. . Chcete-li efektivně změnit program, opravit chyby nebo dokonce jen zjistit, co přesně program dělá a jak, je nutné mít jeho zdrojový kód, protože při kompilaci do strojového kódu program ztrácí čitelnost .
Zpočátku bylo vytváření softwaru pro počítače primárně akademickou činností. Pro počítačové vědce byl každý program výsledkem vědeckého výzkumu, v některých ohledech analogický s publikací článku. To znamená, že zdrojový kód programu byl nezbytně dostupný celé vědecké komunitě, protože jakýkoli vědecký výsledek musí být ověřitelný , tedy potvrzený ostatními výzkumníky a musí být otevřen kritice. Proces vývoje softwaru byl tedy v zásadě podobný vědeckému procesu: vědec vzal existující programy, opravil je v souladu se svými představami a opravené programy publikoval – a přitom získal nový výsledek.
Počítačová technologie se však pro ně vyvíjela neméně aktivně než software. V 70. letech 20. století existovala obrovská rozmanitost různých počítačových architektur, které se lišily i výkonem a cenou. Pro každou architekturu musela být přirozeně vyvinuta samostatná sada softwaru. Od poloviny 70. let 20. století většina amerických univerzit používá počítače s architekturou PDP-10 pro akademický vývoj , což umožňuje zaměstnancům z různých univerzit vzájemně používat své návrhy na svých strojích. Koncem 70. let vyvinuli zaměstnanci laboratoře umělé inteligence na Massachusetts Institute of Technology (MIT) svůj vlastní operační systém Incompatible Timesharing System (ITS) pro PDP-10 - (z angličtiny - „inkompatibilní systém sdílení času “) a velmi rozsáhlou sadu programů pro ni. Zdrojové kódy programů napsaných na MIT byly veřejně dostupné, zaměstnanci jiných univerzit používali jejich zdrojové kódy a zasílali do nich opravy, veškerý software v těchto laboratořích byl zcela akademický.
Vzhledem k obrovské rozmanitosti počítačových architektur byl software nedílnou součástí samotného stroje a zdaleka ne tou nejdražší. Výrobci počítačů jim dodali hlavní software – alespoň[ objasnit ] s operačním systémem . Výroba počítačů byla vědecky náročný, ale v zásadě komerční podnik.
V situaci, kdy[ upřesnit ] se softwarem se obchoduje na stejné úrovni jako s předměty pro domácnost, nepodléhá již pouze zákonům vědeckého vývoje, ale také vlastnostem hmotných předmětů, se kterými lze obchodovat, směňovat je, právu vlastnit a užívat, které by měly být chráněny podle zákona.[ neutralita? ] Software tedy spadal do kategorie duševního vlastnictví: to znamená, že zdrojový kód programu začal být považován za dílo.
Chránit[ neznámý pojem ] jejich zájmy, výrobci počítačů a softwaru používají licence - typ smlouvy mezi vlastníkem autorských práv a uživatelem (kupujícím) softwaru. Podobné smlouvy byly uzavřeny i s univerzitami: na univerzitu byly například převedeny zdrojové kódy programů a právo na jejich změnu, ale bylo zakázáno je šířit mimo univerzitu. Taková omezení znamenala, že texty odpovídajících programů nemohly být otevřeně diskutovány v komunitě, to znamená, že neexistovaly pro vědecký vývoj. Počítače a software měly kupce i mimo akademickou sféru, jako jsou banky. Takoví uživatelé není tak důležité získat zdrojové kódy programů, mají zájem o software jako o hotový produkt a jsou ochotni zaplatit peníze za spolehlivé a pohodlné programy.
Počítače se však vyvíjely velmi rychle a PDP-10 , které byly v 70. letech poměrně moderní, byly již na počátku osmdesátých let zastaralé a výkonově výrazně zaostávaly za modernějšími stroji. Pro žádnou z nových architektur však již neexistoval operační systém a další software vyvíjený výhradně v akademickém prostředí a podle jeho pravidel. Univerzity nyní musely nakupovat nové počítače s novým softwarem a dodržovat licenční podmínky, které omezovaly jejich práva na vývoj a distribuci softwaru – jinými slovy, omezovaly možnost vědeckého modelu pro vývoj a distribuci softwaru.
V této době byly v laboratoři umělé inteligence MIT vyvíjeny takzvané LISP stroje , které by na hardwarové úrovni uměly interpretovat programovací jazyk podobný LISP , vyvinutý a slibný programovací jazyk . Operační systém pro takové stroje a veškerý software pro ně byly napsány v LISPu. Na začátku osmdesátých let někteří členové AI Lab koupili práva na stroje LISP a matematický systém Macsyma od MIT a založili vlastní komerční společnosti, aby se v této oblasti dále rozvíjeli. Do těchto společností odešlo pracovat mnoho laboratorních pracovníků, poté se veškerý jejich další vývoj uzavřel vědecké komunitě. Nové stroje LISP byly distribuovány s licencemi, které uživatelům zakazovaly upravovat a redistribuovat zdrojový kód. Programy, které byly dříve obdobou vědeckých publikací pro zaměstnance MIT, se staly někým vlastněným produktem.
Jednomu ze zaměstnanců, kteří zůstali v MIT AI Lab, Richardu Stallmanovi , se tento stav zdál jako nepřijatelné porušení otevřeného vědeckého procesu vývoje softwaru. Pokusil se sám vyvinout stroje LISP v rámci starého akademického modelu a otevřeně implementovat změny podobné těm, které byly provedeny v rámci uzavřeného komerčního vývoje, aby stroje LISP od MIT mohly konkurovat svým protějškům. Samozřejmostí je tento pokus držet krok s aktivním rozvojem celé společnosti[ co? ] byl odsouzen k neúspěchu.
Při hledání podobně smýšlejících lidí pak Richard Stallman zakládá neziskovou organizaci Free Software Foundation. Hlavním cílem nadace bylo zachovat software, jehož vývojový proces bude vždy zaručeně otevřený a zdrojové texty budou vždy k dispozici. Širším cílem nadace je vyvinout operační systém, který je zcela open source software. Vyhlášením takového cíle se Stallman ve skutečnosti chtěl vrátit do stavu, který se mu jevil jako ideální, když MIT pracovalo na vlastním operačním systému pro PDP-10.
Operační systém vyvíjený pod nadací měl být kompatibilní s operačním systémem UNIX . Na počátku osmdesátých let byl UNIX široce používán, včetně akademického světa. Pro tento operační systém bylo ve vědecké komunitě volně distribuováno mnoho programů, takže jsem chtěl, aby tyto programy fungovaly na novém – svobodném – operačním systému. Tento budoucí operační systém byl pojmenován GNU .
Free Software Foundation v minulosti rozdělovala nesvobodný software na částečně svobodný software (ten, který se od svobodného softwaru liší pouze zákazem komerčního použití) a proprietární (proprietární, anglicky proprietární ) (který nemá všechny čtyři svobody, i když komerční použití je povoleno); ale toto dělení se již nepoužívá [3] [4] .
Někdy nesvobodný software zahrnuje veškerý „ komerční software “, považujeme svobodný software za druh svobodného softwaru, ale není to pravda: z programu můžete těžit nejen prodejem nesvobodných licencí.
Aby interakce vývojářů probíhala na principu vědecké spolupráce, bylo nutné zajistit, aby zdrojový kód programů zůstal k dispozici pro čtení a kritiku celé vědecké komunitě při zachování autorství děl. Za tímto účelem Richard Stallman formuloval koncept svobodného softwaru , který odrážel principy vývoje otevřeného softwaru ve vědecké komunitě, která se rozvinula na amerických univerzitách v 70. letech 20. století. Stallman výslovně uvedl tyto zásady, které jsou také kritérii svobodného softwaru . Tato kritéria stanoví práva, která autoři svobodného softwaru udělují každému uživateli:
Schopnost opravovat chyby a vylepšovat programy je nejdůležitější vlastností svobodného a open source softwaru, což je pro uživatele uzavřených proprietárních programů prostě nemožné, i když se v nich najdou chyby a závady, jejichž počet obvykle nikdo nezná. .
Za svobodný software lze považovat pouze program, který splňuje všechny čtyři uvedené principy, to znamená, že je zaručeno, že je otevřený a dostupný pro aktualizaci a opravování chyb a defektů a nemá žádná omezení týkající se použití a distribuce. Je třeba zdůraznit, že tyto zásady stanoví pouze dostupnost zdrojových kódů programu pro obecné použití, kritiku a vylepšení a práva uživatele, který obdržel spustitelný nebo zdrojový kód programu, ale nijak nestanoví finanční vztahy. související s distribucí programů, včetně neznamená zdarma . V anglických textech zde často dochází k nejasnostem, protože slovo „free“ v angličtině znamená nejen „zdarma“, ale také „zdarma“ a často se používá v souvislosti se svobodným softwarem , který je distribuován bez účtování poplatků za používání, ale není k dispozici změnám ze strany uživatelů a komunity, protože jeho zdrojový kód není publikován. Takový svobodný software není vůbec svobodný. Naopak, svobodný software lze distribuovat (a distribuovat) za poplatek, ale zároveň za dodržení kritérií svobody: každý uživatel má právo obdržet zdrojový kód programů bez dalších nákladů (s výjimkou cenu média), upravovat je a dále distribuovat. Jakýkoli software, jehož uživatelé nemají toto právo, je nesvobodný software, bez ohledu na jakékoli další podmínky.
Open source software je klíčovou vlastností svobodného softwaru, takže pozdější termín Erica Raymonda „ open source software “ se některým zdá být pro tento fenomén ještě lepší než původní Stallmanův „free software“. Stallman trvá na rozdílu mezi těmito dvěma pojmy, protože slova open source označují pouze přítomnost jedné, nikoli nejdůležitější (ačkoli nezbytné pro implementaci dvou ze čtyř svobod), podle jeho názoru, vlastností, které jsou vlastní svobodě. software - možnost vidět zdrojový kód. [5]
Poté, co členové Free Software Foundation vyhlásili kritéria pro svobodný software, začali distribuovat svůj software v souladu s těmito principy bez jakékoli dokumentace: jinými slovy, zpočátku byl svobodný software distribuován zcela bez licence. Avšak precedens, který se stal samotnému Richardu Stallmanovi (viz níže), ho přesvědčil, že dokumentace je pro svobodný software nezbytná.
Richard Stallman vyvinul textový editor Emacs založený na zdrojovém kódu Jamese Goslinga . Poté Gosling volně distribuoval svůj zdrojový kód všem zájemcům. V určitém okamžiku však Gosling prodal práva na distribuci Emacs společnosti UniPress [6] a společnost požádala Stallmana, aby přestal distribuovat svou verzi Emacsu, protože vlastní práva.[ styl ] Tento incident způsobil, že Stallman přepsal ty části zdrojového kódu Emacs, které nyní vlastnil UniPress, a poté vyvinul vlastní licenci pro svůj software.
Stallmanova licence měla fungovat stejně jako licence na nesvobodný software: jedná se o vzorovou smlouvu mezi autorem programu ( držitelem autorských práv ) a uživatelem, ve které autor mimo jiné stanoví práva tzv. uživatele ve vztahu k programu. Na rozdíl od typické proprietární licence poskytuje licence Stallman uživateli práva, která jsou kritérii svobodného programu: získat zdrojový kód programů, upravit je a distribuovat upravené a neupravené verze. Následně se Stallmanova licence stala známou jako GNU General Public License (“GNU General Public License”), zkráceně GNU GPL nebo jednoduše GPL.
Tato licence také stanoví základní Stallmanovu ochrannou podmínku pro šíření svobodného softwaru: žádný uživatel, který vytvořil upravenou verzi svobodného programu, nemá právo ji šířit, aniž by dodržoval všechny zásady svobodného softwaru, tj. úprava bezplatného programu nesvobodného. Pro zdůraznění rozdílu mezi takovou licencí, která využívá ZoAP (copyright) k navození zachování svobody, od typických proprietárních licencí, které využívají ZoAP k omezení svobody, byl vytvořen termín copyleft - slovní hříčka postavená na významech Anglická slova vpravo a vlevo . [7] Copyleft funguje na základě toho, že odvozená díla ve většině případů zdědí licence svých složek; pokud program používá malou část kódu třetí strany chráněného GPL, pak celý program a jeho deriváty musí být distribuovány pod licencí GPL, pokud jsou deriváty tohoto kódu. Zároveň je v GPL sekce, která umožňuje vyžadovat zachování jmen autorů v kódu, zakázat použití těchto jmen v reklamě, upozorňovat na registrované ochranné známky apod., což umožňuje spojovat díla pod GPL s díly pod mnoha svobodnými non-copyleft licencemi (například některými z licencí BSD ), aniž by došlo k vytvoření výrazných omezení a bez porušení licence - ale deriváty výsledku, které jsou odvozeny od díla pod GPL, již nemohou (bez samostatného povolení od držitelů autorských práv) být šířeny za podmínek této necopyleftové licence, aniž by byly dodrženy podmínky GPL – včetně zahrnutí a jako nedílné součásti nesvobodného softwaru. Z tohoto důvodu se licence jako GNU GPL někdy také nazývají „virové licence“ : zdá se, že „infikují“ program a stávají se jeho nedílnou součástí.
Hlavní podmínkou existence svobodného softwaru totiž není licence, ale lidé, kteří jsou připraveni zdarma sdílet texty svých programů a vylepšovat texty ostatních. Svobodný software zdědil model otevřeného vědeckého vývoje a s ním i akademický model interakce mezi vědci, což vedlo ke specifické organizaci komunity vývojářů a uživatelů.
Každý uživatel softwaru bude mít nevyhnutelně otázky, když se jej pokusí použít k vyřešení svých problémů. Uživatel nesvobodného (proprietárního) programu za to platí výrobci, který mu na oplátku občas dává nějaké záruky, jednou z nich je zodpovězení dotazů na fungování programu. Speciálně za tímto účelem výrobce organizuje službu podpory , která odpovídá na dotazy uživatelů po telefonu, e-mailu a dalších komunikačních prostředcích.
Uživatel volně šířeného programu s ním nezískává žádné záruky: autor zpřístupnil jeho zdrojový kód veřejnosti, ale zároveň se nezavázal všem vysvětlovat, jak program funguje. [8] I když jakýkoli nesvobodný software je v 99 % případů také poskytován „tak jak je“ a bez záruky. Vzhledem k tomu, že komunita uživatelů většiny programů je distribuována po celém světě, za účelem organizování interakce v ní nejaktivnější uživatelé (a často sami autoři) organizují (méně často používají stávající) e- mailové konference , fóra a další prostředky komunikace na internetu . Pro shromažďování a třídění informací o programu (zejména seznamy často kladených otázek - FAQ ; nebo English FAQ - často kladené otázky), jakož i organizování složitějších forem interakce (společný vývoj, systémy sledování chyb ), jsou vytvářeny webové stránky věnované programům.
V každém dostatečně složitém programu se zákonitě vyskytnou chyby a defekty, jejichž počet je obvykle neznámý. Mnoho velkých výrobců softwaru vytváří a platí za práci oddělení kontroly kvality (QA - Quality assurance ), které kontroluje soulad procesu vývoje softwaru s určitými požadavky, jejichž implementace snižuje pravděpodobnost chyb v softwaru (např. , požadavky normy DO-178B , která se používá při vývoji softwaru pro letecké systémy). V současnosti však neexistují žádné metody, které by plně zaručily absenci chyb v poměrně složitém softwaru (existují formalizovaná kritéria pro složitost softwaru).
Uživatel uzavřeného proprietárního programu, který se potýká s chybou, nemůže vždy identifikovat její příčinu a opravit chyby (protože nemá k dispozici ani zdrojový kód programu, ani ladicí informace ), ale s největší pravděpodobností je schopen popsat chybu a podmínky, za kterých k ní dochází.
Uživatel může nahlásit chybu výrobci programu (obvykle kontaktováním stejného týmu podpory ), a pokud se rozhodne, že chyba je skutečně v programu a ne v práci uživatele, bude nahlášena vývojářům.
V důsledku toho může uživatel čekat dlouhou dobu na opravu chyby v následujících verzích programu. Aktualizace proprietárního programu je výrobcem často postavena na roveň pořízení nové kopie, což s sebou nese odpovídající náklady a porušení zákona na ochranu spotřebitele .
Diagnostika chyby, která se vyskytla na počítači uživatele, není snadný úkol, protože pracovníci podpory (a tím spíše programátoři společnosti) nemusí mít k tomuto počítači přístup. Oddělení podpory proto široce praktikují programy, které poskytují různé informace o počítači uživatele a ve složitých případech i notoricky známé informace o ladění (zaměstnanec požádá uživatele, aby spustil program v "diagnostickém režimu" (obvykle pomocí nezdokumentovaného nastavení nebo uživateli je zaslána ladicí verze požadovaného modulu) a zaslat mu výsledný soubor zprávy).
Typický bezplatný program (tj. nekomerční a/nebo vyvinutý malou společností nebo jednotlivcem) obvykle nemá placené oddělení kontroly kvality. To znamená, že uživatel může narazit na ještě více chyb než v typickém komerčním proprietárním programu. O to relevantnější je pro něj možnost nahlásit chybu vývojářům programu. Dříve bylo obvyklé v dokumentaci doprovázející program uvádět e-mailovou adresu, na kterou vývojáři dostávali hlášení o chybách. Někteří zavedli stereotypní formu takových zpráv, aby usnadnili a zautomatizovali jejich zpracování. To samo o sobě vyžaduje výrazně vyšší komunitní konektivitu po celém světě, podstatně více než dostačující pro uzavřený vývoj.
Vývojáři a vedoucí testů proprietárního produktu mohou jít do stejné kanceláře a vyměňovat si tam informace nebo strávit určitý zlomek svého pracovního času sestavováním a analýzou přesných zpráv obsahujících chybové zprávy a zprávy o řešení problémů. Taková organizace práce je efektivní, pokud je okruh vývojářů malý a je relativně snadné zavést běžnou rutinu. U otevřeného projektu není okruh a relativní pozice potenciálních developerů ničím omezena, takže efektivita vývoje závisí v mnohem větší míře na tom, jak snadné je pro všechny členy komunity dohodnout se mezi sebou, stejně jako na „vědomí“ uživatelů.
Jednoduchý a spořádaný příjem a přesměrování chybových hlášení zajišťují bug tracking systems, z nichž nejznámější si účastníci velkých projektů vyvíjejí sami pro sebe a díky bezplatným licencím se používají všude. Jsou to například GNUTS (vyvinuté v GNU), Bugzilla ( Mozilla Foundation ), JitterBug ( projekt Samba ) nebo Debian BTS . Dřívější verze jsou orientované na e-mail, novější obsahují webové rozhraní. Například s pomocí Bugzilly je na internetu organizována stránka , kde uživatel může vyplnit formulář pro nahlášení chyby. Každá zpráva má své číslo, pomocí kterého se dostanete na "osobní" stránku této chyby, která odráží všechny události, které se kolem ní dějí, od úvodní zprávy (otevření) až po opravu (uzavření). Pokaždé, když dojde ke změně stavu chyby, Bugzilla rozešle e-maily všem, kterých se to týká (včetně samozřejmě reportérovi chyby a vývojářům zapojeným do programu). Vzhledem k tomu, že Bugzilla umožňuje zanechat komentáře a připojovat soubory, je to pro uživatele kompletní prostředek pro komunikaci s vývojářem o chybě v programu.
Hlavní výhodou uživatele svobodného softwaru je, že na rozdíl od uživatelů nesvobodného softwaru má vždy možnost nahlédnout do zdrojového kódu. Pro mnoho uživatelů samozřejmě není zdrojový kód o nic srozumitelnější než strojový kód. Při dostatečné úrovni znalostí v programování však může uživatel sám určit příčinu chyby v programu, případně ji i odstranit odpovídající opravou zdrojového textu. A pokud se uživatel zajímá o vývoj programu, pak by bylo rozumné, aby nejen informoval autora o chybě, ale také mu poslal své opravy do zdrojového kódu programu: autor bude mít pouze tyto opravy aplikovat na text programu, pokud je shledá správnými a vhodnými. Posílat opravený text programu autorovi celý je nepraktické: může být velmi rozsáhlý (desítky tisíc řádků) a pro autora nebude snadné zjistit, co se změnilo (co kdyby změny byly provedeny negramotně?).
Pro usnadnění a automatizaci procesu provádění oprav vyvinul Larry Wall v roce 1984 obslužný program oprav , který ve formalizované (ale pro člověka dobře srozumitelné) podobě popisuje editační operace, které je třeba provést, abyste získali novou verzi text. S příchodem této utility mohl uživatel, který objevil a opravil chybu v programu, poslat autorovi malý patch, podle kterého mohl autor pochopit, jaké změny byly navrženy, a automaticky je „připojit“ ke svému zdrojovému kódu. S příchodem patch utility se do vývoje programů s dostupným zdrojovým kódem začalo zapojovat mnohem více uživatelů a Usenet v tom sehrál významnou roli . [9] Nakonec se tento způsob záplatování stal běžným a aplikoval se nejen na zdrojový kód programu, ale v případě uzavřeného softwaru i přímo na zkompilovaný spustitelný kód a slovo „patch“ se stalo běžným slovem . . Patche (záplaty s opravami) jsou povinným atributem dnešního vývoje jakýchkoli programů jakékoli složitosti. [deset]
Pokud v něm uživateli programu nějaká funkce chybí, může si ho s patřičnou kvalifikací naprogramovat sám a zařadit do zdrojového kódu programu, nebo za to zaplatit někomu jinému. Přirozeně je pro něj přínosem, že se jeho přídavek dostane do „hlavní“, autorské verze programu (říká se mu upstream) a objeví se ve všech následujících verzích: stačí jej uspořádat ve formě patche a odeslat na autor. Tato schopnost je uživateli nesvobodného programu odepřena, i když je dostatečně kvalifikovaný. Jediným způsobem, jak do programu zahrnout funkci, kterou potřebuje, je kontaktovat výrobce (pokud je program proprietární) s odpovídajícím požadavkem a doufat, že výrobce považuje navrhovanou funkci za skutečně nezbytnou.
Čím více aktivních uživatelů bezplatný program má, kteří jsou připraveni přispívat a sdílet opravy, doplňky, tím spolehlivěji program funguje a tím rychleji se vyvíjí. Navíc takový bezplatný model sledování a opravování chyb pro program s tisíci aktivními uživateli může být mnohem efektivnější než jakýkoli proprietární program: žádná společnost si nemůže dovolit tak obrovský personál v oddělení kontroly kvality. Proto může být skutečně populární bezplatný program mnohem spolehlivější než jeho proprietární protějšky.
Napsat velký program sám je poměrně obtížné a dokonce ne vždy možné, zvláště pokud to autor dělá ve svém volném čase. Většina moderního svobodného softwaru je napsána skupinou vývojářů. I když jeden člověk začal psát program a ukázalo se, že je to zajímavé, aktivní uživatelé se mohou zapojit do vývoje. Aby mohli nejen provádět jednotlivé korekce, ale obecně provádět celý vývoj společně, jsou zapotřebí speciální nástroje. Kromě oprav se k organizaci společného vývoje softwaru používají systémy správy verzí . Funkce systému správy verzí jsou organizovat přístup ke zdrojovému kódu programu pro několik vývojářů a ukládat historii všech změn ve zdrojovém kódu, což vám umožňuje slučovat a vracet změny atd. [11] Nejstarší bezplatná verze řídicí systém - RCS - byl používán již na úsvitu svobodného softwaru předplatiteli Usenetu, poté byl nahrazen rozvinutějším CVS , ale dnes je považován za značně zastaralý a je stále více nahrazován Subversion , Git a dalšími.
Je třeba poznamenat, že výhody bezplatného vývoje pro uživatele by se neměly přehánět. Ne všechen svobodný software je stejně dostupný pro modifikaci uživateli, a to nemá nic společného s licencí k jeho distribuci. Důležitým faktorem je zde velikost programu: pokud obsahuje desítky tisíc řádků (jako například v OpenOffice.org ), pak i kvalifikovanému uživateli zabere příliš mnoho času, než přijde na to, co je co. Nelze také počítat s tím, že vývojáři budou reagovat na všechny připomínky a návrhy uživatele okamžitou opravou programu, protože nenesou vůči uživateli žádné závazky ohledně kvality programu. V tomto ohledu může být uživatel proprietárního komerčního programu v lepší pozici (i když povinnosti jeho vývojáře jsou obvykle také dány pouze zákony, nikoli jeho vůlí).
Tolik funkcí komunity vývojářů a uživatelů svobodného softwaru pramení ze skutečnosti, že všichni její členové se do programu obvykle zapojují ze zájmu nebo proto, že je pro ně program nezbytným nástrojem (například k vydělávání peněz nebo nějaký jiný důvod). Čas, který na programu stráví, není placený, takže není naděje, že se okolnosti nezmění a vývoj se úplně nezastaví. Není neobvyklé, že se vývoj programu rozjede díky jednomu nadšenému autorovi, který přiláká mnoho lidí, aby se podíleli na vývoji, a pak nadšení lídra vyprchá a vývoj odezní s ním. Dnes existují tisíce programů, které se nikdy nedostaly do verze 1.0, ačkoli vyhoření lídrů není jediným důvodem. Kromě toho může být program nezbytný, ale "nezajímavý", a proto nebudou žádní vývojáři zdarma. [12]
Místo svobodného softwaru na dnešním softwarovém trhu je velmi významné a mnoho komerčních a vládních podniků svobodný software přímo nebo nepřímo používá. Vlastně nepřímo všichni uživatelé internetu využívají například bezplatný program BIND , který poskytuje službu DNS . Mnoho organizací, zejména těch, které poskytují služby přes internet, využívá bezplatný webový server Apache , na jehož práci přímo závisí jejich zisk, nemluvě o serverech na platformě Linux . Hlavní nevýhodou z pohledu komerčního uživatele je, že vývojáři svobodného softwaru nemají žádnou jinou povinnost než morální povinnost ohledně kvality programu. Proto dnes velké korporace, jako je Intel nebo IBM , považují za nutné podporovat projekty vývoje svobodného softwaru placením zaměstnanců, kteří v těchto projektech pracují.
V evropské kultuře byla pravidla vlastnictví ve vztahu k materiálním hodnotám vyvíjena již dlouhou dobu . A je celkem logické, že se tato pravidla rozšířila i na nehmotné hodnoty – včetně softwarových produktů, když začala představovat nezávislou hodnotu.[ neutralita? ] Softwarové produkty se však od hmotných objektů zásadně liší – lze je snadno kopírovat. Vytvoření kopie hmotného produktu se často téměř rovná nákladům na vytvoření originálu.
Vzhledem k tomuto rozdílu se na software nevztahuje zásada „vždy může užívat věc pouze jedna osoba“ (a jeho užívání někým jiným automaticky způsobí škodu první osobě, protože z něj nečerpá výhody), proto pojem „vlastník“ existuje. Proto je zde pokus jednat podle tohoto principu - přidělit právo užívat program jedné osobě - intuitivně vnímán [13] jako v rozporu s povahou věci. Není divu, že vzniká mnoho problémů, z nichž každý musí být řešen umělými a často nepřirozenými metodami.
Klasickým takovým způsobem je de iure zachování práv k softwaru výrobcem, který jakoby dává software svým uživatelům k dočasnému použití. V tomto případě je použití nelicencovaného softwaru v podstatě ztotožňováno s konceptem práva anglicky mluvících zemí, známým jako krádež služeb. Tento koncept však nemá obdoby v jiných národních kulturách, například v ruštině, a to právě z důvodů uvedených o 2 odstavce výše (majitel není zbaven možnosti věc užívat, což je hlavní negativní důsledek krádeže). V ruském právu není krádež služeb jakéhokoli druhu nic jiného než správní delikt, zatímco za nelicencovaný software je stanovena trestní odpovědnost, což zní v ruské kultuře disonantně.
Někdy je ale třeba simulovat „škodu z důvodu nepřevzetí zboží“, která je „způsobena“ „vlastníkovi“ programu při jeho zkopírování bez poškození nebo při vrácení peněz při chybách a v programech jsou nalezeny závady. Obvykle se jedná o „ušlý zisk“, tedy zisk, který vlastník mohl získat, ale neobdržel ho kvůli tomu, že byl produkt zkopírován. Musíme vynalézt důmyslné zařízení , které překáží při kopírování nebo způsobuje poškození. Do legislativy je nutné zavést zvláštní kategorii práv — podmínečně ji nazvěme „patent“ [14] — omezující zneužívání — a svobodu — celého lidstva ve prospěch majitele patentu. Majitel patentu a autor vynálezu navíc nejsou vždy tatáž osoba (v takových případech se nepřirozenost těchto opatření jen prohlubuje).
Nechybí ani úhel pohledu odpůrců výše uvedeného. Takže např. důsledná legalizace krádeží služeb znamená, že všechny služby jsou bezplatné, což znamená nejspíš údržbu celé této oblasti ze státního rozpočtu a v tomto případě za prvé všichni daňoví poplatníci platí služby ze svých daní a bez tržního mechanismu vlivu spotřebitele na výrobce („sněz, co dají“), za druhé odvádí státní prostředky od úkolů celostátního významu, za třetí, nedostatek tržní konkurence povede k vyrovnání kvality všech služeb do určitého levného a nepříliš kvalitního minima (je dokonce možné, že část poskytování služeb je zadána spotřebiteli kutilským způsobem). Totéž platí pro myšlenku úplné bezplatnosti veškerého softwaru.
Nesvobodné programy se nazývají „ proprietární “ (z anglického proprietary ) nebo „proprietární“. Někdy jsou nesprávně označovány jednoduše jako „ komerční “, což je nesprávné: existuje mnoho způsobů, jak těžit z programu, a mnoho úspěšných bezplatných projektů to dokazuje.
Přechod na konkrétní svobodný software, stejně jako obecný trend postupného nárůstu rozšíření open source softwaru mezi uživateli, se často nazývá migrace na svobodný software.
Média , která se nespecializují na počítačová témata , zpravidla ztotožňují otevřený a svobodný software, používají je jako synonyma. Údaje o rozšíření open source a svobodného softwaru jsou proto obvykle uváděny společně.
Open source software se aktivně používá na internetu. Například nejběžnější webový server Apache je zdarma, Wikipedia je poháněna MediaWiki , což je také bezplatný projekt.
Svobodný software používá belgické ministerstvo spravedlnosti, které má již polovinu svých počítačů s Linuxem , a francouzská policie, která zcela přešla na GendBuntu , distribuci založenou na Ubuntu. Do konce roku 2009 se plánuje převedení všech počítačů této instituce na svobodný software .
Open source program byl úspěšně implementován v Mnichově . Podobný program se konal v Berlíně , ale následně bylo rozhodnuto použít hybridní infrastrukturu komerčního a svobodného softwaru. [patnáct]
Od roku 2009 již otevřené systémy vlastní většinu (přes 60 %) trhu mobilních aplikací. Podle Juniper Research se do roku 2014 počet smartphonů s otevřenými operačními systémy zvýší dvakrát (ze 106 na 223 milionů). [16]
Svobodný software lze v každém případě volně instalovat a používat na jakémkoli počítači. Použití takového softwaru je všude zdarma: ve školách, úřadech, univerzitách, na osobních počítačích a ve všech organizacích a institucích, včetně komerčních a vládních, v Rusku a zemích SNS .
Vláda Ruské federace nařízením č. 2299-r ze dne 17. prosince 2010 [17] schválila plán přechodu federálních výkonných orgánů a federálních rozpočtových institucí na používání svobodného softwaru na léta 2011-2015 [18] .
Instituce ruského ministerstva obrany, stejně jako ruské ambasády v jiných zemích, používají operační systém WSWS . Tento OS, založený na Red Hat Linuxu s drobnými změnami, není svobodný software, jeho zdrojové kódy jsou uzavřené.
Od 1. června 2011 platí GOST R ISO / IEC 26300-2010 pro formát OpenDocument .
Od 1. ledna 2012 GOST R 54593-2011 „Informační technologie. Svobodný software. Obecná ustanovení“ [19] .
Na začátku roku 2012 bylo plánováno [ aktualizace ] asi 22 000 pracovišť na moskevských poliklinikách vybavit PC s Alt Linux . [dvacet]
Dne 15. dubna 2013 byl zahájen sběr podpisů pro státní financování vzdělávání svobodného softwaru pro obyvatelstvo Ruska [21] .
Dne 12. března 2014 byl podepsán federální zákon č. 35-FZ s úpravami čtvrté části Občanského zákoníku Ruské federace upravující používání otevřených licencí na území Ruské federace [22] .
Dne 3. dubna 2014 oznámilo oddělení informačních technologií Federálního soudního úřadu použití své vlastní specializované linuxové distribuce GosLinux ( založené na CentOS ) jako součást pokračující „politiky zavádění svobodného softwaru a importu nahrazování informačních technologií“ [23 ] [24] .
Svobodný software ve školáchVe třech regionech Ruska byly v roce 2008 zahájeny experimenty se zaváděním a používáním základních softwarových balíků pro učebny informatiky a výpočetní techniky na středních školách a školení učitelů a učitelů informatiky pro práci se svobodným softwarem v prostředí Windows a Linuxová prostředí začala [25] .
Uživatelé, kteří by jinak dali přednost svobodnému softwaru před nesvobodným softwarem, nadále používají nesvobodný software z následujících důvodů:
V bibliografických katalozích |
---|
svobodný software | Klíčové osoby v hnutí za|
---|---|
|
Bezplatný open source software | |
---|---|
Hlavní věc |
|
Společenství |
|
Organizace | |
licence | |
Problémy | |
jiný |
|
|
softwaru | Distribuce|
---|---|
licence | |
Příjmové modely | |
Způsoby dopravy |
|
Podvodné/ilegální | |
jiný |
|
Nezávislé produkty | |
---|---|
Čtení | |
Sluch |
|
Film |
|
Počítače |
|
Koncepty | |
viz také |
|