Mnogi posamezniki so pri nakupu novega pametnega telefona zaskrbljeni zaradi specifikacij kamere, velikosti zaslona in pomnilnika. Eden najpomembnejših elementov teh privlačnih potrošniških izdelkov je operacijski sistem, ki ga je enostavno spregledati.
Googlov Android je najbolj priljubljen mobilni operacijski sistem na svetu. Najdemo ga v več kot 86 odstotkih pametnih telefonov po vsem svetu. Še bolj presenetljivo je, da Android temelji na odprtokodnem operacijskem sistemu Linux. To pomeni, da lahko vsakdo bere, spreminja in, kar je najpomembneje, deli kodo v središču velike večine pametnih telefonov. Ta odprtost omogoča sodelovanje.
Za razliko od na primer Microsoft Windows, ki ga je ustvarilo in vzdrževalo eno samo podjetje. Več kot 15000 programerjev z vsega sveta prispeva k razvoju in vzdrževanju Linuxa. Ti programerji lahko ponudijo, da zgradijo nekaj novega, kar se prosto distribuira.
Kaj je odprtokodno?
Del programske opreme, za katerega je izvirna izvorna koda javno dostopna in jo lahko uporabnik po potrebi deli in posodablja. Odprtokodna programska oprema je programska oprema, v kateri je izvorna koda ali osnovna koda običajno dostopna vsem, ki jih lahko spremeni ali izboljša za ponovno uporabo in dostopnost.
Z delom programske opreme lahko manipulira in spreminja vsak, tako da program ali aplikacija deluje pravilno. Programerji z dostopom do izvorne kode računalniškega programa jo lahko izboljšajo z dodajanjem funkcij ali popravkom razdelkov, ki ne delujejo vedno pravilno.
Odprtokodna programska oprema je ustvarjena na decentraliziran in sodelovalen način, pri čemer se zanaša na medsebojni pregled in rezultate skupnosti. Ker jo proizvajajo skupnosti in ne en sam avtor ali korporacija, je odprtokodna programska oprema na splošno cenejša, bolj prilagodljiva in ima daljšo življenjsko dobo kot lastniška programska oprema.
Vsako leto postaja odprtokodna vse bolj razširjena in se pojavlja povsod, od vladnih mest do institucij. Prav tako postaja vse bolj priljubljena med podjetji vseh velikosti. Pravzaprav nekatera podjetja s finančno financiranjem projektov ali sodelovanjem z razvijalci dvigajo odprtokodno na višjo raven.
Sodelovanje spodbuja inovacije z brezplačnim in odprtokodnim. Številne tehnologije, ki jih danes jemljemo kot samoumevne, se ne bi razvile ali bi bile zaščitene s patentno zakonodajo, če ne bi bilo nje.
Zgodovina
Raziskovalci, ki so delali na zgodnjih internetnih tehnologijah in komunikacijskih omrežnih protokolih, so imeli koristi od odprtega in sodelovalnega raziskovalnega okolja v petdesetih in šestdesetih letih prejšnjega stoletja. Strokovne ocene in odprte komentarje je spodbujala Mreža agencij za napredne raziskovalne projekte (ARPANET), ki je na koncu postala temelj sodobnega interneta.
Izvorna koda vsake skupine uporabnikov je bila deljena in izboljšana. Forumi so pomagali olajšati razpravo ter razviti odprte komunikacijske norme in norme sodelovanja. Sodelovanje, medsebojni pregledi, komunikacija in odprtost so bili v koreninah interneta že v začetku devetdesetih let prejšnjega stoletja.
Zamisel o javno dostopnosti izvorne kode izhaja iz intelektualne kampanje, ki jo je neformalno začel Richard Stallman, programer na MIT, leta 1983. Stallman je menil, da bi morala biti programska oprema na voljo programerjem, da bi jo lahko spreminjali, kot se jim zdi primerno, da bi izboljšali razumeti, spoznati in izboljšati.
Stallman je začel distribuirati brezplačno programsko opremo pod svojo licenco, GNU Public License. Ta nova tehnika in odnos do razvoja programske opreme sta pridobila moč, kar je na koncu pripeljalo do ustanovitve Open Source Initiative leta 1998.
Odprtokodna programska oprema v primerjavi z zaprto kodno programsko opremo
Odprtokodna programska oprema
- Dostopna izvorna programska oprema je računalniška programska oprema, katere izvorna koda je odprta za javnost in omogoča vsakomur ogled in uporabo.
- Kodo lahko spreminjajo drugi posamezniki in organizacije, izvorna koda je dostopna vsakomur.
- Stroški odprtokodne programske opreme so precej nizki.
- Če je program priljubljen, se lahko projektu dodeli veliko število programerjev.
- Za uporabnike je manj omejitev glede uporabe programske opreme in prilagajanja.
- Vsak stroj je lahko konfiguriran za zagon odprte programske opreme.
- Firefox, Android od Googla, operacijski sistem Linux, Android, Thunderbird, MySQL, Mailman, Moodle, Perl, PHP in Python je nekaj primerov.
Zaprta programska oprema
- Zaprta izvorna programska oprema je računalniška programska oprema z zaprto izvorno kodo, kar pomeni, da javnost nima dostopa do izvorne kode.
- Samo oseba ali skupina, ki je izdelala programsko opremo, ima možnost spremeniti kodo.
- Izvorna koda zaprtokodne programske opreme je zaščitena.
- Obstaja več omejitev za uporabnike, odvisno od uporabnosti programske opreme in prilagajanja.
- Podjetje/organizacija za programsko opremo najame programerje za izboljšanje programske opreme.
- Programska oprema z zaprto kodo je draga.
- Pred namestitvijo v kateri koli računalnik mora imeti zaprta programska oprema veljavno licenco.
- V zaprtokodni programski opremi ni prostora za napake.
- Skype, Google Earth, Java, Adobe Flash, Virtual Box, Adobe Reader, Microsoft Office, Microsoft Windows, WinRAR, mac OS, Adobe Flash Player so nekateri primeri.
Koristi
Odprtokodna koda je pomagala tako ambicioznim razvijalcem kot velikim korporacijam pri njihovem tehnološkem znanju. To je neskončno izobraževalno, zlasti glede na naraščajoče posledice kodiranja. Ta vedno širša mreža idej je le začetek tega, kako lahko takšna programska oprema pomaga vašemu podjetju.
Razširitev proračuna je lahko vsakodnevna bitka za zagonska podjetja. Razpoložljivost odprtokodnih projektov omogoča potrošnikom, da sprejmejo novo tehnologijo brez plačila članarine ali podpisovanja dolgoročnih pogodb. Poleg nizkih (ali neobstoječih) stroškov odprtokodne knjižnice omogočajo ekipam, da začnejo pri gradnji IT infrastrukture ali razvoju nove aplikacije.
Velik del tega dela je že opravljenega za vas zahvaljujoč odprtokodnemu. To razvijalcem sprosti čas za optimizacijo in prilagajanje. Vedno se bodo pojavile situacije, ko bodo organizacije želele z razvojem začeti iz nič, toda tudi največje svetovne blagovne znamke prepoznajo čas in denar, prihranjen z uporabo odprtokodne tehnologije. Odprtokodne komponente, ne glede na to, ali se uporabljajo kot začetni kompleti za kompleksne aplikacije ali delčki majhne sestavljanke za pomoč pri dokončanju projekta, so lahko uporabna alternativa tako za posamezne razvijalce kot za podjetniške ekipe.
Spletne skupnosti, kot je GitHub, izkazujejo potencial sodelovanja odprtokodne programske opreme in zagotavljajo dom milijonom razvijalcev in podjetij za gostovanje, ocenjevanje in uporabo odprtokodnih platform. Microsoft je leta 7.5 za platformo plačal 2018 milijarde dolarjev. To je verjetno najvidnejši primer doslej, kako priljubljena je odprtokodna tehnologija in da uveljavljeni IT velikani vlagajo v prihodnost te skupnosti.
Zaradi različnih razlogov sta razvoj in izvajanje strategije odprtokodne programske opreme postala kritična. Razvijalci odprtokodne programske opreme posamezno in skupaj iščejo najboljše odgovore na tehnične izzive, kar ima za posledico programsko opremo, ki je zanesljiva, varna in brezplačna. Program se sčasoma izboljšuje zaradi njihovega neutrudnega dela.
Proces podpirajo številne fundacije, vključno z Linux Foundation, ki podpira odprtokodno na več tehnoloških domenah, Apache Software Foundation in Eclipse Foundation.
Vzpostavljajo standarde v sodelovanju z digitalnimi velikani, kot so AWS, Facebook, Google, IBM, Microsoft, Netflix in SAP, pa tudi s proizvajalci strojne opreme, kot so Cisco, Intel in Tesla. Prav tako gradijo domove za projekte, ki niso neodvisni od prodajalcev, ponujajo finančno pomoč za infrastrukturo, pomagajo pri trženju in izbirajo odbore za pametne odločitve o projektih.
Če povzamemo, so nekatere od glavnih prednosti odprtokodne:
- Stroški strojne opreme so nižji.
- Programska oprema izjemne kakovosti.
- Globalna podpora razvijalcev.
- Fleksibilnost in svoboda.
- Upravljanje licenc je preprosto.
- Koncentracija in skaliranje projektov.
Tveganja
Kot je bilo omenjeno v prejšnjem razdelku, lahko odprta koda nudi več prednosti. Zdaj si bomo ogledali morebitne pomanjkljivosti ali nevarnosti, povezane z njim, ki spadajo v tri kategorije, kot sledi:
- Varnostno tveganje
- Tveganje kakovosti
- Tveganje skladnosti
Odprtokodne komponente je mogoče najti v različnih spletnih repozitorijih in razvijalci ne morejo vedeti, kako dobri ali varni so. Organizacije, ki ne vlagajo v nadzor nad svojo uporabo, so tvegane in lahko plačajo ceno pozneje, ko postane popravljanje napak veliko dražje.
Varnostno tveganje
Hekerji lahko zaslužijo veliko denarja z izkoriščanjem odprtokodnih varnostnih napak. To daje hekerjem vse informacije, ki jih potrebujejo za začetek napada. Da bi bile stvari še hujše, ker je tako široko uporabljena, ranljivost v priljubljeni komponenti ponuja hekerjem veliko število potencialnih žrtev. To pomeni, da hekerji pozorno spremljajo skupnost in hitro izkoristijo znane varnostne pomanjkljivosti v priljubljenih odprtokodnih komponentah.
Podjetja s programsko opremo so ranljiva za zlonamerne napade, če ne spremljajo svoje odprtokodne uporabe in ne poznajo ranljivih knjižnic v svoji kodi.
Tveganje kakovosti
Medtem ko podjetje porabi veliko časa in denarja za zagotovitev kakovost svoje lastniške kode, se zdi, da številne razvojne ekipe podcenjujejo ali ignorirajo kakovost odprtokodnih komponent. Seveda si vsi želimo, da je naš končni izdelek dosleden in stabilen pod pritiskom.
Eden od razlogov, zakaj je težko preveriti, ali komponenta odprtokodne programske opreme ne ogroža statusa vašega izdelka, je, ker ni dogovorjenih meril za ocenjevanje njegove kakovosti, sodelovanje odprtokodnega značaja pa lahko oteži meriti.
Tveganje skladnosti
Vsaka komponenta odprtokodne programske opreme in njene odvisnosti so licencirane. Ko jih uporabljamo v našem projektu, se zavežemo k nizu pogojev, ki jih moramo upoštevati. Za tiste, ki niso seznanjeni s kompleksnostjo odprtokodnega licenciranja, je to lahko nočna mora.
Nekateri odprtokodni projekti nimajo nobene izvorne licence, kar pomeni, da privzeto veljajo pravila o avtorskih pravicah. Ker je licenc toliko, je izpolnjevanje vseh zakonskih zahtev precej težko. Ali ste vedeli, da obstaja več kot 200 različnih vrst odprtokodnih licenc, od katerih ima vsaka svoj nabor edinstvenih, specializiranih in pogosto motečih določil in pogojev?
Prihodnost odprte kode
Nove valove inovacij bo spodbudila programska oprema, ki je rezultat skupnega prizadevanja, ne le enega podjetja, temveč skupnosti, ki je namenjena izboljšanju celotnega okolja.
Podjetja osvobajajo svoje razvijalce, da konkurirajo v digitalni areni, s ciljem, da bi bila prva, ki bo ustvarila vedno večje inovacije v tehnološki industriji, saj še naprej pridobiva izpostavljenost med podjetji.
Razvijalci lahko učinkovito obravnavajo težave pri testiranju in implementaciji z uporabo odprtokodne skupnosti in učenjem od najboljših razvijalcev, zlasti ob poplavi novih tehnologij, kot so AI, strojno učenje, in napredek robotike.
Ko zaposleni izkoristijo prednosti dinamične skupnosti, usmerjene v rešitve, vidimo, da podjetja pridobijo. Od samovozečih vozil do medicinskih robotov, pametnih mest do podatkovnih centrov, ne želimo odgovorov na te izzive zaupati majhnemu številu podjetij. Namesto tega bi se morali zanašati na odprtokodno in množico briljantnih izumiteljev, da bi dosegli najboljše rezultate.
zaključek
Odprtokodno gibanje je odgovorno za hiter napredek tehnologije v zadnjih nekaj desetletjih. Čeprav odprtokodno predstavlja nekaj tveganj, obstaja veliko prednosti in obetavnih poti naprej. Velika skupnost sodelavcev, smernice za začetek, učenje s preučevanjem kode drugih ljudi in pridobivanje izkušenj pri komunikaciji z drugimi inženirji je nekaj odličnih prednosti, ki jih dobite od odprtokodne programske opreme.
Če želite tudi začeti prispevati k odprtokodnemu projektu, najprej poiščite tistega, ki vas očara, nato pa poiščite na GitHubu oznako z napisom »dobra prva številka« ali kaj podobnega. Dobra prva številka je projekt, ki kurira preproste izbire priljubljenih projektov za razvijalce, ki še nikoli niso prispevali.
Pustite Odgovori