Prosta Programska Oprema Je Prihodnost In Zato - Alternativni Pogled

Kazalo:

Prosta Programska Oprema Je Prihodnost In Zato - Alternativni Pogled
Prosta Programska Oprema Je Prihodnost In Zato - Alternativni Pogled

Video: Prosta Programska Oprema Je Prihodnost In Zato - Alternativni Pogled

Video: Prosta Programska Oprema Je Prihodnost In Zato - Alternativni Pogled
Video: Video vodič - prosta programska oprema 2024, Maj
Anonim

Programska oprema z odprto kodo je običajna stvar v 21. stoletju. Organizacija, imenovana Iniciativa za odprte vire, je bila ustanovljena leta 1998, čeprav je bilo primerov razvoja odprtega vira že veliko. Kot pove že ime, je glavna razlika med takšnimi razvoji in zaprto (lastniško) programsko opremo v tem, da je koda prejšnje javno dostopna in vsak razvijalci jo lahko bodisi pregledajo bodisi spremenijo po lastni presoji. Vsi smo seznanjeni z vsaj enim odprtokodnim razvojem - Googlovim operacijskim sistemom Android.

Da, da, sistem, nameščen na 70-80 odstotkov (po različnih ocenah) pametnih telefonov na svetu, je popolnoma odprt in vsak lahko spremeni svojo izvorno kodo po svojih željah. Dokaz za to je ogromno število vilic za Android, na katerih temelji vdelana programska oprema za pametne telefone. Tu pa obstaja en najpomembnejši odtenek: v resnici celoten Android Android izgubi precejšen del svoje funkcionalnosti brez storitev samega Googla. No, slednje je seveda zaprto in jih popolnoma nadzira programska korporacija. Dodatni dokaz tega je tudi epopis zadnjih let, v katerega je bil vpleten Huawei.

Prosta programska oprema se prilagaja potrebam uporabnikov, ne obratno

Za razliko od lastniške programske opreme je odprtokodna programska oprema na splošno zelo prilagodljiva. Za to obstaja preprost razlog - eno od osnovnih "načel odprte kode" je, da "naj bi uporabnika dojemali kot soustvarjalca." To načelo je skupaj z drugimi opisal Eric Raymond v svojem eseju "Katedrala in bazar" iz leta 1997. V skladu z njo bi moral biti uporabniku zagotovljen dostop do izvorne kode, poleg tega pa se aktivno sodelovanje uporabnika pri razvoju le spodbuja. To se lahko pokaže v različnih oblikah: od neposrednih sprememb kode ali dokumentacije do preprostega zbiranja poročil o napakah (poročila o napakah).

No, ker je uporabnik deloma razvijalec, je povsem očitno, da bo končni izdelek bolj primeren za njegove potrebe kot prvotno zaprta programska oprema. Če želite slednje spremeniti, se mora potrošnik obrniti na podjetje za razvijalce (kar ni vedno enostavno), mu predstaviti svojo vizijo in počakati. Počakajte, da bo (morda) spremenila te spremembe. Vse se zdi logično - končni izdelek ste kupili v obliki, v kateri se prodaja, in se strinjali, da ga boste uporabili točno tako, kot je načrtoval razvijalec. Lahko vzamete primer z drugega področja: ko kupite avto, se ne poskušate obrniti na tovarno avtomobilov in ga prisiliti, da v tem modelu uporablja zmogljivejši motor, izpušni sistem pa je glasnejši. Točno tako, kot se ne boste obrnili nanj, da bi na primer izdelal jahto na podlagi tega stroja. Mogoče,če bi bili zelo velik veleprodajni kupec, bi vas proizvajalec v nekem trenutku spoznal na pol poti, vendar zagotovo ne bo preoblikoval celotnega postopka proizvodnje namesto vas. In še bolj, da si to priznam.

Enaka situacija je v programski opremi. Ko kupite lastniški OS, kot je Windows za namizje, se strinjate, da ga boste uporabljali tako, kot je načrtoval proizvajalec. To pomeni, da ga namestite (ali pridobite vnaprej nameščen) na navaden računalnik s podprto arhitekturo in strojno opremo, od tam ne boste izrezali nobenih kritičnih komponent in jih ne boste poskušali uporabljati v druge namene. Na primer kot strežnik OS ali kot OS za pametni telefon. Tega sploh ne morete storiti ali pa se boste soočili z več težavami in omejitvami.

Tu je primer pametnega telefona, ki temelji na namizju Windows - Fujitsu F-07C, predstavljenega leta 2011. Vendar je bil Symbian OS še vedno uporabljen za telefonski del
Tu je primer pametnega telefona, ki temelji na namizju Windows - Fujitsu F-07C, predstavljenega leta 2011. Vendar je bil Symbian OS še vedno uporabljen za telefonski del

Tu je primer pametnega telefona, ki temelji na namizju Windows - Fujitsu F-07C, predstavljenega leta 2011. Vendar je bil Symbian OS še vedno uporabljen za telefonski del.

Promocijski video:

Odprti izvorni operacijski sistemi so še ena stvar. Če Linux obravnavamo kot skupnost vseh njegovih distribucij, bo zelo težko najti ciljno ali "železno" arhitekturo, za katero ne obstaja Linux. Tukaj je OS za Veliki hadronski trkalnik, avtomobilsko programsko opremo in vse vrste "pametnih" stvari ter največje hrbtenične strežnike in banalne domače računalnike. Mnoge od teh distribucij ostajajo tudi odprte kode. To pomeni, da lahko vsak uporabnik takšnega izdelka aktivno sodeluje pri njegovem ustvarjanju in ga dopolnjuje glede na svoje potrebe. Isti sistem za LHC je spremenjena različica Scientific Linuxa, ki so jo skupaj razvili znanstveniki z vsega sveta. Ta različica Linuxa temelji na distribuciji Red Hat, ki je bila tudi "dopingirana" za znanstveno uporabo. Tako je dr. Znanstveniki iz CERN-a so prejeli orodje, ki najbolje ustreza njihovim specifičnim ciljem, ne da bi iz nič ustvarili celotno arhitekturo programske opreme.

Toda pred nekaj leti je CERN napovedal prehod na drugo distribucijo - CentOS. Znanstveni Linux bo podprt do leta 2024, vendar ne bo dobil novih različic
Toda pred nekaj leti je CERN napovedal prehod na drugo distribucijo - CentOS. Znanstveni Linux bo podprt do leta 2024, vendar ne bo dobil novih različic

Toda pred nekaj leti je CERN napovedal prehod na drugo distribucijo - CentOS. Znanstveni Linux bo podprt do leta 2024, vendar ne bo dobil novih različic.

Programsko opremo z odprto kodo je lažje nadzorovati

Javno dostopna izhodiščna koda omogoča tako imenovani "Linusov zakon", ki pravi: "Z dovolj opazovalcev površino hroščev." Preprosto povedano, če si lahko vsi razvijalci ogledajo izvorno kodo, obstaja velika možnost, da se bo napaka odpravila veliko prej. Enako načelo deluje tudi pri varnosti programske opreme: če je izvorna koda odprta, potem v njej hitreje najdemo tako naključne kot tudi namerno uvedene ranljivosti in vrzeli. V primeru lastniških rešitev lahko iskanje napak traja veliko več časa, ranljivosti pa lahko celo varno skrijemo v izvorni kodi.

Mnogi se spominjajo škandala iz leta 2013, ko je Edward Snowden objavil tajne podatke o programu PRISM ameriške agencije za nacionalno varnost. V skladu z objavljenimi dokumenti so v NSA padli podatki vseh internetnih velikanov, tako ali drugače, podjetja pa so k temu bodisi prispevala bodisi se niso aktivno upirala. Seveda pa ne le, da vsa ta podjetja uporabljajo in proizvajajo programsko opremo z zaprtimi izvori. Poleg tega obstajajo tako politični kot čisto človeški dejavniki. Toda le ena priložnost, da bi zunanji opazovalec preučil mehanizme gibanja osebnih podatkov, bi lahko zagotovil veliko večjo zaščito kot katero koli šifriranje. Konec koncev je šifriranje pravzaprav ključavnica, ki podatke zapre s ključem. In ne glede na to, kako zaščiten je pred krampami, vas ne bo rešil pred situacijami, ko ima napadalec kopijo ključa.

Image
Image

Velike organizacije se premikajo k odprtokodni programski opremi

Zgornja načela morda niso tako pomembna za povprečnega uporabnika (vsaj za zdaj), vendar so zelo pomembna za tako imenovana "podjetja" - velike organizacije, v katerih so okvare in puščanja izjemno nezaželeni, če ne povsem nesprejemljivi. Enako lahko rečemo za neprofitne organizacije - iste znanstvene projekte, pa tudi državne in občinske ustanove. Izjemen primer tega je uprava nemškega mesta München, ki se je odločila, če je mogoče, informacijsko infrastrukturo mestne oblasti prenesti na rešitve z odprtimi kodami. Številna druga nemška mesta prav tako načrtujejo prehod na odprte kode, vendar je primer Münchna še posebej opazen. Dejstvo je, da je bila lokalna občina svetovni pionir v tej zadevi - prvi prehod na programsko opremo z odprto kodo se je začel leta 2003. Predvideval je opustitev obeh ločenih lastniških programov, kot so Adobe, SAP in Microsoft, in zaprtega operacijskega sistema omenjenega podjetja iz Redmonda.

Image
Image

Razvili so celo lastno distribucijo, imenovano LiMux (Linux + Munchen), prehodni načrt pa je zahteval povečanje števila osebnih računalnikov, ki poganjajo ta operacijski sistem, na 80 odstotkov do leta 2013. Toda številni dejavniki so privedli do tega, da so zaposleni vzporedno vzdrževali dva sistema na svojih delovnih postajah: pogojno "glavni" LiMux in pogojno "dodatni" Windows. To se je zgodilo zaradi dejstva, da nekatera specializirana programska oprema ni imela različice za Linux, in če je, je na njej pogosto delovala nestabilno. Leta 2017 je uprava napovedala vrnitev k Microsoftovim izdelkom, letos pa je prišlo do novega obrata. Nova vlada je razglasila slogan Javni denar, javni kodeks in sprejela sporazum o prehodu informacijske infrastrukture v programsko opremo z odprto kodo. Vse, kar ni povezano z zaupnimi podatki,se bo postopoma (z iztekom veljavnih pogodb) preusmerila k programski opremi z javno dostopno kodo - zato želi vlada zagotoviti največjo preglednost svojega dela.

Image
Image

Celo tehnološki velikani priznavajo potrebo po sodelovanju pri razvoju odprtega koda

Zdi se, zakaj bi morala največja podjetja v informacijskem svetu, ki zaslužijo na svojih lastniških izdelkih, vstopiti v odprto kodo? Konec koncev, to skoraj neposredno nasprotuje logiki in zdravi pameti.

Zloglasni Microsoft se je tega pristopa držal precej dolgo. Vrhunec je bil vodstvo Stevea Ballmerja, ki je leta 2001 izjavil: "Linux je rak, ki posega v vsako intelektualno lastnino, ki se je dotakne." Toda od takrat se je vse zelo spremenilo. Korporacija ima zdaj ne le najpomembnejšo trdnjavo svetovnega odprtokodnega izvora - Github, ampak vsako leto svoje izdelke postopoma približuje svetu odprte kode. Na primer, leta 2015 je razvijalcem odprla svoj. NET okvir, leta 2018 pa je korporacija objavila nekaj delov izvorne kode za igre Minecraft, ki jih uporabljajo razvijalci.

In sama igra je postala nekakšna neformalna odprtokodna skupnost: s skupnimi močmi tu ustvarjajo najzapletenejše projekte, pred kratkim pa so celo ustvarili računalniški emulator, na katerem lahko igrate Doom
In sama igra je postala nekakšna neformalna odprtokodna skupnost: s skupnimi močmi tu ustvarjajo najzapletenejše projekte, pred kratkim pa so celo ustvarili računalniški emulator, na katerem lahko igrate Doom

In sama igra je postala nekakšna neformalna odprtokodna skupnost: s skupnimi močmi tu ustvarjajo najzapletenejše projekte, pred kratkim pa so celo ustvarili računalniški emulator, na katerem lahko igrate Doom.

In leta 2019 je naredila nenavaden korak - v Windows 10 je dodala jedro Linuxa za delovanje podsistema, imenovanega Windows Podsistem Linux (WSL). Pred tem so lahko vse različice OS iz podjetja Redmond posnemale le Linux, zdaj pa gre za popolnoma popoln podsistem, ki je očitno namenjen razvijalcem, ki imajo raje to okolje. Z istim namenom je bil ustvarjen Windows Terminal, s katerim lahko dostopate tako do znanega PowerShell / CMD kot do jedra Linuxa.

Image
Image

Vse te spremembe se dogajajo v veliki korporaciji z razlogom. Njeno novo vodstvo se je začelo zavedati, da je ideja o odprtokodni kodi vsako leto pomembnejša za razvijalce in da bo sčasoma odprta koda zdrobila pomemben del skupnosti. In tu se začne igrati staro dobro načelo "če se ne moreš boriti - vodi". Prav Microsoftova naloga za vodenje v svetu odprte kode je spodbudila Microsoft, da kupi tako ne tako donosno sredstvo, kot je Github. To stanje opažajo tudi v drugih večjih podjetjih: številni podobni projekti uporabljajo računalniško moč AWS v oblaku iz Amazona, Apple je v začetku tega leta začel množično zaposlovati ključne zaposlene neposredno iz sveta računalništva v oblaku (tudi iz AWS), Google pa je nekakšen standard "odprte kode" med komercialnimi organizacijami. Vsa izvorna koda je odprta ne le za mobilni operacijski sistem Android, temveč tudi za brskalnik Chromium in celo namizni Chromium OS.

Več kot 2000 Googlovih projektov je odprte kode
Več kot 2000 Googlovih projektov je odprte kode

Več kot 2000 Googlovih projektov je odprte kode.

Hkrati kalifornijsko podjetje na njih izdeluje uspešne komercialne izdelke, pri čemer uporablja kodo z minimalnimi razlikami. Če rečem, če želite narediti lastno vilico (fork) Androida in uporabljati najnovejše vire, bo le odsotnost Googlovih storitev razlikovala od prvotnega operacijskega sistema. Da, v sodobnem svetu igrajo te storitve skoraj ključno vlogo (spet se vrnemo k situaciji s Huaweijem). Toda dejstvo ostaja - lahko ustvarite svoj mobilni operacijski sistem OS, enakovreden vsem svetovnim tehničnim velikanom, popolnoma legalno in 100% brezplačno. Če imate seveda dovolj znanja in veščin.

Open source sploh ne pomeni "zastonj"

In tu pridemo do dejstva, da se dojemanje odprtokodnih izdelkov kot brezplačnih tudi počasi umika na stran. Da, načela odprtokodne skupnosti so tesno povezana z brezplačno distribucijo kode, vendar ne izključujejo njene komercializacije. RedHat je primer pristopa, ki združuje te dve na videz nezdružljivi stvari. Fedora je distribucija Linuxa, ki jo razvija in je popolnoma odprta koda. Vendar je podjetje še vedno trgovsko podjetje - denar zasluži s naročnino na storitve za komercialne stranke in s tehnično podporo. Lani je podjetje odkupil še en največji tehnološki velikan - IBM, vendar to ni vplivalo na poslovni model RedHat-a. Distribucijski komplet je bil in bo ostal odprt,podjetje pa zdaj namerava zaslužiti ne le za naročnine, temveč tudi za računalništvo v oblaku. Mimogrede, podjetje je v letu 2018 zaslužilo skoraj pol milijarde dolarjev, kar se zdi zelo pomemben pokazatelj za podjetje, katerega glavni izdelek je mogoče prenesti popolnoma brezplačno.

Image
Image

Drugo priljubljeno distribucijo Linuxa, Ubuntu, razvija tudi komercialno podjetje. Kljub odprtokodni kodi Ubuntu je njegovo razvijalsko podjetje Canonical v letu 2019 zaslužilo približno 11 milijonov dolarjev. Ne najbolj velik kazalnik, a kljub temu gre za stabilen dobiček in tu ne more biti nobenega "neprofitnega združenja". Tu je poslovni model enak kot pri RedHatu - naročnina na storitve.

Image
Image

Zaključek

Še posebej zanimivo je, da odprtokodno najdemo ne le v programski opremi, temveč tudi v strojni opremi. Na primer, ne vedo vsi, da je platforma Arduino odprta koda in vsak lahko popolnoma zakonito izdela svojo kopijo tega mikroračunalnika. To, mimogrede, uspešno uporabljajo kitajska podjetja. Vendar je ime Arduino samo po sebi registrirana blagovna znamka, proizvodno podjetje pa zasluži ne le s proizvodnjo samih plošč, temveč tudi z licenciranjem blagovne znamke.

Arduino Uno
Arduino Uno

Arduino Uno.

Lahko ste prepričani, da bo odprta koda nadaljevala svoj zmagovalni pohod po planetu in še dlje. Na primer, svetovno znana družba Elona Musk SpaceX je pred kratkim objavila, da je v Zemljino orbito izstrelila že 32 tisoč mikrosatelitov, da bi zagotovila omrežje Starlink, medtem ko njihov OS temelji na istem Linuxu. Upravljanje kapsule Crew Dragon je delno zaupano sistemu monitorjev na dotik, katerih vmesnik temelji na izvorni kodi motorja brskalnika Chromium.

Krmilni center kapsule Crew Dragon
Krmilni center kapsule Crew Dragon

Krmilni center kapsule Crew Dragon.

Toda ali bo premik k popolni odprtosti kode minil neboleče ali bomo na tej osnovi še vedno priča konfliktom, bo pokazal čas. Sumim, da bo odprta koda kmalu postala standard za vse razvijalce, lastniške rešitve pa bodo zasedle precej ozko, čeprav še vedno zelo opazno nišo. Ta postopek bo pospešil ne samo razvijalčevo skupnost, temveč tudi uporabnike in predvsem - vlade držav. Trend preglednosti vsega in vseh raste vsako leto in programska oprema ne bo izjema. Kaj mislis o tem?