Sedam IT → Blog

Kako sam naučio štedjeti i voljeti open-source

Danas sve tvrtke koriste open-source softver u nekom obliku. Zapitali smo se: je li open-source budućnost?

Rat između Windows i Linux operativnih sustava poznat je čak i bakicama koje misle da je „Majkompjuter“ selo pokraj Đakova. Usput rečeno to je istinita priča iz pozivnog centra: „Gospođo, odite na My Computer.“, „Ha? Gdje je to? Je li to pokraj Đakova?“

Tvorac Linuxa, Linus Torvalds, je nekad davno izjavio: „Ako Microsoft ikad napravi aplikaciju za Linux to će značiti da sam ja pobijedio“. Danas, ne samo da Microsoft izrađuje aplikacije za Linux već se kompletan Windows operativni sustav izrađuje koristeći open-source alat za verzioniranje - Git kojeg je stvorio Linus Torvalds. Kakve li ironije! Cjeloživotna gozba za Torvaldsov ego.

Ako ste slučajno zalutali na ovaj članak i prvi put čujete za open-source, vrijeme je za suhoparnu definiciju: „Open-source podrazumijeva programski kod (softver) koji je slobodan za upotrebu široj javnosti. To znači da s njim mogu raditi što god žele, bilo da ga koriste u privatne ili komercijalne svrhe.“

Danas sve tvrtke koriste open-source softver u nekom obliku. Mi u Sedmici (Sedam IT od milja) smo otišli korak dalje kroz partnerstvo s tvrtkom Zabbix koja stoji iza istoimenog softvera. Riječ je o izrazito popularnom 100% open-source alatu za detekciju kvarova i mjerenje performansa na sustavima.

Sigurno ste i vi koristili neki open-source softver: Firefox, VLC media player, Notepad++ OpenOffice, WordPress, Ubuntu (Linux), itd.

Kada prosječan korisnik vidi navedene aplikacije prva misao mu je vjerojatno: „Besplatno! Đabe! Mukte!“. Istina, izraz 'open-source' je postao sinonim za besplatno. Nećemo se zavaravati, na kraju uvijek gledamo kako da sačuvamo svoj teško zarađeni novac. No vjerovali ili ne, postoje neki „fanatici“ koji kažu da je open-source puno više od toga: da open-source označava slobodu, da je open-source budućnost, a neki se kunu da je to jedini pravilan način života!

Međutim, kako je to sve počelo? Vratimo se na trenutak u osamdesete godine prošloga stoljeća kako biste upoznali našeg „fanatika“ broj 1.

Zamislite veliku sobu za printere na MIT sveučilištu u kojoj bradati programer lupa šakom po novom laserskom printeru dok mu se u mislima smiju proizvođači printera poput tipičnih filmskih negativaca.

Taj bradati čovjek je Richard Stallman. Ljut je jer je dobio zatvoreni softver zbog čega ne može proširiti funkcionalnosti printera. Nekada je mogao mijenjati kod jer su mu proizvođači printera slali svoj softver u otvorenom formatu (open-source) koji je čitljiv ljudima.

Slika 1: Richard Stallman

Sada nije mogao ništa, kod je skriven i svi njegovi pokušaji da dobije otvoreni kod su bili odbijeni. Negativci ne samo da se zlokobno smiju već i plešu uz novu hit pjesmu "Another One Bites the Dust" grupe Queen.

Znate li kako ponekad u životu neka sitnica pokrene slijed velikih događaja? Upravo je ovo neugodno iskustvo uvjerilo Stallmana da svaki čovjek mora moći izmijeniti softvere koje koristi. Smatrao je da intelektualno vlasništvo koje tvrtke primjenjuju nad softverom šteti društvu i usporava inovativnosti.

Da se radilo o običnom čovjeku sve bi se zaboravilo za nekoliko tjedana. Richard Stallman je sve samo ne običan čovjek. Dovoljno je da proguglate nekoliko njegovih citata i sve će vam biti jasno o kakvom se čovjeku radi.

Godine 1983., Stallman najavljuje rad na novom operativom sustavu koji će biti kompatibilan s postojećim komercijalnim Unix sustavom i koji će se u potpunosti sastojati od slobodnog softvera. Nazvao ga je GNU operativni sustav (GNU is Not Unix).

Paralelno, pokreće Zakladu za slobodan softver (engl. Free Software Foundation) koja će biti legalna infrastruktura i podrška za novi pokret otvorenog softvera.

Najvažnije od svega, definira GNU GPL (General Public License), opću javnu licencu koja sadrži copyleft komponentu (igra riječi copyright). Copyleft u suštini znači - ako ja tebi dam neki softver s potpunom slobodom da ga izmijeniš, dijeliš i raspačavaš, onda i ti moraš tu istu slobodu garantirati dalje za taj softver i za bilo koji drugi softver koji je nastao iz izvornog koda.

GPL licenca je tako dobro definirana da je postala briga za velike korporacije. Ako netko zabunom kopira kod iz softvera koji je zaštićen GPL licencom u komercijalni softver tada taj softver mora postati besplatan i javno dostupan svima (npr. Microsoft admits its GPL violation).

GNU operacijski sustav se razvijao relativno brzim tempom te je do kraja 80-ih napravljeno mnogo besplatnih programa i alata, ali nažalost još nije imao potpuno funkcionalnu jezgru sustava (engl. kernel). Stallman i društvo su vodili epske borbe protiv bugova jer su odabrali suviše kompleksnu microkernel arhitekturu koja do danas nije proradila kako treba.

Zamislite sada orkestralnu glazbu koja najavljuje dolazak našeg „fanatika“ broj 2.

Godine 1991., na drugoj strani bare, frustriran sporim napretkom GNU operacijskog sustava, 21-godišnji finac Linus Torvalds odlučio je napraviti besplatni operativni sustav koristeći za bazu operativni sustav Minix (okljaštrena verzija komercijalnog Unixa koja se koristila u edukacijske svrhe).

I uspio je u tome! Nazvao ga je Linux te je svoj rad objavio na Internetu gdje je napisao između ostalog: „Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)…“.

Ispostavilo se da nije samo Torvalds bio frustriran čekanjem na novi besplatni operativni sustav. Stotine drugih programera se s velikim entuzijazmom uključilo u Linux projekt. Nakon što je temelj postavljen svi su dolazili graditi neboder.

Inspiriran Richard Stallmanovim govorom o slobodnom softveru, Torvalds objavljuje Linux s GNU GPL licencom. Sada se u projekt uključuje i GNU zajednica i sve što su napravili do tada za GNU operativni sustav migiriraju na Linux. Linux postaje nezaustavljiva sila.

Čak i u samim počecima, Linux je bio stabilniji od tada aktualnih produkcijskih operativnih sustava. Nije dugo trebalo da tvrtke počnu koristiti Linux na svojim serverima jer je dobro poznato da stabilniji sustavi smanjuju rizik gubitka novaca, reputacije i korisnika.

S obzirom da je open-source softver besplatan, tvrtke više nisu bile „zaključane“ za jednog dobavljača. Dobili su slobodu da biraju od koga će kupiti proizvod, od koga usluge, a od koga podršku.

Mnoge tvrtke su se obogatile samo zato jer su prodavale usluge održavanja open-source softvera. Jedna od takvih tvrtki je Redhat. Linux im je omogućio milijune, a zauzvrat oni su milijune poklonili tvorcu Linuxa. Pogodite tko nakon toga završava na naslovnici časopisa Forbes? Naš skromni junak koji je rekao za svoj Linux „Just a hobby, won't be big and professional like gnu“.

Slika 2: Naslovnica časopisa Forbes 1998. godina

Open-source zajednica je rasla munjevitom brzinom. Svi su se čudili kako ta „anarhija“ može funkcionirati. Svaki dan, na tisuće programera kuckaju po tipkovnicama i stvaraju izrazito kvalitetan softver bez da im itko išta plati i bez da itko to traži od njih. Naravno nije sve bilo bajno. Svaka demokracija podrazumijeva slobodu na neslaganje, pa kad programeri imaju oprečna mišljenja u vezi smjera u kojemu bi projekt trebao krenuti, tada se zna dogoditi da programeri „pobunjenici“ kopiraju kod trenutnog softvera i nastave ga dalje razvijati po svome (ovo se inače naziva „Fork“).

Da nije bilo open-source softvera, internet bi bio posve drukčiji. Internet se mogao rapidno razvijati jer je većinu web stranica pokretao open-source softver (Linux, Apache, PHP, MySql). Zahvaljujući open-source softveru, Facebook je mogao jeftino skalirati svoju infrastrukturu i uništiti konkurenciju (MySpace je koristio Windows).

Vjerojatno počinjem zvučati kao dosadni profesor povijesti pred mirovnom, pa ću se zaustaviti.

Dovoljno je reći da danas u poslovnom svijetu prevladava Linux (mislim na servere, ne na osobna računala). Sva super računala koriste Linux. Više od 80% pametnih telefona koriste Android koji je u suštini Linux. Također, najnovije tehnologije kao što su Cloud, Internet of Things, Software-Defined Networking prvenstveno koriste open-source softver.

Napokon dolazimo do ključnog pitanja: je li open-source budućnost? Prije nego odgovorim na to pitanje bitno je da znate kako se stvara novac iz potpuno besplatnog softvera.

Pojedinac ili tvrtka objavi osnovnu verziju nekog softvera kao open-source preko interneta. Ako je projekt zanimljiv i obećavajući programeri iz cijelog svijeta će se uključiti radi razvoja softvera jer imaju neku korist od toga: hobi, vlastita promocija, znatiželja, izazov, potreban im je taj softver, itd. Nakon nekog vremena većina će projekata propasti, neki će biti korisni, ali neće zaživjeti, dok će neki biti popularni i korisni, ali neće imati potencijala za zaradu. Kod nekih će se sve posložiti pa će uspjeti i postati planetarno popularni.

Softver koji uspije je često izuzetno kompleksan za korištenje, pa mnoge tvrtke nude usluge implementacije, održavanja i edukacije za takav softver te na taj način zarađuju.

Kako konkurencija raste, da bi se izdvojili na tržištu, neke tvrtke izrađuju dodatke/module za postojeći open-source softver kojeg licenciraju i prodaju kao komercijalni softver. Tko bi rekao da će slobodni softver indirektno stvarati komercijalni.

Kao što vidite nije sve crno-bijelo. Nije moguće odgovoriti na pitanje budućnosti open-source softvera s da ili ne. Želim vjerovati da ćemo na kraju imati utopiju gdje će sve biti besplatno, pa tako i softver, ali povijest nas uči da će komercijala uvijek postojati u nekom obliku.