Sa odlaskom moje zajednice, nije bilo moguće nastaviti kao prije. Umjesto toga mučio me nepopustljiv moralni izbor.
Jednostavniji izbor bi bio da se pridružim svijetu posjedovanog software-a, potpisujući ugovor o šutnji i obećavajući da neću pomagati svojim prijateljima hackerima. najvjerojatnije bih i ja programirao software koji se prodavao pod ugovorom o šutnji, i prema tome činio pritiske na druge ljude da izdaju svoje prijatelje.
Na ovaj način bih zaradio, te se možda zabavljao pišući kod. Ali znao sam da bih se na kraju karijere osvrnuo i vidio sve godine kroz koje sam pravio zidove među ljudima, te bih osjećao da sam proveo život čineći svijet gorim mjestom.
Već sam bio doživio da budem na kraju ugovora o šutnji, kada je neto odbio da daa meni i MIT AI lab-u source kod od kontrolnog programa za pisać. (Manjak nekih stvari u programu je činilo korištenje printera frustrirajućim.) Stoga nisam sebi mogao reći da su ugovori o šutnji nedužni. Bio sam bijesan kada je odbio da ga podijeli sa nama; nisam se mogao okrenuti i uraditi to isto svima drugima.
Drugi izbor, otvoren ali neugodan, je bio da napustim polje računarstva. Na taj način moje sposobnosti ne bi bile zloupotrijebljene, ali bi i dalje bile neiskoristene. Ne bih bio kri za podjelu i ograničenja korisnika kompjutera, ali bi se to ipak dogodilo.
Stoga sam potražio način na koji bi programer mogao učiniti nešto dobro. Upitao sam se, da li postoji program ili programi koje bih mogao napisati da bih još jednom zajednicu učinio mogućom.
Odgovor je bio jednostavan: prvo što sam trebao je operativni sistem. To je osnovni software koji trebate imati da bi počeli koristiti kompjuter. S operativnim sistemom, možete mnogo toga uraditi; bez njega, ne možete ni pokrenuti kompjuter. S slobodnim operativnim sistemom bismo ponovo mogli imati zajednicu kooperativnih hackera--i pozvati svakoga da nam se pridruži. I svako bi mogao koristiti kompjuter a da ne mora špijunirati svoje prijatelje.
Kao programer operativnog sistema, imao sam prave vještine za posao. Pa iako nisam mogao za to mogao uzeti zaslugu, shvatio sam da sam izabran za taj posao. Izabrao sam da napravim operativni sistem kompatibilan Unix-u da bi bio portabilan, te da bi se Unix korisnici mogli lagano prebaciti na njega. Ime GNU je izabrano koristeci hackersku tradiciju, rekurzivni akronim za "GNU nije Unix (GNU's Not Unix)".
Operativni sistem se ne sastoji samo od kernela, koji jedva da može pokrenuti druge programe. U 1970-tim svaki operativni sistem vrijedan pomena se satojao od procesora, asemblera, kompajlera, interpretatora, debagera, tekst editora, mailers-a, i još mnogo toga. ITS ih je imao, Multics također, VMS ih je imao, te ih je imao i Unix. GNU OS ih je također trebao imati.
Kasnije sam čuo ove riječi, pripisane Hillel (1):
Ako nisam za sebe, ko će biti za mene?
Ako sam samo za sebe, šta sam ja?
Ako ne sada, kada?
Odluka o osnivanju GNU projekta je bila bazirana na sličnoj ideji.
(1) Kao ateista ne slijedim niti jednog religijskog vodju, ali ponekad nađem nešto što je neko od njih rekao.
Izraz 'slobodan software' se ponekad pokrešno protumači--on nema ništa sa cijenom. Radi se o slobodi. Stoga definicija je slobodnog software-a: program je slobodan software za vas, općenito, ako:
Pošto se 'slobodan' odnosi na slobodu, a ne na cijenu, nema suprotnosti između prodavanja kopija i slobodnog software-a. U stvari, pravo prodaje kopija je osnovno: kolekcioniranje slobodnog software-a koji se prodaje na CD-ROM-ovima je važno za zajednicu i njihovom prodajom se prikuplja novac za razvoj slobodnog software-a. Zbog toga program koji ljudi nisu slobodni da uvrste u ove kolekcije nije slobodan software.
Zbog dvosmislenosti pojma 'slobodan', ljudi su dugo trazili alternative, ali niko nije pronašao prikladnu alternativu. Engleski jezik ima više riječi i nijansi od bilo kojeg drugog jezika, ali mu manjka jednostavna, nedvosmislena, riječ koja znači 'slobodan' kao u riječi sloboda--'nesputan' je riječ koja ima najbliže značenje, Alternative kao 'oslobođen', 'sloboda' i 'otvoren' imaju ili pogrešno značenje ili neke druge nedostatke.
(*) rijec 'free' u engleskom ima dva značenja: besplatan i slobodan, te se zbog toga i koriste u sličnom značenju u frazi 'free software'. op.prev.
Razvoj čitavog sistema je veoma velik projekat. Da bi ga doveli nadohvat ruke, odlučio sam da prilagodim i koristim postojeće dijelove slobodnog software-a gdje je god to bilo moguće. Na primjer, na samom početku sam odlučio da koristim TeX kao osnovni tekst formater; nekoliko godina kasnije sam odlučio da radije koristim X Windows sistem nego da pišem jos jedan window sistem za GNU.
Zbog ove odluke GNU sistem nije isto kao kolekcija svog GNU software-a. GNU sistem uključuje programe koji nisu GNU software, programe koje su programirali drugi ljudi i projekti za njihove potrebe, ali koje možemo koristiti jer su slobodan software.
U januaru 1984. sam prekinuo posao u MIT-u i počeo pisati GNU software. Napuštanje MIT-a je bilo neophodno da se on ne bi upletao u distribuciju GNU-a kao slobodnog software-a. Da sam ostao kao član osoblja, MIT je mogao tražiti vlasničko pravo nad software-om, te je mogao iznuditi svoje vlastite uvjete distribuiranja, ili čak ga preokrenuti u posjedovani software. Nisam imao namjeru toliko mnogo uraditi da bih vidio kako postaje beskoristan u svoj prvotnoj namjeri: stvaranju nove zajednice koja bi dijelila software.
Međutim, profesor Winston, tadašnji sef MIT AI Lab-a, me ljubazno pozvao da koristim laboratorijske prostorije.
Nedugo prije počinjanja GNU projekta, čuo sam za Free University Compiler Kit (besplatni univerzitetski kompajlerski paket), također poznat kao VUCK. (nizozemska rijec za 'besplatan' se piše sa V). Ovo je bio kompajler dizajniran da radi s više jezika, uključujući C i Pascal, i da podržava mnogostruke target mašine. Pitao sam autora smije li ga GNU koristiti.
Odgovorio je prezirno da je univerzitet besplatan ali kompajler nije. Stoga sam odlučio da moj prvi program za GNU projekat mora biti multi-jezični, multi-platformski kompajler.
Nadajući se da ću izbjeći pisanje cijelog kompajlera, nabavio sam source kod Pastel kompajlera, koji je bio multi-platformski kompajler programiran u Lawrence Livermore Lab-u. Podržavao je, i bio pisan u njemu, produženu verziju Pascala dizajniran da bude sistem-programski jezik. Dodao sam prednji dio u C-u i počeo portovanje na Motorola 68000 kompjuter. Ali sam morao odustati kada sam otkrio da kompajler treba više megabajta stack space-a, dok je 68000 Unix sistem dozvoljavao samo 64k.
Tada sam shvatio da paster kompajler funkcionira tako da dijeli čitav input file u sintax tree, konvertira cijeli syntax tree u lanac 'instrukcija', te zatim generira cijeli output file, a da nikada ne prazni nikakav storage. Novi kompajler je danas znan kao GCC; ništa od Pastel kompajlera se ne koristi u njemu, ali sam uspio da prilagodim i koristim prednji dio pisan u C-u i zadnji dio pisan u C-u koji sam napisao. Ali to je bilo nekoliko godina kasnije; prvo sam radio na GNU Emacs-u.
U septembru 1984. sam počeo raditi na Emacs-u, te se početkom 1985. mogao koristiti. Ovo mi je omogučilo da počnem koristiti Unix sisteme za editovanje; nije me interesiralo da naučim koristiti vi ili ed, pa sam do tada vršio editovanja na drugim masinama.
oTechnology Shtml Ceramics Store GNU Projekat - Fondacija za slobodan software (FSF) Technology Shtml Ceramics Storen Deal Time l l Deal Auto vTechnology Shtml Ceramics Store GNU Projekat - Fondacija za slobodan software (FSF) Technology Shtml Ceramics Storer b q q Time Auto