Geeksit usein kuvaavat ohjelmia "avoimen lähdekoodin" tai "vapaana ohjelmistona". Jos olet miettimättä, mitä nämä termit tarkoittavat ja miksi ne ovat tärkeitä, lue lisää. (Ei, "ilmainen ohjelmisto" ei tarkoita sitä, että voit ladata sen ilmaiseksi.)
Olipa ohjelma avoin lähdekoodi vai ei, se ei ole pelkästään kehittäjillekin tärkeä asia, mutta se on viime kädessä myös käyttäjille tärkeä asia. Avoimen lähdekoodin ohjelmistolisenssit antavat käyttäjille vapauksia, joita heillä ei muutoin olisi.
Kuvahinta: Quinn Dombrowski Flickrissä
Jos ohjelma on avoin lähdekoodi, sen lähdekoodi on vapaasti käytettävissä sen käyttäjille. Sen käyttäjät - ja kukaan muu - pystyvät ottamaan tämän lähdekoodin, muokkaamaan sitä ja jakamaan omat versiot ohjelmasta. Käyttäjillä on myös mahdollisuus jakaa alkuperäisen ohjelman niin monta kopiota kuin haluavat. Jokainen voi käyttää ohjelmaa mihin tahansa tarkoitukseen; Ohjelmiston käyttöoikeusmaksuja tai muita rajoituksia ei ole. OSI: lla on tarkempi määritelmä "avoimen lähdekoodin" verkkosivuillaan.
Esimerkiksi Ubuntu Linux on avoimen lähdekoodin käyttöjärjestelmä. Voit ladata Ubuntun, luoda niin monta kopiota kuin haluat, ja anna ne ystävillesi. Voit asentaa Ubuntun rajoittamattomaan määrään tietokoneita. Voit luoda Ubuntun asennuslevyn remixejä ja jakaa niitä. Jos olit erityisen motivoituneita, voit ladata ohjelman lähdekoodin Ubuntussa ja muokata sitä luomalla oman ohjelmasi räätälöidyn version - tai itse Ubuntusta. Kaikki avoimen lähdekoodin lisenssit antavat tämän mahdollisuuden, kun taas suljetun lähdekoodin lisenssit asettavat sinulle rajoituksia.
Avoimen lähdekoodin ohjelmiston vastakohta on suljetun lähdekoodin ohjelmisto, jolla on käyttöoikeus, joka rajoittaa käyttäjiä ja ylläpitää niiden lähdekoodin.
Firefox, Chrome, OpenOffice, Linux ja Android ovat muutamia suosittuja esimerkkejä avoimen lähdekoodin ohjelmista, kun taas Microsoft Windows on luultavasti suosituin suljettu lähdekoodi.
Avoimen lähdekoodin sovellukset ovat yleensä vapaasti käytettävissä - vaikka mitään kehittäjälle ei ole mitään mahdollisuutta ladata ohjelmiston kopioita, jos ne mahdollistavat sovelluksen ja sen lähdekoodin uudelleenjakamisen jälkikäteen.
Tämä ei kuitenkaan ole mitä "vapaat ohjelmistot" viittaa. Vapaan ohjelmiston "vapaa" tarkoittaa vapaata vapautta eikä "vapaata kuin oluessa". Richard Stallmanin ja Free Software Foundationin ylläpitämä ilmainen ohjelmisto -leiri keskittyy sellaisten ohjelmistojen käytön eettisiin ja moraaliin, joita voidaan käyttää jota käyttäjä hallitsee ja muuttaa. Toisin sanoen vapaa ohjelmisto leiri keskittyy käyttäjän vapauksiin.
Richard Stallman. Kuva Fripog on Flickr.
Avoimen lähdekoodin ohjelmistoliike luotiin keskittymään pragmaattisempien syiden vuoksi tämän tyyppisten ohjelmistojen valitsemiseen. Avoimen lähdekoodin kannattajat halusivat keskittyä käytännön hyötyihin avoimen lähdekoodin ohjelmiston käytöstä, joka vetosi enemmän yrityksiin eikä etiikkaan ja moraaliin.
Lopulta sekä avoimen lähdekoodin että vapaan ohjelmiston kannattajat kehittävät saman tyyppisiä ohjelmia, mutta he ovat eri mieltä viestinnästä.
Avoimen lähdekoodin projekteissa on paljon erilaisia käyttöoikeuksia, riippuen siitä, mistä kehittäjät haluavat ohjelmastaan.
Useita avoimen lähdekoodin hankkeita, kuten Linuxia, käytetään yleisesti GPL: n tai GNU: n yleisen julkisen lisenssin avulla. Kaikkien avoimen lähdekoodin edellä mainittujen määritelmien lisäksi GPL: n ehdot määräävät, että jos joku muokkaa avoimen lähdekoodin ohjelmaa ja jakaa johdannaistyön, hänen on myös jaettava niiden lähdekoodi niiden johdannaistyöhön. Toisin sanoen kukaan ei voi ottaa avoimen lähdekoodin ja luoda suljetun lähdekoodin ohjelman - niiden on julkaistava muutokset takaisin yhteisöön. Microsoft viittasi GPL: hen "virukseksi" tästä syystä, koska se pakottaa ohjelmat, jotka sisältävät GPL-koodin vapauttaakseen oman lähdekoodinsa. Tietenkin ohjelmien kehittäjät voivat päättää olla käyttämättä GPL-koodia, jos tämä on ongelma.
Jotkin muut lisenssit, kuten BSD-lisenssi, rajoittavat vähemmän kehittäjiä. Jos ohjelma on lisensoitu BSD-lisenssin alla, kuka tahansa voi sisällyttää ohjelman lähdekoodin toiseen ohjelmaan. Heidän ei tarvitse julkaista muutoksia takaisin yhteisöön. Jotkut näkevät, että tämä on vieläkin "vapaata" kuin GPL-lisenssi, koska se antaa kehittäjille vapauden sisällyttää koodi omille suljetuille ohjelmilleen, kun taas jotkut näkevät sen olevan vähemmän "vapaata", koska se ottaa oikeudet pois johdetun ohjelman loppukäyttäjiltä.
Tämä ei ole kaikkia kuivia, merkityksettömiä asioita, jotka koskevat vain kehittäjiä. Avoimen lähdekoodin ohjelmiston ilmeisin etu on, että sitä voidaan käyttää ilmaiseksi. Esimerkki Ubuntu Linuxista on selkeä - toisin kuin Windows, voit asentaa tai jakaa niin monta Ubuntu-kopiota kuin rajoituksia. Tämä voi olla erityisen hyödyllinen palvelin - jos olet määrittänyt palvelimen, voit vain asentaa Linuxin siihen. jos asennat virtualisoidun palvelimen klusterin, voit helposti kopioida yhden Ubuntu-palvelimen. Sinun ei tarvitse huolehtia lisensoinnista ja kuinka monta Linux-tapausta sinulla on oikeus käyttää.
Avoimen lähdekoodin ohjelma on myös joustavampi. Esimerkiksi Windows 8: n uusi käyttöliittymä piti monia pitkäikäisiä työpöydän Windows-käyttäjiä. Koska Windows on suljettu lähdekoodi, mikään Windows-käyttäjä ei voi ottaa Windows 7 -käyttöliittymää, muuttaa sitä ja tehdä siitä toimivan Windows 8: ssa. (Jotkut Windows-käyttäjät yrittävät, mutta tämä on tinkimätön käänteistekniikka ja binaaritiedostojen muokkaus. )
Kun Linux-työpöytä, kuten Ubuntu, tuo mukanaan uuden työpöydän käyttöliittymän, jota jotkut käyttäjät eivät ole faneja, käyttäjillä on enemmän vaihtoehtoja.Esimerkiksi kun GNOME 3 julkaistiin, monet Linux-työpöydän käyttäjät sammutettiin. Jotkut otti koodin vanhaan versioon GNOME 2 ja muokkivat sitä sen suorittamiseksi uusimmissa Linux-jakeluissa - tämä on MATE. Jotkut ottivat koodin GNOME 3: lle ja muokkivat sitä toimimaan tavalla, jota he suosivat - tämä on Cinnamon. Jotkut käyttäjät siirtyivät vain olemassa oleviin vaihtoehtoisiin työpöytiin. Jos Windows oli avoimen lähdekoodin, Windows 8-käyttäjillä olisi enemmän valinnanvaraa ja joustavuutta. Tutustu vain CyanogenMod, suosittu, yhteisöllinen Android jakelu, joka lisää ominaisuuksia ja tukea uusille laitteille.
Avoimen lähdekoodin avulla kehittäjät voivat myös "seisoa jättiläisten hartioilla" ja luoda omat ohjelmansa. Todistaja Android ja Chrome OS, jotka ovat käyttöjärjestelmät, jotka on rakennettu Linuxille ja muille avoimen lähdekoodin ohjelmistoille. Applen OS X: n ydin - ja sen iOS - perustui myös avoimeen lähdekoodiin. Valve kiihdyttää parhaillaan Steam-peliohjelman siirtämistä Linuxiin, koska se antaisi heille mahdollisuuden luoda omia laitteita ja hallita omaa kohtaloaan tavalla, joka ei ole mahdollista Microsoftin Windowsissa.
Tämä ei ole tyhjentävä kuvaus - koko kirjat on kirjoitettu tähän aiheeseen - mutta sinulla olisi nyt parempi käsitys siitä, mikä avoimen lähdekoodin ohjelmisto todella on ja miksi se on hyödyllinen sinulle.