Definicija in primeri odprtokodne programske opreme
Updating Nikon COOLPIX Camera Firmware in 5 Simple Steps
Kazalo:
- Merila programske opreme odprte kode
- Licence
- Programska oprema odprte kode in komercialna programska oprema
- Programska oprema odprte kode in prosta programska oprema
- Prednosti odprtokodne programske opreme
- Priljubljene vrste odprtokodne programske opreme
- Programska oprema z odprto kodo in razvijalci
- Spodnja črta
Odprtokodna programska oprema (OSS) je kakršna koli računalniška programska oprema, ki se distribuira z izvorno kodo, ki je na voljo za spreminjanje. To pomeni, da ponavadi vključuje licenco za programerje, da spremenijo programsko opremo na kakršen koli način, ki ga izberejo: lahko popravijo napake, izboljšajo funkcije ali prilagodijo programsko opremo, ki ustreza njihovim potrebam.
Merila programske opreme odprte kode
Open Source Initiative (OSI), globalna neprofitna organizacija, ustanovljena leta 1998, deluje kot vodilni organ na področju OSS. Opredelitev odprtokodne programske opreme vključuje 10 meril, ki se nanašajo na zadeve, kot so:
- Programska prerazporeditev
- Razpoložljivost in celovitost izvorne kode
- Distribucija in lastnosti licenc
- Izpeljana dela
- Protidiskriminacija
Licence
Različne licence omogočajo programerjem spreminjanje programske opreme z različnimi pogoji. Glede na bazo znanja Black Duck Knowledge, ki vsebuje približno dva milijona odprtokodnih projektov, je pet najbolj priljubljenih licenc:
- Licenca MIT
- Splošna javna licenca GNU (GPL) 2.0
- Apache License 2.0
- Splošna javna licenca GNU (GPL) 3.0
- BSD licenca 2.0 (3-člen, nov ali revidiran)
Ko spremenite izvorno kodo, OSS zahteva vključitev tega, kar ste spremenili, in metod. Programska oprema, ustvarjena po spremembah kode, je lahko ali pa ni na voljo brezplačno.
Programska oprema odprte kode in komercialna programska oprema
Komercialno dostopna programska oprema, imenovana komercialna ali lastniška programska oprema, ne omogoča dostopa do izvorne kode, ker je programska oprema intelektualna lastnina nekoga drugega. Zato uporabniki pogosto plačajo za to. OSS pa je skupna prizadevanja; Programska oprema je skupna intelektualna lastnina med vsemi, ki so jo razvili ali spremenili.
Programska oprema odprte kode in prosta programska oprema
Čeprav se izrazi pogosto uporabljajo med seboj, se OSS nekoliko razlikuje od prostega programja. Oba obravnavata možnost prenosa in spreminjanja programske opreme brez omejitev ali dajatev. Vendar pa je brezplačna programska oprema, koncept, ki ga je razvil raziskovalec računalništva MIT Richard Stallman v 80. letih, opredeljen s štirimi pogoji, kot je opisala neprofitna fundacija Free Software Foundation. Te "štiri svoboščine" poudarjajo sposobnost uporabnikov, da uporabljajo in uživajo programsko opremo, kot se jim zdi primerno.
Nasprotno pa merila OSS, ki jih je pobuda odprte kode razvila deset let kasneje, bolj poudarjajo spreminjanje programske opreme in posledice spreminjanja izvorne kode, licenciranja in distribucije.
Očitno se dva prekrivata; nekateri bi rekli, da so razlike med OSS in prosto programsko opremo bolj filozofske kot praktične. Vendar pa se ne sme zamenjati z avtocesta. Freeware se običajno nanaša na lastniško programsko opremo, ki jo lahko uporabniki brezplačno prenesejo, vendar izvorne kode ni mogoče spremeniti.
Prednosti odprtokodne programske opreme
Čeprav je pomanjkanje stroškov ključna prednost, ima OSS številne dodatne prednosti:
- Njegova kakovost se lahko enostavno in zelo izboljša, ko je njena izvorna koda prenešena, preizkušena in fiksna.
- Programerjem ponuja dragoceno priložnost za učenje. Lahko uporabijo veščine za najbolj priljubljene programe, ki so danes na voljo.
- Lahko je varnejša kot lastniška programska oprema, ker se napake hitro prepoznajo in popravijo.
- Ker je v javni domeni in je nenehno predmet posodobitev, je malo verjetno, da bo postala nedosegljiva ali hitro zastarela, kar je pomemben plus za dolgoročne projekte.
Priljubljene vrste odprtokodne programske opreme
Odprtokodne tehnologije so pomagale vzpostaviti precej interneta. Poleg tega veliko programov, ki se uporabljajo vsak dan, temeljijo na odprtokodnih tehnologijah. Primeri: Android OS in Appleov OS X temeljijo na jedru in Unix / BSD odprtokodnih tehnologijah.
Druga priljubljena odprtokodna programska oprema je:
- Spletni brskalnik Mozilla Firefox
- Odjemalec e-pošte Thunderbird
- PHP skriptni jezik
- Programski jezik Python
- Spletni strežnik Apache
Programska oprema z odprto kodo in razvijalci
Projekti OSS so priložnosti za sodelovanje, ki izboljšujejo veščine in vzpostavljajo povezave na tem področju. Področja, na katerih lahko razvijalci delajo, vključujejo:
- Komunikacijska orodja. E-pošta, sporočila v realnem času, forumi in wikiji pomagajo razvijalcem, da najdejo rešitve ali odbojijo ideje.
- Porazdeljeni sistemi za nadzor revizij. Ko več razvijalcev na različnih geografskih lokacijah spremeni podatke in datoteke, ti sistemi upravljajo različne različice in posodobitve.
- Sledilniki napak in seznami opravil. Te funkcije omogočajo obsežne projekte za spremljanje težav in spremljanje njihovih popravkov.
- Orodja za testiranje in odpravljanje napak. Te funkcije avtomatizirajo testiranje med integracijo sistema in odpravljajo napake pri drugih programih.
Spodnja črta
Odprtokodna programska oprema je alternativa lastniški programski opremi. Sodelovanje v projektu OSS je lahko pot do izgradnje kariere v razvoju programske opreme, kar omogoča programerjem, da svoje znanje izpopolnijo z delom na največjih programskih programih na svetu. Facebook, Google in LinkedIn vse izdajo OSS, zato lahko razvijalci izmenjujejo znanje, uvajajo rešitve in prispevajo k stabilnim, funkcionalnim izdelkom.
Vzorci za obnovitev programske opreme
Tukaj je povzetek vzorca za programerja z izkušnjami. Uporabite ga kot predlogo ali navdih za vašo prijavo.
Kako Beat najem programske opreme
Ker več in več podjetij uporablja programsko opremo za prikazovanje prijav za zaposlitev in nadaljevanje, morajo kandidati za zaposlitev vedeti, kako premagati programsko opremo za zaposlovanje.
Seznam in primeri spretnosti inženirjev programske opreme
Tukaj je obsežen seznam spretnosti inženirjev programske opreme za uporabo pri življenjepisih, spremnih pismah in intervjujih za zaposlitev.