Programovanie

Čo je to softvér s otvoreným zdrojovým kódom? Open source a FOSS vysvetlené

Základom každého použitého softvéru je zdrojový kód, ktorý vydáva príkazy a narába s údajmi, ktoré umožňujú softvéru robiť to, čo robí. Otázka, kto by mal mať právo pozerať sa na tento zdrojový kód, pozmeňovať ho alebo redistribuovať, je už dlho jednou zo základných ideologických rozdielov vo svete výpočtovej techniky.

Navrhovatelia softvéru s otvoreným zdrojom, ako už z názvu vyplýva, sa stavajú na stranu otvorenosti; majú pocit, že ľudia by mali mať právo na prístup k zdrojovému kódu softvéru, ktorý používajú. Ako ďalej uvidíme, pod týmto označením v praxi existuje veľa druhov. Rôzne druhy softvéru s otvoreným zdrojom existujú takmer v každej výklenke, na ktorú si len spomeniete - v skutočnosti mnohým z nich dominuje otvorený zdroj.

Čo je softvér otvoreného zdroja, čo je slobodný softvér - a líšia sa?

Stručná definícia softvéru s otvoreným zdrojovým kódom je, že ide o softvér, ktorého základný kód je možné preskúmať, pozmeniť a znova distribuovať. (Existuje dlhšia a oficiálnejšia definícia, ktorej sa trochu budeme venovať.) „Zmenené a redistribuované“ časti sú skutočne kľúčové pre filozofiu otvoreného zdroja. Napriek tomu, čo by názov mohol naznačovať, jednoduché otvorenie zdrojového kódu, aby si ho ľudia mohli pozrieť, z neho nerobí open source.

V niektorých ohľadoch je termín „softvér s otvoreným zdrojovým kódom“ retronymom: V prvých desaťročiach počítačovej vedy bol zdrojový kód softvéru k dispozícii ako samozrejmosť a voľne si ho vymieňali medzi výskumníkmi a priemyselnými vedcami. Počítačov bolo málo a ich používateľov čakalo, že ich používatelia budú značne upravovať, takže ľudia potrebovali prístup ku kódu. V mnohých ohľadoch sa softvér považoval za doplnok k počítačovému hardvéru; až v roku 1974 sa dokonca právne potvrdilo, že softvér podlieha autorským právam. Ale keď éra mikropočítačov začala koncom 70. rokov, priemysel sa začal posúvať do pozície, že softvér je niečo, čo má samo o sebe peňažnú hodnotu, a že prístup k základnému kódu môže a mal by byť obmedzený v záujme ochrany tvorcov softvéru. „práva. Slávny otvorený list Billa Gatesa z roku 1976 pre fanúšikov, ktorí sa sťažujú na rozsiahle pirátstvo prvého produktu spoločnosti Microsoft, tlmočníka Altair BASIC, je zlomovým dokumentom tejto zmeny.

Zatiaľ čo sa tieto nové nápady rýchlo rozvíjal rýchlo sa rozvíjajúci softvérový priemysel, niektorí ľudia sa postavili proti nim. Jedným z prvých oponentov bol Richard Stallman, ktorý v roku 1985 založil nadáciu Free Software Foundation (FSF). „Free“ v slobodnom softvéri má naznačovať slobodu používateľov meniť a distribuovať kód podľa vlastného uváženia; v tomto zmysle neexistuje pravidlo proti účtovaniu peňazí za slobodný softvér. Často sa rozlišuje medzi „zadarmo ako v slobodnom pive“ a „slobodne ako v slobodnom prejave“, pričom v druhom tábore je slobodný softvér.

Myšlienka slobodného softvéru napriek tomu znervózňovala mnohých ľudí v súkromnom priemysle, ktorí napokon neboli fanúšikmi rozdávania vecí. V roku 1998 Christine Peterson vytvorila frázu „open source“ čiastočne ako pokus o sprístupnenie tejto myšlienky nováčikom, najmä tým, ktorí pracujú v ziskových spoločnostiach. Aj keď sa Stallman postavil proti termínu otvorený zdroj a uviedol, že sa odkláňa od pôvodných politických a filozofických myšlienok slobodného softvéru, stala sa dominantnou frázou popisujúcou tento koncept. Vennov diagram bezplatného a otvoreného softvéru sa dostatočne prekrýva, takže sa niekedy tieto dva kombinujú pod skratkou FOSS (bezplatný a otvorený softvér).. Všeobecne platí, že všetok slobodný softvér je otvorený zdroj, hoci malá časť softvéru s otvoreným zdrojovým kódom má licenčné podmienky, čo znamená, že nie je zadarmo (viac o licencovaní otvoreného zdroja za chvíľu).

Koncept slobodného a otvoreného softvéru dal vzniknúť ďalšej definícii retronymu: „proprietárny softvér,” akýkoľvek softvér, ktorý nie je otvoreným zdrojom.

Licencie softvéru na otvorený zdroj

Všetky práva a povinnosti spojené so softvérom otvoreného zdroja sú ustanovené v licenciách, na základe ktorých je softvér distribuovaný. Keď sa etablovala právna doktrína, že na softvér sa vzťahujú autorské práva, začali sa písať softvérové ​​licencie, aby sa uzavrela zmluva medzi vlastníkom autorských práv a používateľom, ktorá používateľovi dáva povolenie na spustenie softvéru na osobnom počítači.

Softvérové ​​licencie pôvodne existovali s cieľom obmedziť správanie používateľov a chrániť práva výrobcu softvéru. Obhajcovia slobodného softvéru si však uvedomili, že môžu zvrátiť pôvodný účel licencií: Licencia softvérového balíka môže namiesto toho vyžadovať, aby bol základný kód k dispozícii každému, kto softvér používa, a že používatelia mali právo tento kód upravovať a ďalej distribuovať. Prvou licenciou na softvér s otvoreným zdrojovým kódom (aj keď je staršou ako tento termín) je pravdepodobne oznámenie o povolení kopírovania GNU Emacs vydané v roku 1985 pre verziu textového editora Emacs od FSF’s Stallman.

Odvtedy sa zvýšil počet bezplatných a otvorených licencií, z ktorých každá nastavuje mierne odlišné podmienky používania licencovaného kódu; Wikipedia udržuje veľmi dobrý graf s podrobnosťami o najdôležitejších licenciách. Podľa definície poskytuje ktorákoľvek z týchto licencií open source používateľom tri základné slobody možnosti čítať, upravovať a redistribuovať zdrojový kód; hlavná oblasť, v ktorej sa líšia, je v podmienkach, ktoré ukladajú pri prerozdeľovaní:

  • Povolené licencie vám umožní redistribuovať akýkoľvek zdrojový kód, ako uznáte za vhodné. Môžete napríklad vziať zdrojový kód vydaný na základe povolenej licencie, začleniť ho do svojho vlastného softvéru a potom tento softvér vydať na základe vlastnej licencie. Licencia BSD je jednou z najslávnejších povolených licencií.
  • Licencie Copyleft požadovať, aby bol akýkoľvek redistribuovaný kód, ktorý obsahuje licenčný kód, vydaný aj na základe podobnej licencie. Rôzne verzie verejnej licencie GNU (GPL) od FSF sú copyleftové licencie a ich cieľom je požadovať od vývojárov, aby ju vyplatili zdieľaním výhod, ktoré dostali pri začlenení otvoreného zdrojového kódu do svojho projektu.

Je zaujímavé poznamenať, že myšlienky týchto licencií sa rozšírili aj mimo svet softvéru. Creative Commons je právna infraštruktúra na uplatňovanie podobných výrazov na písomné alebo vizuálne umelecké diela.

Definícia otvoreného zdroja a iniciatíva otvoreného zdroja

Open source zo svojej podstaty nie je kontrolovaný žiadnym samostatným subjektom alebo organizáciou. V roku 1998 skupina významných vývojárov vrátane Brucea Perensa a Erica S. Raymonda založila Open Source Initiative (OSI), neziskovú organizáciu zaoberajúcu sa obhajobou otvoreného zdroja v rámci väčšieho softvérového priemyslu. OSI sa v roku 1999 pokúsila o ochrannú známku výrazu open source; ich formálna definícia otvoreného zdroja je napriek tomu konsenzom rámcom všetkých licencií, ktoré si hovoria open source. Okrem slobody skúmať, upravovať a redistribuovať kód, o ktorej sme už hovorili, definícia otvoreného zdroja zakazuje licencie, ktoré diskriminujú konkrétne skupiny alebo ľudí a ktoré bránia použitiu kódu na konkrétny účel alebo oblasť snaženia, alebo z fungovania na konkrétnom zariadení alebo type zariadenia.

Open source vývoj a open source projekty

Vývoj pomocou otvoreného zdrojového kódu prebieha vo všetkých druhoch prostredí, od univerzít až po veľké korporácie, a často sa riadi rovnakými vzormi ako akýkoľvek iný druh vývoja softvéru. Existuje však konkrétny druh otvoreného procesu rozvoja komunity, ktorý je spojený s otvoreným zdrojom. Eric S. Raymond vo svojej vplyvnej eseji „The Cathedral and the Bazaar“ načrtol svoju víziu tohto procesu, v rámci ktorého má ktokoľvek prístup k kódu. K základu kódov sú pridávané aktualizácie od široko distribuovanej skupiny vývojárov, ktorí sa do programu vstupujú a odchádzajú ich záujem diktuje.

Open source vývoj tohto typu je organizovaný okolo open source projektov. Tieto fungujú niekedy na jednom softvéri a niekedy na celej súvisiacej skupine aplikácií. Softvér na správu verzií udržuje príspevky všetkých v súlade. GitHub je pravdepodobne najpopulárnejší.

Projekty otvoreného zdroja, ktoré niekedy začína jedna osoba, sú zvyčajne samoorganizované, malé internetové komunity, a hoci ktokoľvek môže prispieť do ľubovoľného projektu, väčšinou na nich pracuje relatívne malá skupina vývojárov. Niekedy môže byť projekt sponzorovaný ziskovou spoločnosťou, ktorá plánuje použiť softvér, ktorý produkuje, dokonca až tak ďaleko, že najvýznamnejších vývojárov projektu dostane na mzdu.

Príklady otvoreného zdroja

Softvér s otvoreným zdrojovým kódom je v skutočnosti všadeprítomný a vytvára veľkú časť základov moderného internetu. Asi najznámejším open source projektom je Linux, open source unixový variant, ktorý napája milióny serverov. Medzi ďalšie významné a mimoriadne dôležité projekty patrí webový server Apache, databáza MySQL a WordPress. Mnoho vývojových rámcov je vydaných ako open source, od Ruby on Rails po Microsoft .Net Core.

Open source bol pri výrobe softvéru pre domáci počítač určený pre bežných používateľov menej úspešný. Napriek vysokým nákladom na proprietárne softvérové ​​balíčky ako Microsoft Word a Adobe Photoshop sa kolegom s otvoreným zdrojom, ako sú OpenOffice a GIMP, nikdy nepodarilo nájsť miesto, ktoré by presahovalo zarytých nadšencov, a to z veľkej časti preto, že komunita otvorených zdrojov tradične uprednostňovala funkcie a flexibilitu pred jednoduchosťou použitie. (Uzamknutie formátu súboru od autorizovaných dodávateľov nepomohlo.) Ani Linux, ktorého obhajcovia od konca 90. rokov tvrdia, že operačný systém s otvoreným zdrojom je vzdialený iba rok od ovládnutia pracovnej plochy, sa nikdy nedokázal preskočiť na spotrebiteľský priestor. Všeobecne sa otvorený zdroj používa pre infraštruktúru oveľa viac ako pre softvér koncového používateľa. Ale prechod od monolitického softvéru, ktorý prevádzkujete lokálne, k aplikáciám SaaS bol prínosom pre otvorený zdroj, pretože cloudové infraštruktúry sú do značnej miery založené na zásobníkoch, v ktorých dominuje otvorený zdroj.

Pamätáte si, čo sme hovorili o ziskových spoločnostiach podporujúcich open source? Tieto projekty sa často vyrábajú na základe permisívnej licencie, takže tieto spoločnosti môžu vložiť otvorený zdrojový kód do jadra svojich vlastných ponúk a zároveň zachovať samostatný otvorený zdrojový kód paralelne ako komunitný projekt. Napríklad mobilný operačný systém Android má jadro Linux; všetky mobilné a stolové operačné systémy Apple sú založené na Darwine, operačnom systéme s otvoreným zdrojom, ktorý bol pôvodne odvodený od BSD Unix. Aj prehliadač Google Chrome je založený na otvorenom prehliadači s názvom Chromium.

Komunita otvorených zdrojov a hnutie otvorených zdrojov

Open source nie je len vývojový proces; je to filozofia, pre ktorú sú ľudia nadšení, a je to sociálna komunita, do ktorej sa môže zapojiť každý, kto má programovacie schopnosti. V skutočnosti ide o celú sériu komunít, ako hovorí Linux Foundation. (Existencia neziskových organizácií, ako sú Linux Foundation a OSI, je dôležitým aspektom tejto komunity.) Florian Effenberger má veľkú esej o tom, ako mu komunita open source obohatila život.

Často budete počuť, ako ľudia hovoria o otvorenom zdroji alebo hnutí za slobodný softvér, ktoré majú konotáciu politiky a advokácie. Mnoho ľudí v komunite otvorených zdrojov presadilo rozsiahle prijatie softvéru otvoreného zdroja z rôznych dôvodov: Myslia si, že otvorený zdroj produkuje inherentne lepší kód, alebo si myslia, že prístup k zdrojovému kódu je základným právom, ktoré by mali používatelia počítačov využívať, alebo nejaká ich kombinácia. Tento aspekt komunity sa dnes javí o niečo menej viditeľný, ale možno je to tak preto, lebo v mnohých ohľadoch zvíťazil open source. V roku 2001 vtedajší generálny riaditeľ spoločnosti Microsoft Steve Ballmer uviedol, že Linux bol vďaka svojej licencii na otvorený zdroj „rakovinou, ktorá sa v zmysle duševného vlastníctva pripája ku všetkému, čoho sa dotkne.“ V súčasnosti je spoločnosť Microsoft rozsiahlym používateľom a producentom softvéru s otvoreným zdrojovým kódom. To sú v skratke posledné dve desaťročia histórie otvorených zdrojov.

Stiahnutie softvéru s otvoreným zdrojom

Chcete začať prechádzať a hrať si s projektmi otvoreného zdroja? Navštívte stránku Projekty a aplikácie na webe opensource.com, kartu GitHub Explore alebo Mapu softvéru Open Source Development Network. Je tu veľa zvedavých ľudí akejkoľvek úrovne schopností.

$config[zx-auto] not found$config[zx-overlay] not found