This translation may not reflect the changes made since 2014-04-04 in the English original.

You should take a look at those changes. Please see the Translations README for information on maintaining translations of this article.

Projekt GNU

napisao Richard Stallman

Izvorno objavljeno u knjizi Otvoreni Izvori. Richard Stallman nije nikada bio pobornik “otvorenog izvornog koda” (“open source”), ali je pridonijeo ovaj članak tako da ideje pokreta slobodnog softvera ne budu u potpunosti odsutne iz te knjige.

Prva zajednica oko softvera za razmjenu

Kada sam 1971. započeo raditi u MIT-ovom Laboratoriju za imjetnu inteligenciju, postao sam dio zajednice okupljene oko softvera za razmjenu koja je postojala mnogo godina. Razmjena softvera nije bila ograničena samo na našu zajednicu; stara je kao i računala, isto kao što je razmjena recepata stara isto kao i kuhanje. Ali mi smo razmjenjivali više nego većina.

Laboratorij za UI je koristio operativni sustav sa značajkom dijeljenja vremena (timesharing) zvan ITS (Incompatible Timesharing System) kojeg je laboratorijsko osoblje hakera (1) dizajniralo i zapisalo u programskom jeziku asembler za Digital PDP-10, jednog od velikih računala tog razdoblja. Kao član te zajednice, haker sustava u osoblju Laboratorija za UI, moj posao je bio da poboljšam taj sustav.

Nismo zvali naš softver “slobodnim softverom”, jer taj termin još nije postojao, ali to je ono što je taj softver bio. Kada god su ljudi s drugih sveučilišta ili kompanija htjeli prebaciti i koristiti program na njihovim sustavima, mi smo im to rado dopustili. Ako biste vidjeli nekoga da koristi nepoznati i zanimljivi program, vi ste uvijek mogli pitati da vidite izvorni kod, tako da biste ga mogli čitati, izmijeniti, ili preuzeti dijelove za prepravak da biste napravili novi program.

(1) Korištenje termina “haker” u značenju “prekršitelja sigurnosnog sustava” je pometnja od strane masovnih medija. Mi, hakeri, odbijamo priznati to značenje, i nastavljamo koristiti riječ kao da označava nekoga tko voli programirati, nekoga tko uživa u razigranoj bistrini, ili u kombinaciji tih dvoje. Pogledajte moj članak, O hakiranju.

Kolaps zajednice

Situacija se drastično promijenila u ranim 1980-ima kada je Digital ukinuo seriju PDP-10. Njegova arhitektura, elegantna i moćna u 60-ima, nije se mogla prirodno produžiti na veće adresne prostore koji su postajali izvodivima u 80-ima. To je značilo da su skoro svi programi koji su sastavljali ITS bili zastarjeli.

Hakerska zajednica Laboratorija za UI je, nedugo prije toga, kolapsirala. 1981., derivirana (spin-off) kompanija Symbolics je unajmila skoro sve hakere iz Laboratorija za UI, i raseljena zajednica nije bila u mogućnosti da se održava. (Knjiga Hakeri, čiji autor je Steve Levy, opisuje te događaje i daje jasnu sliku te zajednice u njezinim najboljim vremenima.) Kada je 1982. Laboratorij za UI kupio novi PDP-10, njegovi administratori su odlučili koristiti neslobodni sustav dijeljenja vremena od tvrtke Digital umjesto ITS-a.

Moderna računala toga razdoblja, kao što su VAX ili 68020, imala su vlastite operacijske sustave, ali niti jedan od njih nije bio slobodni softver: morali ste potpisati sporazum o tajnosti (nondisclosure) samo da biste dobili izvršnu kopiju.

Ovo je značilo da je prvi korak u korištenju računala bio obećanje da nećete pomagati svome susjedu. Zajednica koja surađuje je bila zabranjena. Pravilo koje su napravili vlasnici vlasničkog (proprietary) softvera je bilo, “Ako razmjenjujete sa svojim susjedom, vi ste pirat. Ako želite neke promjene, molite nas da ih napravimo.”

Ideja da je društveni sustav vlasničkog softvera—sustav koji kaže da vam nije dopuštena razmjena ili izmjena softvera—antisocijalan, da je ne-etičan, da je jednostavno kriv, može biti iznenađenje nekim čitateljima. Ali što drugo možemo reći o sustavu utemeljenom na podijeli javnosti i na ostavljanju korisnika bespomoćnima? Čitatelji koji nalaze ideju iznenađujućom možda su prihvatili društveni sustav vlasničkog softvera kao dan, ili su ga procijenili u terminima predloženima od strane tvrtki koje se bave vlasničkim softverom. Izdavači softvera su radili dugo i naporno da bi uvjerili ljude da postoji samo jedan način da se gleda na taj problem.

Kada izdavači softvera govore o “provođenju” svojih “prava” ili o “zaustavljanju piratstva”, ono što uistinu govore je sekundarno. Stvarna poruka tih izjava je u neutvrđenim pretpostavkama koje oni uzimaju zdravo za gotovo, koje je javnost pozvana da prihvati bez ispitivanja. Hajdemo ih stoga ispitati.

Jedna pretpostavka je da softverske kompanije imaju neupitno prirodno pravo da posjeduju softver i stoga da imaju moć nad svim svojim korisnicima. (Kada bi to bilo prirodno pravo, tada bez obzira na količinu štete nanesenu javnosti, ne bismo mogli prigovoriti.) Interesantno, Američki Ustav i pravna tradicija odbijaju takvo gledište; autorsko pravo (copyright) nije prirodno pravo, nego umjetan, od vlade nametnuti monopol koji ograničuje korisnička prirodna prava na kopiranje.

Druga ne-utvrđena pretpostavka: jedina važna stvar oko softvera je koje vam poslove dopušta da napravite—da mi, računalni korisnici ne bi trebali mariti za vrstu društva koje nam je dopušteno imati.

Treća pretpostavka je da mi ne bismo imali upotrebljivi softver (ili nikada ne bismo imali program koji će napraviti taj ili onaj partikularni posao) kada ne bismo ponudili kompaniji moć nad korisnicima programa. Ova pretpostavka se možda činila vjerodostojna, prije nego je pokret slobodnog softvera pokazao da možemo napraviti mnogo korisnog softvera bez da ga ograničimo.

Ako odbijemo prihvatiti te pretpostavke, i prosudimo te probleme temeljem obične zdravo razumske moralnosti dok stavljamo korisnike na prvo mjesto, dolazimo do vrlo različitih zaključaka. Računalni korisnici bi trebali biti slobodni da izmjenjuju programe kako bi isti odgovarali njihovim potrebama, i biti slobodni da razmjenjuju softver, jer pomaganje drugim ljudima je temelj društva.

Ovdje nema mjesta za opsežnu izjavu o logici iza ovoga zaključka, stoga upućujem čitatelja na mrežne stranice http://www.gnu.org/philosophy/why-free.html i http://www.gnu.org/philosophy/free-software-even-more-important.html.

Izraziti moralni izbor

Kada je moja zajednica nestala, nastavak u istome tonu je postao nemogućim. Umjesto toga, suočio sam se sa izrazitim moralnim izborom.

Lagani izbor je bio pridruživanje svijetu vlasničkog softvera, potpisujući sporazume o tajnosti i obećavajući da neću pomoći kolegi hakeru. Najvjerojatnije bi isto razvijao softver objavljen pod sporazumima o tajnosti, dakle dodajući pritisak na druge ljude da isto izdaju svoje kolege.

Na taj način mogao sam steći novac, i možda se zabaviti pisanjem koda. Ali sam znao da na kraju moje karijere, gledao bi natrag na godine izgrađivanja zidova da razdvojim ljude, osjećajući da sam proveo svoj život radeći svijet gorim mjestom.

Već sam doživio kako je to biti na drugoj strani sporazuma o tajnosti, kada je netko odbio dati meni i MIT UI Laboratoriju izvorni kod upravljačkog programa našega pisača. (Nedostatak određenih značajki u tom programu je napravio korištenje pisača krajnje frustrirajućim.) Pa stoga nisam mogao reći sebi da su sporazumi o tajnosti bili bezazleni. Bio sam vrlo ljut kada je on odbio dijeliti sa nama; nisam mogao zauzvrat napraviti istu stvar svim drugima.

Drugi izbor, iskren ali neprijatan, je bio odlazak iz računalne struke. Na taj način moje vještine ne bi bile krivo upotrijebljene, ali bi bile uzalud potrošene. Ne bi bio kriv za razdjeljivanje i ograničavanje računalnih korisnika, ali bi se to svejedno dogodilo.

Dakle sam tražio način na koji bi programer mogao napraviti nešto za dobrobit. Pitao sam sebe, da li postoji program ili programi koje bi mogao napisati, u cilju ponovnog rađenja zajednice mogućom?

Odgovor je bio jasan: prva potrebna stvar je bila operativni sustav. To je presudan softver u počecima korištenja računala. Sa operativnim sustavom, možete raditi mnoge stvari; bez njega, ne možete niti pokrenuti računalo. Sa slobodnim operativnim sustavom, mogli bismo opet imati zajednicu hakera koji surađuju—i pozvati svih da se pridruže. I svatko bi mogao koristiti računalo bez da započne urotom lišiti njegove ili njezine prijatelje.

Kao developer operativnih sustava, imao sam prave vještine za taj posao. Iako nisam mogao uzeti uspjeh zdravo za gotovo, shvatio sam da sam odabran da napravim posao. Odabrao sam da napravim sustav kompatibilan sa Unix operativnim sustavom, tako da bi bio prenosiv, i da bi se Unix korisnici mogli lako prebaciti na njega. Ime GNU je bilo odabrano, slijedeći hakersku tradiciju, kao rekurzivni akronim za “GNU Nije Unix.”

Operativni sustav ne znači samo imati jezgru (kernel), jedva dovoljnu da pokrene druge programe. U 1970-ima, svaki operativni sustav dostojan imena je uključivao naredbene procesore, asemblere, kompajlere, interpretere, softver za praćenje izvršenja programa (debugger), uređivače teksta, softver za slanje elektroničkih poruka (mailer), i još mnogo toga. ITS ih je imao, Multics ih je imao, VMS ih je imao, i Unix ih je imao. GNU operativni sustav će ih isto uključiti.

Kasnije sam čuo ove riječi, pripisane Hillelu (1):

Ako nisam za sebe, tko će biti za mene?
Ako sam samo za sebe, što sam ja?
Ako ne sada, kada?

Odluka da se započne GNU Projekt je bila utemeljena u sličnom duhu.

(1) Kao ateist, ne slijedim religijske vođe, ali ponekad se divim nekim njihovim riječima.

Slobodno kao u slobodi

Termin “slobodan softver” je ponekad pogrešno shvaćeni—nema veze sa cijenom. On govori o slobodi. Ovo je, prema tome, definicija slobodnoga softvera.

Program je slobodan softver, za vas, partikularnoga korisnika, ako:

Pošto se “slobodan” odnosi na slobodu, ne na cijenu, nema kontradikcije između prodavanja kopija i slobodnog softvera. U stvarnosti, sloboda prodavanja kopija je presudna: kolekcije slobodnog softvera koje se prodaju na CD-ROM-ovima su važne za zajednicu, i njihovo prodavanje je važan način da se sakupe sredstva za razvijanje slobodnog softvera. Prema tome, program kojeg ljudi nisu slobodni uključiti u te kolekcije nije slobodan softver.

Zbog dvosmislenosti “slobodnog”, ljudi su odavna tražili alternative, ali nitko nije našao bolji termin. Engleski jezik ima više riječi i nijansi nego bilo koji drugi, ali nedostaje mu jednostavna, nedvosmislena, riječ koja znači “slobodan”, kao u slobodi—“nesputani” je riječ koja dolazi najbliže pravom značenju. Takve alternative kao “oslobođen”, “sloboda” i “otvoren” imaju ili krivo značenje ili neki drugi hendikep.

GNU softver i GNU sustav

Razvijanje cijeloga sustava je vrlo veliki projekt. Da bi se stavio u doseg, odlučio sam prilagoditi i koristiti postojeće dijelove slobodnog softvera kada god je to bilo moguće. Na primjer, odlučio sam na samome početku koristiti TeX kao glavni oblikovatelj teksta; nekoliko godina kasnije, odlučio sam iskoristiti X Window System, radije nego pisati novi grafički sustav za GNU.

Zbog tih odluka, i drugih sličnih njima, GNU sustav nije isto što i kolekcija svog GNU softvera. GNU sustav uključuje programe koji nisu GNU softver, programe koje su razvili drugi ljudi i projekte za njihove vlastite ciljeve, ali koje možemo koristiti jer su slobodan softver.

Početak projekta

U siječnju 1984. dao sam otkaz na MIT-u i počeo pisati GNU softver. Odlazak iz MIT-a je bio nužan tako da se MIT ne bi mogao umiješati u distribuciju GNU-a kao slobodnog softvera. Da sam ostao u osoblju, MIT je mogao tvrditi da posjeduje djelo, i mogao je nametnuti svoja distribucijska pravila, ili čak pretvoriti djelo u vlasnički softverski paket. Nisam imao namjeru raditi veliki opseg posla samo da vidim kako postaje beskoristan za njegov namijenjeni cilj: stvaranje nove zajednice oko softvera za razmjenu.

Međutim, profesor Winston, tada glavni u MIT UI Laboratoriju, ljubazno me pozvao da nastavim koristiti postrojenja laboratorija.

Prvi koraci

Nedugo nakon početka GNU Projekta, čuo sam za Kompajlerski Sustav Slobodnog Svučilišta, znani kao VUCK. (Nizozemska riječ za “slobodan” se piše sa v.) To je bio kompajler dizajnirani da barata sa višestrukim jezicima, uključujući C i Pascal, i da podržava višestruke ciljne strojeve. Pisao sam njegovu autoru sa pitanjem da li ga GNU može koristiti.

Odgovorio je podrugljivo, izjavljujući da je sveučilište slobodno ali kompajler nije. Prema tome sam odlučio da će moj prvi program za GNU Projekt biti višejezičan, višeplatformski kompajler.

Nadajući da ću izbjeći potrebu da sam napišem cijeli kompajler, nabavio sam izvorni kod za Pastel kompajler, koji je bio višeplatformski kompajler razvijen u Lawrence Livermore Laboratoriju. Podržavao je, i bio je napisan u poboljšanoj verziji Pascal jezika, dizajniran da bude jezik za sistemsko programiranje. Dodao sam C sučelje, i započeo prenošenje na Motorola 68000 računalo. Ali morao sam odustati od toga kada sam otkrio da kompajler potrebuje mnogo megabajta stog (stack) prostora, dok je dostupni 68000 Unix sustav samo dozvoljavao 64k.

Tada sam shvatio da je Pastel kompajler funkcionirao tako što je raščlanjivao (parse) cijelu ulaznu datoteku u stablo sintakse, pretvarajući cijelo sintaksno stablo u lanac “instrukcija”, i tada je generirao cijelu izlaznu datoteku, bez da je oslobodio bilo kakav prostor. U toj točki, zaključio sam da ću morati iznova napisati novi kompajler. Taj novi kompajler je sada znani kao GCC; ništa od Pastel kompajlera nije upotrebljeno u njemu, ali sam uspio prilagoditi i iskoristiti C sučelje koje sam napisao. Ali to je bilo nekoliko godina kasnije; prvo sam radio na GNU Emacs-u.

GNU Emacs

Započeo sam rad na GNU Emacs-u rujnu 1984., i u ranoj 1985. postajao je upotrebljiv. To mi je omogućilo da počinjem koristiti Unix sustave za uređivanje; bez interesa da naučim koristiti vi ili ed, do tada sam radio uređivanje na drugim vrstama strojeva.

U toj točki, ljudi su počeli željeti koristiti GNU Emacs, što je uzdignulo pitanje oko načina njegove distribucije. Naravno, stavio sam ga na anonimni ftp poslužitelj na MIT računalu koje sam koristio. (To računalo, prep.ai.mit.edu, je dakle postalo glavno mjesto za GNU ftp distribuciju; kada je bilo ukinuto nekoliko godina kasnije, premjestili smo ime na naš novi ftp poslužitelj.) Ali u to vrijeme, mnogi ljudi koji su bili zainteresirani nisu bili na Internetu i nisu mogli preuzeti kopiju ftp-om. Dakle pitanje je bilo, što ću njima reći?

Mogao sam reći: “Nađite prijatelja koji je na mreži i koji će napraviti kopiju za vas.” Ili sam mogao napraviti isto što i sa originalnim PDP-10 Emacs-om: reći im: “Pošaljite mi traku i SASE, i poslati ću vam je natrag sa Emacs-om.” Ali nisam imao posao, i tražio sam načine da steknem novac od slobodnog softvera. Tada sam proglasio da ću poslati traku svakome tko je htio, za proviziju od $150. Na taj način, započeo sam posao distribucije slobodnog softvera, prethodnik kompanija koje danas distribuiraju cijele distribucije GNU/Linux sustava.

Da li je program slobodan za svakog korisnika?

Ako je program slobodan softver kada napusti ruke njegova autora, to nužno ne znači da će biti slobodan softver za svakoga tko ima kopiju. Na primjer, softver u javnom vlasništvu (softver koji nije pod autorskim pravom) je slobodan softver; ali svatko može napraviti vlasničku izmijenjenu verziju. Slično, mnogi slobodni programi su pod autorskim pravom ali su distribuirani pod jednostavnim popustljivim licencama koje dopuštaju vlasničke izmijenjene verzije.

Paradigmatičan primjer toga problema je X Window System. Razvijen na MIT-u, i objavljen kao slobodni softver sa popustljivom licencom, bio je uskoro prilagođen od strane raznih računalnih kompanija. Oni su dodali X svojim vlasničkim Unix sustavima, samo u binarnom obliku, i pokrivenom istim sporazumom o tajnosti. Te X kopije više nisu bile slobodni softver, isto kao što i Unix nije bio.

Developeri X Windows System-a nisu to smatrali problemom—oni su očekivali i naumili da se to dogodi. Njihov cilj nije bila sloboda, nego samo “uspjeh”, definiran kao “imati puno korisnika.” Oni nisu marili da li ti korisnici imaju slobodu, samo da bi trebali biti brojni.

To je vodilo u paradoksalnu situaciju gdje su dva različita načina brojanja količine slobode dale različite odgovore na pitanje: “Da li je ovaj program slobodan?” Ako ste prosuđivali na temelju slobode dane distribucijskim pravilima MIT objave, rekli biste da je X bio slobodan softver. Ali ako ste mjerili slobodu prosječnog X korisnika, morali biste reći da je X vlasnički softver. Većina X korisnika su pokretali vlasničke inačice koje su dolazile sa Unix sustavima, ne slobodne verzije.

Copyleft i GNU GPL

Cilj GNU-a je bio dati korisnicima slobodu, ne samo biti popularan. Tako smo trebali koristiti distribucijska pravila koja bi spriječila da GNU softver bude pretvoren u vlasnički softver. Metoda koju koristimo se zove “copyleft”.(1)

Copyleft koristi zakon o autorskim pravima, ali ga preokreće na drugu stranu da služi suprotno od uobičajene svrhe: umjesto sredstvo ograničenja programa, postaje sredstvo održavanja programa slobodnim.

Središnja ideja copylefta je da dajemo svima dopuštenje da pokrenu program, kopiraju program, izmjene program, i distribuiraju izmijenjene verzije—ali ne dopuštenje da dodaju svoja dodatna ograničenja. Dakle, presudne slobode koje definiraju “slobodni softver” su garantirane svima koji imaju kopiju; postaju neotuđiva prava.

Za efektivni copyleft, izmijenjene verzije moraju isto biti slobodne. To osigurava da djelo temeljeno na našemu postane dostupno našoj zajednici ako je objavljeno. Kada programeri koji imaju poslove kao programeri volontiraju da poboljšaju GNU softver, copyleft je taj koji sprječava njihove poslodavce da kažu: “Vi ne možete razmjenjivati te izmjene, jer ćemo ih iskoristiti da napravimo našu vlasničku inačicu programa.”

Zahtjev da izmjene moraju biti slobodne je suštinski ako želimo osigurati slobodu za svakog korisnika programa. Kompanije koje su privatizirale X Window System obično su napravile neke izmjene da bi softver prenosili na njihove sustave i hardver. Te izmjene su bile male u usporedbi sa velikim opsegom X-a, ali nisu bile trivijalne. Kada bi izrada izmjena bila isprika da se ospori korisnicima sloboda, bilo bi lagano za svakoga da iskoristi ispriku.

Srodan problem tiče se kombinacije slobodnog programa sa neslobodnim kodom. Takva kombinacija bi neizbježno bila neslobodna; koje god slobode nedostaju za neslobodni dio bi isto nedostajale i za cjelinu. Dozvoljavanje takvih kombinacija bi otvorilo ponor toliko velik da se u njemu može potopiti brod. Dakle, presudni zahtjev za copyleft je da začepi taj ponor: sve dodano ili kombinirano sa programom pod copyleftom mora biti takvo da veća kombinirana verzija bude isto slobodna i pod copyleftom.

Specifična implementacija copylefta kojeg koristimo za većinu GNU softvera je GNU opća javna licenca (GNU General Public License), ili GNU GPL ukratko. Imamo druge vrste copylefta koje se koriste u specifičnim uvjetima. GNU priručnici su isto pod copyleftom, ali koriste mnogo jednostavniju vrstu copylefta, jer kompleksnost GNU GPL-a nije nužna za priručnike.(2)

(1) U 1984. ili 1985., Don Hopkins (vrlo maštovit čovjek) mi je poslao pismo. Na koverti je napisao nekoliko zabavnih dosjetki, uključujući ovu: “Copyleft—sva prava preokrenuta.” Ja sam koristio riječ “copyleft” da bi dao ime distribucijskom konceptu kojeg sam razvijao u to vrijeme.

(2) Sada koristimo GNU licencu slobodne dokumentacije (GNU Free Documentation License) za dokumentaciju.

Zaklada za slobodan softver

Interes za korištenje Emacs-a je rastao, drugi ljudi su postali uključeni u GNU projekt, i odlučili smo da je vrijeme da još jednom potražimo financiranje. Tako smo u 1985. stvorili Zakladu za slobodan softver (Free Software Fundation) (FSF), dobrotvornu ustanovu oslobođenu od poreza za razvijanje slobodnog softvera. FSF je isto preuzeo posao distribucije Emacs-a na trakama; kasnije se to proširilo dodavanjem drugog slobodnog softvera (GNU i ne-GNU) na traku, i isto tako, prodajom slobodnih priručnika.

Većina FSF prihoda je dolazila od prodaje kopija slobodnog softvera i drugih srodnih usluga (CD-ROM-ovi izvornoga koda, CD-ROM-ovi sa binarnim datotekama, lijepo ispisani priručnici, sve sa slobodom za ponovnu distribuciju i izmjenu), i luksuzne distribucije (distribucije za koje smo izgradili cijelu kolekciju softvera za platformu koju je klijent odabrao). Danas FSF još uvijek prodaje priručnike i drugu opremu, ali dobiva glavni dio financiranja od članarina. Vi se možete pridružiti FSF na fsf.org.

Zaposlenici Zaklade za slobodan softver su napisali i održavaju velik broj GNU softverskih paketa. Dva značajna su C biblioteka i ljuska (shell). GNU C biblioteka je ono što svaki program koji je pokrenut na GNU/Linux sustavu upotrebljava da bi komunicirao sa Linux-om. Razvijena je od strane člana osoblja Zaklade za slobodan softver: Roland McGrath. Ljuska koja se koristi na većini GNU/Linux sustava je BASH, Bourne Again Shell (1), koja je razvijena od strane FSF zaposlenika: Brian Fox.

Financirali smo razvitak tih programa jer GNU Projekt nije bio samo alati ili razvojno okruženje. Naš cilj je bio potpuni operativni sustav, i ti programi su bili potrebni za taj cilj.

(1) “Bourne Again Shell” je igra sa imenom “Bourne Shell”, koja je bila uobičajena ljuska na Unix sustavu.

Podrška slobodnog softvera

Filozofija slobodnog softvera odbija specifičnu rasprostranjenu poslovnu praksu, ali nije protiv tvrtki. Kada tvrtke poštuju korisničke slobode, želimo im uspjeh.

Prodaja Emacs kopija demonstrira jednu vrstu posla vezanog uz slobodni softver. Kada je FSF preuzeo taj posao, trebao sam drugi način preživljavanja. Našao sam ga u prodaji usluga koje se odnose na slobodni softver koji sam razvio. To je uključivalo podučavanje, kako programirati GNU Emacs i kako prilagoditi GCC, i razvoj softvera, uglavnom prenošenje GCC-a na nove platforme.

Danas svaki od ovih vrsta poslova vezanih uz slobodni softver je u praksi u brojnim korporacijama. Neki distribuiraju kolekcije slobodnog softvera na CD-ROM-u; drugi prodaju podršku na razinama od odgovaranja na korisnička pitanja, do popravljanja grešaka, do dodavanja znatnih novih značajki. Čak i počinjemo viđati kompanije slobodnog softvera temeljene na poduzimanju novih projekata slobodnog softvera.

Premda, pripazite—brojne kompanije koje vežu sebe na termin “otvoreni izvorni kod” u aktualnosti temelje svoj posao na neslobodnom softveru koji radi sa slobodnim softverom. To nisu kompanije slobodnog softvera, one su kompanije vlasničkog softvera čiji proizvodi primamljuju korisnike dalje od slobode. Oni zovu te programe “paketi sa dodanom vrijednošću”, koji pokazuju vrijednosti koje bi oni htjeli da prihvatimo: pogodnost iznad slobode. Ako više vrednujemo slobodu, trebali bi ih zvati paketi “oduzimanja slobode”.

Tehnički ciljevi

Glavni cilj GNU-a je bio da bude slobodan softver. Čak i kada GNU ne bi imao tehničku prednost nad Unix-om, imao bi društvenu prednost, dopuštajući korisnicima da surađuju, i etičku prednost, poštivanje slobode korisnika.

Ali bilo je prirodno primijeniti znane standarde dobre prakse na djelo—na primjer, dinamičko alociranje struktura podataka da bi se izbjegla proizvoljno fiksirana ograničenja veličine, i rukovanje sa svim mogućim 8-bitnim kodovima gdje god je to imalo smisla.

U dopuni, odbili smo fokus Unix-a na malu veličinu memorije, odlukom da ne podržavamo 16-bitne strojeve (bilo je jasno da će 32-bitni strojevi biti mjerilo dok dođe vrijeme završavanja GNU sustava), i da ne napravimo napor da smanjimo upotrebu memorije sve dok ne prijeđe megabajt. U programima za koje rukovanje velikim datotekama nije bilo presudno, ohrabrivali smo programere da učitaju cijelu ulaznu datoteku u jezgru, i tada da pretraže njen sadržaj bez brige oko I/O (Input/Output).

Te odluke su omogućile mnogim GNU programima da nadiđu svoje Unix verzije u pouzdanosti i brzini.

Donirana računala

Kako je ugled GNU Projekta rastao, ljudi su projektu počeli nuditi donacije strojeva koji su pokretali Unix. Oni su bili vrlo korisni, jer je najlakši način razvijanja GNU komponenata bio da se to radi na Unix sustavu, i zamjenjivanje komponenata tog sustava jednu po jednu. Ali to je postavilo etično pitanje: da li je bilo ispravno za nas da uopće imamo kopiju Unix-a.

Unix je bio (i jest) vlasnički softver, i filozofija GNU Projekta je govorila da ne bismo trebali koristiti vlasnički softver. Ali, primjenjivajući istu logiku koja vodi do zaključka da je nasilje u samoobrani opravdano, zaključio sam da je legitimno koristiti vlasnički paket kada je to bilo presudno za razvitak slobodne zamijene koja će pomoći drugima da prestanu koristiti vlasnički paket.

Ali, iako je to bilo opravdano zlo, bilo je još uvijek zlo. Danas više nemamo kopija Unix-a, jer smo ih zamijenili sa slobodnim operativnim sustavima. Ako nismo mogli zamijeniti operativni sustav stroja sa slobodnim, umjesto toga zamijenili smo stroj.

GNU lista zadataka

Nastavkom GNU Projekta, povećavajući broj sistemskih komponenti je nađen ili razvijen, eventualno je postalo korisno napraviti listu preostalih praznina. Koristili smo tu listu da vrbujemo developere da napišu dijelove koji su nedostajali. Ta lista je postala znana kao GNU lista zadataka. U dodatku Unix komponenata koje nedostaju, popisali smo razni drugi korisni softver i dokumentacijske pakete za koje smo mislili da bi istinski potpuni sustav trebao imati.

Danas (1), jedva da postoji Unix komponenta koja je ostala u GNU listi zadataka—ti poslovi su napravljeni, osim nekoliko nebitnih. Ali lista je puna projekata koje neki nazivaju “aplikacijama”. Svaki program koji privlači više nego usku klasu korisnika bi bio korisna stvar za dodati u operativni sustav.

Čak su i igre uključene u listu zadataka—i bile su od početka. Unix je uključivao igre, pa bi tako i GNU prirodno trebao. Ali kompatibilnost nije problem za igre, tako da nismo slijedili listu igara koje je Unix imao. Umjesto toga, popisali smo spektar različitih vrsta igara koje bi se mogle svidjeti korisnicima.

(1) Ovo je napisano u 1998. U 2009. više ne održavamo dugačku listu zadataka. Zajednica razvija slobodni softver toliko brzo da ne možemo pratiti sve. Umjesto toga, imamo listu projekata visokog prioriteta, mnogo kraću listu projekata za koje stvarno želimo ohrabriti ljude da ih napišu.

GPL GNU biblioteke

GNU C biblioteka koristi posebnu vrstu copylefta nazvanu GNU opća javna licenca za biblioteke (GNU Library General Public License) (1), koja daje dopuštenje da se veže vlasnički softver sa bibliotekom. Zašto je ova iznimka napravljena?

Nije stvar principa; ne postoji princip koji kaže da proizvodi vlasničkog softvera imaju pravo uključiti naš kod. (Zašto doprinijeti projektu koji se temelji na odbijanju razmijene sa nama?) Korištenje LGPL-a za C biblioteku, ili za bilo koju biblioteku, je stvar strategije.

C biblioteka radi generički posao; svaki vlasnički sustav ili kompajler dolazi sa C bibliotekom. Dakle, pravljenjem naše C biblioteke dostupne samo slobodnom softveru ne bi dali slobodnom softveru nikakvu prednost—samo bi obeshrabrilo korištenje naše biblioteke.

Jedan sustav je iznimka za to: na GNU sustavu (i to uključuje i GNU/Linux), GNU C biblioteka je jedina C biblioteka. Prema tome, distribucijska pravila GNU C biblioteke određuju da li je moguće kompilirati posjednički program za GNU sustav. Ne postoji etički razlog da se dopuste vlasničke aplikacije na GNU sustavu, ali strategijski se čini da bi njihovo odbijanje više doprinijelo obeshrabrivanju korištenja GNU sustava nego ohrabrivanju razvitka slobodnih aplikacija. Zbog toga je korištenje GPL za biblioteke dobra strategija za C biblioteku.

Za druge biblioteke, strategijska odluka se treba razmotriti od slučaja do slučaja. Kada biblioteka radi poseban posao koji može pomoći u pisanju određenih vrsta programa, tada je objava pod GPL-om, ograničavanje samo na slobodne programe, način pomaganja drugim developerima slobodnog softvera, dajući im prednost u odnosu na vlasnički softver.

Razmotrite GNU Readline, biblioteka koja je razvijena da bi se obezbijedilo uređivanje komandne linije za BASH. Readline je objavljena pod običnim GNU GPL-om, ne GPL-om za biblioteke. To vjerojatno smanjuje količinu korištenja Readline-a, ali to nije gubitak za nas. U međuvremenu, barem jedna korisna aplikacija je postala slobodan softver specifično da bi mogla koristiti Readline, i to je stvarna dobit za zajednicu.

Developeri vlasničkog softvera imaju prednosti koje novac daje; developeri slobodnog softvera moraju raditi prednosti među sobom. Nadam se da ćemo jedan dan imati veliku kolekciju biblioteka pokrivenih GPL-om koje nemaju paralelu dostupnu vlasničkom softveru, dajući korisne module da služe za izgradnju novog slobodnog softvera, i dodavajući veliku prednost za daljnji razvitak slobodnog softvera.

(1) Ova licenca je sada zvana GNU niža opća javna licenca (GNU Lesser General Public License), da bi se izbjegla ideja da bi je sve biblioteke trebale koristiti. Pogledajte: Zašto ne biste trebali koristiti niži GPL za vašu sljedeću biblioteku za više informacija.

Češanje svraba?

Eric Raymond kaže: “Svako dobro djelo softvera započinje češanjem developerovog osobnog svraba.” Možda se to i dogodi ponekad, ali mnogi glavni dijelovi GNU softvera su razvijeni sa ciljem da se napravi potpuni operativni sustav. Oni dolaze iz vizije i plana, ne iz impulsa.

Na primjer, razvili smo GNU C biblioteku jer sustav nalik Unix-u treba C biblioteku, BASH zato jer sustav nalik Unix-u treba ljusku, i GNU tar zato jer sustav nalik Unix-u treba tar program. Isto je istina i za moje programe—GNU C kompajler, GNU Emacs, GDB i GNU Make.

Neki GNU programi su razvijeni da bi se nosili sa specifičnim prijetnjama našoj slobodi. Dakle, razvili smo gzip da bi zamijenili Compress program, koji je bio izgubljen iz zajednice zbog LZW patenata. Našli smo ljude koji će razvijati LessTif, i više nedavno započeli smo GNOME i Harmony, da bi adresirali probleme izazvane određenim vlasničkim bibliotekama (vidite ispod). Razvijamo GNU Privacy Guard da nadomjestimo popularni neslobodni enkripcijski softver, jer korisnici ne bi trebali birati između privatnosti i slobode.

Naravno, ljudi koji pišu te programe su postali zainteresirani za rad, i mnoge značajke su dodane od strane raznih ljudi zbog vlastitih potreba i interesa. Ali to nije razlog zašto ti programi postoje.

Neočekivani razvoji

Na početku GNU Projekta, zamislio sam da ćemo razviti cijeli GNU sustav, i onda ga objaviti kao cjelinu. Nije se tako dogodilo.

Pošto je svaka komponenta GNU sustava implementirana na Unix sustavu, svaka komponenta se mogla pokrenuti da Unix sustavu dugo prije nego je potpuni GNU sustav postojao. Neki od tih programa su postali popularni, i korisnici su ih počeli proširivati i prenositi na druge platforme—na razne nekompatibilne verzije Unix-a, i katkad na druge sustave.

Taj proces je napravio te programe mnogo moćnijima, i privukao financiranje i suradnike na GNU Projekt. Ali je vjerojatno i usporio završenje minimalnoga radnog sustava za nekoliko godina, pošto je vrijeme GNU developera stavljeno u održavanje tih prenesenih programa i u dodavanje značajki postojećim komponentama, radije nego u početak pisanja, jednu za drugom, komponenata koje nedostaju.

GNU Hurd

1990., GNU sustav je bio skoro dovršeni; jedina velika komponenta koja je nedostajala je bila jezgra. Odlučili smo implementirati jezgru kao kolekciju poslužiteljskih procesa koji se izvršavaju iznad Mach-a. Mach je mikro-jezgra razvijena na Carnegie Mellon Sveučilištu i tada na Utah Sveučilištu; GNU Hurd je kolekcija poslužitelja (odnosno, krdo GNU-a) koji se izvršavaju iznad Mach-a, i rade razne poslove Unix jezgre. Početak razvitka je bio u zakašnjenju dok smo čekali da Mach bude objavljen kao slobodan softver, kao što je bilo obećano.

Jedan razlog odabira tog dizajna je bilo izbjegavanje onoga što se činilo najtežim dijelom posla: otklanjanje grešaka u programu jezgre bez softvera koji na razini izvornog koda prati izvršenje programa (source-level debugger). Taj dio posla je već napravljen, u Mach-u, i očekivali smo da će otklanjanje grešaka u Hurd poslužiteljima biti na razini korisničkih programa, sa GDB-om. Ali prošlo je dosta vremena dok je to postalo moguće, i višenitni (multithreaded) poslužitelji koji šalju poruke među sobom su se ispostavili vrlo teškima u procesu otklanjanja grešaka. Radeći Hurd posao razvučenim kroz mnogo godina.

Alix

GNU jezgra se na početku nije trebala zvati Hurd. Njegovo originalno ime je bilo Alix—dano prema ženi koja je bila u to vrijeme moja simpatija. Ona, Unix administrator, je ukazala na to kako bi njeno ime dobro pristajalo u uobičajeni uzorak davanja imena verzija Unix sustava; u šali, rekla je svojim prijateljima: “Netko bi trebao nazvati jezgru po meni.” Nisam rekao ništa, nego sam je odlučio iznenaditi s jezgrom po imenu Alix.

Nije ostalo na tome. Michael (sada Thomas) Bushnell, glavni developer jezgre, više je volio ime Hurd, i ponovno je definirao Alix da se odnosi na određeni dio jezgre—dio koji bi hvatao sistemske pozive i rukovao s njima slanjem poruka Hurd poslužiteljima.

Kasnije, Alix i ja smo prekinuli, i ona je promijenila svoje ime; neovisno, dizajn Hurd-a je promijenjen tako da bi C biblioteka slala poruke direktno poslužiteljima, i zbog toga je Alix komponenta nestala iz dizajna.

Ali prije nego su se te stvari dogodile, njezin prijatelj je našao ime Alix u izvornom kodu Hurd-a, i spomenuo je to njoj. Tako da je imala šansu naći jezgru po njenom imenu.

Linux i GNU/Linux

GNU Hurd nije prikladan za produkcijsko korištenje, i ne znamo da li će ikada biti. Dizajn temeljen na mogućnostima ima problema koji rezultiraju direktno iz fleksibilnosti dizajna, i nije jasno da li rješenja postoje.

Srećom, druga jezgra je dostupna. 1991. Linus Torvalds je razvio jezgru kompatibilnu s Unixom i nazvao je Linux. U početku je Linux bio pod vlasničkom licencom, no 1992. je postao slobodni softver; kombinirajući Linux s još nedovršenim sustavom GNU rezultiralo je potpunim slobodnim operativnim sustavom. (Naravno, kombiniranje je bio znatan posao sam po sebi.) Zbog Linuxa mi danas možemo pokrenuti verziju sustava GNU.

Ovaj sustav nazivamo GNU/Linux, kako bi smo istaknuli kombinaciju sustava GNU s Linuxom kao jezgrom. Nemojte upasti u zamku nazivanja cijelog sustava “Linuxom”, jer to znači pripisivanje našeg rada nekome drugome. Molimo vas da spomenete i nas.

Izazovi u našoj budućnosti

Dokazali smo našu sposobnost da razvijemo široki spektar slobodnog softvera. To ne znači da smo nepobjedivi i nezaustavljivi. Nekoliko izazova rade budućnost slobodnog softvera nesigurnom; suočavanje sa njima će zahtijevati postojan napor i izdržljivost, trajući ponekad i po nekoliko godina. Zahtijevati će vrstu determinacije koje ljudi pokazuju kada cijene svoju slobodu i neće dopustiti nikome da je oduzme.

Sljedeća četiri odjeljka raspravljaju o tim izazovima.

Tajni hardver

Proizvođači hardvera u sve većem trendu drže specifikacije hardvera tajnim. Zbog toga je teško pisati slobodne upravljačke programe tako da bi Linux i XFree86 podržavali novi hardver. Imamo potpune slobodne sustave danas, ali ih sutra nećemo imati ako ne možemo podržavati sutrašnja računala.

Postoje dva načina suočavanja sa tim problemom. Programeri mogu raditi obrnuti inženjering da bi dokučili kako podržavati hardver. Mi ostali možemo izabrati hardver koji je podržani od strane slobodnog softvera; kako se naši brojevi budu povećavali, tajnost specifikacija će postati samo-poražavajuća politika.

Obrnuto inženjerstvo je veliki posao; da li ćemo imati programere sa dovoljnom determinacijom da to poduzmu? Da—ako smo izgradili jak osjećaj da je slobodan softver stvar principa, i da se neslobodni upravljački programi ne mogu tolerirati. I da li će veliki broj nas potrošiti višak novca, ili čak malo viška vremena, da možemo koristiti slobodne upravljačke programe? Da, ako je determinacija za posjedovanjem slobode široko rasprostranjena.

(bilješka iz 2008: ovaj problem se isto tako i proširuje na BIOS. Postoji slobodni BIOS, coreboot; problem je nabavka specifikacija za strojeve tako da ih coreboot može podržavati.)

Neslobodne biblioteke

Neslobodna biblioteka koja se vrti na slobodnim operativnim sustavima djeluje kao zamka za developere slobodnog softvera. Primamljive značajke biblioteke su mamac; ako koristite biblioteku, padate u zamku, zato jer vaš program ne može korisno biti dio slobodnog operativnoga sustava. (Strogo govoreći, možemo uključiti vaš program, ali neće se pokrenuti bez biblioteke.) Još gore, ako program koji koristi vlasničku biblioteku postane popularan, može namamiti druge nesumnjajuće programere u zamku.

Prvi slučaj ovog problema su bili Motif alati, natrag u 80-ima. Iako tada nisu postojali slobodni operativni sustavi, bilo je jasno koji problem će im Motif uzrokovati kasnije. GNU Projekt je odgovorio na dva načina: pitajući individualne projekte slobodnog softvera da podržavaju slobodne X alatne blokove (widgets) kao i Motif, i raspitivajući se za nekoga tko bi napisao slobodnu zamjenu za Motif. Posao je trajao mnogo godina; LessTif, razvijen od strane Hungry Programmers, postao je dovoljno moćan da podržava većinu Motif aplikacija tek u 1997.

Između 1996. i 1998., druga neslobodna GUI alatna biblioteka, zvana Qt, je bila korištena u znatnoj kolekciji slobodnog softvera: KDE desktop.

Slobodni GNU/Linux sustavi nisu bili u mogućnosti koristiti KDE, zato jer nismo mogli koristiti biblioteku. Međutim, neki komercijalni distributeri GNU/Linux sustava koji nisu bili strogi da se drže slobodnog softvera, dodali su KDE svojim sustavima—producirajući sustav sa više sposobnosti, ali manje slobode. KDE grupa je aktivno ohrabrivala sve više programera da koriste Qt, i milijuni novih “Linux korisnika” nisu nikada bili izloženi ideji da ima nešto krivo u tome. Situacija se činila mrgodnom.

Zajednica slobodnog softvera je odgovorila na problem u dva načina: GNOME i Harmony.

GNOME, GNU Network Object Model Environment, je desktop projekt GNU-a. Miguel de Icaza ga je započeo u 1997., i bio je razvijan sa podrškom Red Hat Software-a, GNOME je krenuo obezbjediti slična desktop postrojenja, ali ekskluzivno korištenjem slobodnog softvera. Ima i tehničke prednosti, kao što su podrška za razne jezike, ne samo C++. Ali njegov glavni cilj je bila sloboda: da se ne zahtijeva korištenje neslobodnog softvera.

Harmony je kompatibilna zamjenska biblioteka, dizajnirana da omogući pokretanje KDE softvera bez korištenja Qt-a.

Studeni 1998, developeri Qt-a su proglasili promjenu licence koja će, kada se provede, napraviti Qt slobodnim softverom. Ne postoji način da se bude siguran, ali mislim da je to dijelom zbog čvrstog odgovora zajednice na problem koji je Qt stvarao dok je bio neslobodan. (Nova licenca je nepogodna i nepravedna, pa ostaje poželjno izbjegavati korištenje Qt-a.)

[Naknadna bilješka: u rujnu 2000, Qt je ponovno objavljen pod GNU GPL-om, što je suštinski riješilo taj problem.]

Kako ćemo odgovoriti na slijedeću primamljivu neslobodnu biblioteku? Da li će cijela zajednica shvatiti potrebu da se ne upadne u zamku? Ili će mnogi od nas odustati od slobode zbog pogodnosti, i napraviti veliki problem? Naša budućnost ovisi o našoj filozofiji.

Softverski patenti

Najgora prijetnja sa kojom se suočavamo dolazi od softverskih patenata, koji mogu staviti algoritme i značajke izvan dosega slobodnog softvera do dvadeset godina. Patenti LZW algoritma za kompresiju su bili primijenjeni u 1983., i još uvijek ne možemo objaviti slobodni softver da producira prave komprimirane GIF-ove. [Od 2009. oni su istekli.] U 1998., slobodan program za produkciju MP3 kompriminiranog zvuka je izbačen iz distribucije zbog prijetnje patentnom tužbom.

Postoje načini da se nosimo sa patentima: možemo tražiti dokaze da je patent nevažeći, i možemo tražiti alternativne načine da napravimo posao. Ali svaka od tih metoda radi samo ponekad; kada obje pobace, patent može prisiliti sav slobodni softver da nema neke značajke koje korisnici žele. Što ćemo napraviti kada se to dogodi?

Oni među nama koji vrednuju slobodni softver zbog slobode će ostati svejedno upotrebljavati slobodni softver. Uspjeti ćemo napraviti posao bez patentiranih značajki. Ali oni koji vrednuju slobodni softver jer očekuju da bude tehnički superioran će vjerojatno nazvati to neuspjehom kada patent ograničava softver. Dakle, dok je korisno govoriti o praktičnoj efektivnosti “bazar” modela razvoja, i o pouzdanosti i moći nekog slobodnog softvera, ne smijemo se zaustaviti na tome. Moramo govoriti o slobodi i principu.

Slobodna dokumentacija

Najveći nedostatak naših slobodnih operativnih sustava nije u softveru—nego u nedostatku dobrih slobodnih priručnika koje možemo uključiti u naše sustave. Dokumentacija je suštinski dio svakog softverskog paketa; kada važan paket slobodnog softvera ne dođe sa dobrim slobodnim priručnikom, to je velik propust. Danas imamo mnoge takve praznine.

Slobodna dokumentacija, kao i slobodni softver, je stvar slobode, a ne cijene. Kriterij za slobodni priručnik je uglavnom isti kao i za slobodni softver: stvar je u davanju svim korisnicima određene slobode. Ponovna distribucija (uključujući i komercijalnu prodaju) mora biti dopuštena, na mreži i na papiru, tako da priručnik može popratiti svaku kopiju programa.

Dozvola za izmjenu je isto presudna. Kao općenito pravilo, ne vjerujem da je bitno za ljude da imaju dozvolu da izmjenjuju članke i knjige svake vrste. Na primjer, ne mislim da smo vi ili ja dužni dati dozvolu da se izmjenjuju članci poput ovoga, koji opisuju naša djela i naša gledišta.

Ali postoji partikularni razlog zašto je sloboda izmijene presudna za dokumentaciju slobodnog softvera. Kada ljudi prakticiraju svoje pravo da izmijene softver, i dodaju ili izmijene neke njegove značajke, ako su savjesni oni će isto izmijeniti i priručnik—tako da mogu obezbjediti točnu i upotrebljivu dokumentaciju sa izmijenjenim programom. Neslobodni priručnik, koji ne dozvoljava programerima da budu savjesni i da dovrše posao, ne dopunjuje potrebe naše zajednice.

Neke određene granice na to kako se izmijene rade ne predstavljaju problem. Na primjer, zahtjevi da se očuvaju originalna autorova bilješka o autorskim pravima, distribucijska pravila, ili lista autora, su u redu. Isto tako nije problem da se zahtijeva da izmijenjene verzije uključuju bilješku da su bile izmijenjene, čak i da imaju cijele odjeljke koji mogu biti izbrisani ili promijenjeni, sve dok se ti odjeljci drže ne-tehničkih tema. Te vrste restrikcija nisu problem jer ne zaustavljaju savjesnog programera da prilagodi priručnik tako da odgovara izmijenjenom programu. Drugim riječima, ne zaustavljaju zajednicu oko slobodnog softvera da dobije cijelu korist od priručnika.

Međutim, mora biti moguće izmijeniti cijeli tehnički sadržaj priručnika, i tada distribuirati rezultat na svim uobičajenim medijima, kroz sve uobičajene kanale; u suprotnom, restrikcije ometaju zajednicu, priručnik nije slobodan, i trebamo drugi priručnik.

Da li će developeri slobodnog softvera imati svjesnost i determinaciju da produciraju cijeli spektar slobodnih priručnika? Još jednom, naša budućnost ovisi o filozofiji.

Moramo govoriti o slobodi

Procjene danas su da postoji deset milijuna korisnika GNU/Linux sustava kao što su Debian GNU/Linux i Red Hat “Linux”. Slobodni softver je razvio takve praktične prednosti da se korisnici sjate na njega iz čisto praktičnih razloga.

Dobre posljedice toga su očite: više interesa za razvoj slobodnog softvera, više klijenata za poslove slobodnog softvera, i više sposobnosti da se ohrabre kompanije da razvijaju komercijalni slobodni softver umjesto vlasničkih softverskih proizvoda.

Ali interes za softver raste brže nego svjesnost filozofije na kojoj je utemeljen, i to vodi u nevolju. Naša sposobnost da se suočimo sa izazovima i prijetnjama opisanima iznad ovisi o volji da ostanemo čvrsto za slobodu. Da bi osigurali da naša zajednica ima tu volju, moramo raširiti tu ideju među novim korisnicima kako oni dolaze u našu zajednicu.

Ali nismo uspješni u tome: napori da se privuku novi korisnici u našu zajednicu daleko nadmašuju napore da ih podučimo pravima i dužnostima naše zajednice. Moramo napraviti oboje, i moramo držati ta dva napora u ravnoteži.

“Otvoreni izvorni kod”

Podučavanje novih korisnika o slobodi je postalo teže u 1998, kada je dio zajednice odlučio prestati koristiti termin “slobodan softver” i reći “softver otvorenog izvornog koda” umjesto toga.

Neki koji favoriziraju taj termin ciljali su da izbjegnu konfuziju “slobodnog” sa “besplatnog”—valjani cilj. Drugi, međutim, su ciljali da stave na stranu duh principa koji je motivirao pokret slobodnog softvera i GNU projekt, i umjesto toga napraviti priziv izvršnim i poslovnim korisnicima, mnogi od kojih drže ideologiju koja stavlja profit iznad slobode, iznad zajednice, iznad principa. Tako, retorika “otvorenog izvornog koda” fokusira na potencijal da se napravi visoko kvalitetan, moćan softver, ali izbjegava ideje slobode, zajednice i principa.

“Linux” časopisi su jasan primjer toga—puni su oglasa za vlasnički softver koji radi sa GNU/Linux-om. Kada se pojavi slijedeći Motif ili Qt, da li će ti časopisi upozoriti programere da udalje od toga, ili će raditi reklame za to?

Podrška poslovnog dijela može pridonijeti zajednici na mnoge načine; sve drugo jednako, korisno je. Ali dobivanje njihove podrške govoreći još manje o slobodi i principu može biti katastrofalno; radi ranije spomenutu neravnotežu između dosega prema novim korisnicima i edukaciji o pravima i dužnostima još gorom.

“Slobodan softver” i “otvoreni izvorni kod” opisuju istu kategoriju softvera, više-manje, ali govore različite stvari o softveru, i o vrijednostima. GNU projekt nastavlja koristiti termin “slobodan softver”, da se izrazi ideja da je sloboda, ne samo tehnologija, važna.

Pokušajte!

Aforizam Yode (“Ne postoji ‘pokušaj’”) zvuči lijepo, ali ne radi za mene. Napravio sam većinu svoga rada dok sam bio tjeskoban oko toga da li ću moći napraviti posao, ako da, nesiguran da li će to biti dovoljno da dosegnem cilj. Ali pokušao sam svejedno, jer nije bilo nikoga osim mene između neprijatelja i mojeg grada. Iznenađujući sebe, ponekad sam uspio.

Ponekad nisam uspio; neki od mojih gradova su pali. Tada sam našao drugi grad pod prijetnjom, i pripremio se za još jednu bitku. Vremenom, naučio sam tražiti prijetnje i staviti sebe između njih i mojeg grada, prizivajući druge hakere da dođu i da se pridruže.

U današnje vrijeme, često nisam jedini. Olakšanje je i radost kada vidim puk hakera kako kopaju da bi zadržali vod, i shvatim, ovaj grad možda preživi—zasada. Ali opasnosti su sve veće svake godine, i sada je Microsoft specifično naciljao našu zajednicu. Ne možemo uzeti budućnost slobode zdravo za gotovo. Ne uzimajte je zdravo za gotovo! Ako želite zadržati svoju slobodu, morati biti pripremljeni da je branite.