7Jul

Kaj je odprtokodna programska oprema in zakaj je to pomembno?

Geeks pogosto opisujejo programe kot "odprtokodne" ali "brezplačne programske opreme". Če se sprašujete, kaj pomenijo ti izrazi in zakaj so pomembni, preberite naprej.(Ne, "brezplačna programska oprema" ne pomeni le, da jo lahko brezplačno prenesete.)

Ali je program odprtokodni ali ne, ne zadeva samo razvijalci, temveč tudi za uporabnike. Licence za odprte programe dajejo uporabnikom svobode, ki jih drugače ne bi imeli.

Image Credit: Quinn Dombrowski na Flickr

Opredelitev open source

Če je program odprtokodne, je njegova izvorna koda prosto dostopna svojim uporabnikom. Njeni uporabniki in vsi drugi imajo možnost, da to izvorno kodo, spreminjajo in distribuirajo svoje različice programa. Uporabniki imajo tudi možnost distribucije toliko kopij prvotnega programa, kot si želijo. Vsakdo lahko uporablja program za kateri koli namen;za programsko opremo ni licenčnin ali drugih omejitev. OSI ima podrobnejšo opredelitev "odprtega vira" na svoji spletni strani.

Na primer, Ubuntu Linux je odprtokodni operacijski sistem. Lahko prenesete Ubuntu, ustvarite toliko kopij, kot želite, in jih dajte svojim prijateljem. Ubuntu lahko namestite na neomejeno število računalnikov. Ustvarite lahko remixe namestitvenega diska Ubuntu in jih distribuirate.Če ste bili posebej motivirani, si lahko prenesete izvorno kodo za program v Ubuntu in ga spremenite, ustvarite svojo prilagojeno različico tega programa - ali Ubuntu samega. Odprtokodne licence vam vse dovoljujejo, medtem ko licence za zaprtega kode omejijo na vas.

Nasprotno od odprtokodne programske opreme je zaprta programska oprema, ki ima licenco, ki omejuje uporabnike in hrani izvorno kodo.

Firefox, Chrome, OpenOffice, Linux in Android so nekateri priljubljeni primeri odprtokodne programske opreme, medtem ko je Microsoft Windows verjetno najbolj priljubljen del zaprtih programov.

Open Source in brezplačna programska oprema

Odprtokodne aplikacije so na splošno prosto dostopne - čeprav ni ničesar, s čimer se razvijalec ne ustavi pri zaračunavanju kopij programske opreme, če omogočijo prerazporeditev aplikacije in izvorne kode kasneje.

Vendar se to ne nanaša na "prosto programje".Brezplačna programska oprema pomeni "svobodno kot v svobodi" in ne "brezplačno kot v pivu". Tabor brezplačnega programa, ki ga vodijo Richard Stallman in Fundacija za prosto programje, se osredotoča na etiko in moralo uporabe programske opreme, ki jo je mogočeki jih nadzoruje in spreminja uporabnik. Z drugimi besedami, kamp za prosto programje se osredotoča na uporabniške svoboščine.

Richard Stallman. Slika Fripog na Flickr.

Gibanje programske opreme odprtega računalnika je bilo ustvarjeno, da se osredotoči na bolj pragmatične razloge za izbiro te vrste programske opreme. Zagovorniki odprtega vira so se želeli osredotočiti na praktične koristi uporabe odprtokodne programske opreme, ki bi bolj privlačna za podjetja, ne pa za etiko in moralo.

Končno, zagovorniki odprtokodnih in brezplačnih programov razvijajo isto vrsto programske opreme, vendar se ne strinjajo s sporočili.

Vrste licenc

Obstaja veliko različnih licenc, ki jih uporabljajo projekti odprtega vira, odvisno od tega, kateri razvijalci raje uporabljajo za svoj program.

GPL, ali splošna javna licenca GNU, pogosto uporabljajo številni projekti odprtokodne programske opreme, na primer Linux. Poleg vseh zgornjih opredelitev odprtokodnih pogojev GPL določata, da če kdor koli spreminja program odprtega vira in distribuira izpeljano delo, morajo tudi distribuirati izvorno kodo za svoje izvedene podatke. Z drugimi besedami, nihče ne more odpreti kode odprte kode in ustvariti program z zaprtimi kodami - sprostiti morajo svoje spremembe v skupnost. Microsoft je GPL navedel kot "virusno" zaradi tega, ker prisili programe, ki vsebujejo kodo GPL, da bi sprostili svojo izvorno kodo. Seveda se lahko razvijalci programa odločijo, da ne uporabljajo GPL kod, če je to težava.

Nekatere druge licence, kot je licenca BSD, razvijejo manj omejitev za razvijalce.Če je program licenciran pod licenco BSD, lahko vsakdo vnese izvorno kodo programa v drug program. Ni jim treba vrniti v skupnost. Nekateri menijo, da je to še bolj "prosto" kot licenca GPL, saj daje razvijalcem svobodo, da kodo vključijo v svoje programe z zaprtimi viri, medtem ko nekateri menijo, da je to manj "svobodno", ker pravice odvzameod končnih uporabnikov izvedenega programa.

Koristi za uporabnike

To ni vse suhe, nepomembne stvari, ki so pomembne samo za razvijalce. Najbolj očitna korist odprtokodne programske opreme je, da jo je mogoče brezplačno. Primer zgornjega Ubuntu Linuxa omogoča, da je to jasno - za razliko od sistema Windows, lahko namestite ali distribuirate toliko kopij Ubuntu, kot želite, brez omejitev. To so lahko še posebej koristni strežniki - če nastavljate strežnik, lahko na njej namestite Linux.če nastavljate virtualizirano gručo strežnikov, lahko preprosto podvojite en sam Ubuntu strežnik. Vam ni treba skrbeti glede licenciranja in koliko primerkov Linuxa imate dovoljeno zagnati.

Program odprtega vira je tudi bolj prilagodljiv. Na primer, novi vmesnik operacijskega sistema Windows 8 je razočaral mnogo dolgotrajnih uporabnikov namiznega računalnika. Ker je Windows zaprt izvor, noben uporabnik operacijskega sistema Windows ne more sprejeti vmesnika sistema Windows 7, ga spremeniti in ga pravilno delovati v operacijskem sistemu Windows 8.( Nekateri uporabniki sistema Windows se trudijo, toda to je težek proces obratnega inženiringa in spreminjanje binarnih datotek.)

Kadar namizni računalnik Linux, kot je Ubuntu, uvaja nov namizni vmesnik, za katerega nekateri uporabniki niso navdušeni, imajo uporabniki več možnosti. Na primer, ko je bil izdan GNOME 3, je bilo veliko uporabnikov namiznih računalnikov enako izklopljeno. Nekateri so kodo prenesli v staro različico, GNOME 2, in jo spremenili, da bi jo izvajali pri najnovejših distribucijah Linuxa - to je MATE.Nekateri so kodo vnesli v GNOME 3 in ga spremenili, da bi delali tako, kot bi želeli - to je Cinnamon. Nekateri uporabniki so preprosto preklopili na obstoječa nadomestna namizja.Če bi bil Windows odprtokodni, bi uporabniki sistema Windows 8 imeli večjo izbiro in prilagodljivost. Samo si oglejte CyanogenMod, priljubljeno lokalno distribucijo Androida, ki dodaja funkcije in podporo za nove naprave.

Programska oprema za odprtokodne programe omogoča razvijalcem, da "stojijo na ramenih velikanov" in ustvarijo lastno programsko opremo. Witness Android in Chrome OS, ki so operacijski sistemi, zgrajeni na Linuxu in drugih odprtokodnih programov. Jedro Appleovega OS X - in zato iOS - je bil zgrajen tudi na odprtokodni kodi. Valve si zelo prizadeva prenašati svojo igralno platformo Steam v Linux, saj bi jim to omogočilo, da ustvarijo lastno strojno opremo in nadzorujejo svojo usodo na način, ki v Microsoftovi operacijski sistem Windows ni možen.

To ni izčrpen opis - na to temo so bile napisane celotne knjige - zdaj pa bi morali imeti boljšo predstavo o tem, kaj je odprtokodna programska oprema dejansko in zakaj je to koristno za vas.