Vidim da većina jednostrano gleda na GPL i free software. Po meni, situacija nije tako jednostrana. Nije GPL ni dobar ni loš. To je samo (još) jedna licenca na koju se treba navići i poštovati njena pravila.
Da se odmah razumemo, ja nisam neki GPL i OSS warrior, poštujem i closed licencu, ali mislim da u nekim slučajevima open source i GPL jako dobro dođu.
Navešću par opštih primera, a kasnije par
svojih primera gde sam koristio i učestvovao u free projektima, pošto vidim da to do sada niko nije uradio, a tražite iz posta u post. Oprostićete mi što će post biti opširan.
Smatram da je razvijanje free softwarea dobro u slučajevima sopstvene afirmacije, prenošenja projekta iz teorije u praksu, rapidnog horizontalnog širenja aplikacije.
Da pojasnim:
1. afirmacija
Programer svojim delovanjem stiče određenu afirmaciju. Bilo to delovanje pisanje programa, ili čak pisanjem odgovora na forumima poput ovog :) Smatram da mu pisanje free softwarea, ili aktivnim učestvovanjem u razvoju free softwarea može doneti veću afirmaciju nego pisanje closed softwarea. Kažu da besplatnog ručka nema, zato mu takvi projekti mogu biti odskočna daska za bolje zapošljavanje, skretanja pogleda na sebe, učestvovanja u važnim projektima.
Dakle, ne smatram da se
samo od GPL-a može živeti, ali smatram da pisanjem i učestvovanjem u GPL projektima moze skrenuti pažnja na sebe mnogo brže nego pisanjem closed programa from the scratch.
Ovo narocito vredi za mlade, neafirmisane programere na koje toliko pokušavate da utičete.
2. prenošenje projekata iz teorije u praksu
Postoje divna teoretska rešenja koja nikada ne nađu svoju primenu, jer teoretičari na fakultetima, institutima nemaju vremena, snage ni volje da završe program 100%. Algoritam je svakako dostupan kroz doktorate i radove, koji su javno dobro. Program, ako je uopšte iskodiran, bude na nivou teorije - evo bas sada radimo na visual searchu gde je inicijalni program bio napisan u Matlabu :). Zato je mnogo uspešnih GPL projekata poteklo baš sa univerziteta i instituta.
Sada će neki početi da viču: nisu algoritmi napisani na institutima javno dobro, ne broji se više ko koliko ima radova nego koliko ko ima patenata. Jeste, video sam i takve primere. Fenomenalno brzi algoritmi za GIS (geografski informacioni sistemi), sve pršti primer za primerom, najbolji antialiasing koji sam video, nema neke razlike u brzini kada se radi na P2 ili P4, znači fantazija. Ima samo jedan problem: za te algoritme je čuo mali krug ljudi, i jedva da se negde koristi. Naravno, čovek je napravio pare od toga, pošto su GIS projekti jako skupi, ali ne i širu afirmaciju koju njegov rad itekako zavređuje.
3. horizontalno širenje aplikacije
Neki primeri najuspešnijih GPL aplikacija su one koje podržavaju većinu formata iz oblasti za koju su napisani: fetchmail za prikupljanje pošte, gphoto za prenos slika sa digitalnog fotoaparata, mplayer za prikazivanje audio/video fileova. GPL se baš tu pokazuje najbolji: što se horizontalno brzo širi. Nekome treba novi file format, zna kako to da uradi, podeli to sa drugima.
Zvuči cudno kako uopšte mogu da sarađuju programeri koji žive u toliko različitim uslovima, ali očito to nekako radi. Nemojte misliti da GPL razvoj ide stihijski. Često tu bude donacija koje usmeravaju razvoj da se napravi dodatak koji je potreban, pa je to još jedan primer kako se od GPL-a može (pre)živeti.
Lični primeri. Imali smo prilike zadnjih godina učestvovati (ja lično, ili sa firmom) u free projektima. Ništa spektakularno, ali mislim da vredi pomenuti. Takođe, kao zadnji primer navešću primer koji pokazuje kako GPL moze da ubrza razvoj softwarea. Barem je nama ubrzao :)
1. TeX
Za vreme studiranja devedesetih godina u Zagrebu radio sam kao grafički urednik. Između ostalih, obrađivao sam i knjige iz matematike za osnovnu školu (možda je Sundance iz njih ucio :). Tada sam se prvi put susreo sa free softwareom. Bio sam iznenađen kako neki software moze biti stvarno free (makar je u to vreme sve bilo 'free' zbog piraterije). Naročito ako je software toliko dobar kao TeX. Čuveni Knuth (autor TeXa) je rekao
ako izmislim neki algoritam, necu naplacivati svaki put kada neko koristi algoritam, ali ako me neko pita gde i kako da primeni algoritam i na koji nacin, e, to ću mu već naplatiti. To pojašnjava stvari. Takođe, TeX nije nimalo lak za učenje, a i knjige za TeX su se prodavale po finoj ceni, makar su dolazile i u sourceu, pa je to bila stvarno dobra volja da li će neko kupiti knjigu ili ne.
Tokom godina zainteresovao sam se za jezičke algoritme (na njima sam i diplomirao), pa sam napravio patterne za razdvajanje reči za hrvatski jezik.
Šta sam trebao tada uraditi? Dati da se ti patterni (a potrosio sam relativno dosta vremena na njih) koriste besplatno, ili da ih preradim za Word, upakujem u neku kutiju i čekam kupce? Šta sam trebao uraditi te jadne 1996-e godine kada se nije pitalo 'pošto je software', nego 'gde su diskete i CD-i'? Ovako, ti patterni su i dan danas u zvaničnim distribucijama TeX-a, mislim da su korisni (makar bi se moglo još dosta poraditi na njima). Da li sam ja od toga imao direktne koristi? Ne, ali sam imao direktne koristi od više desetina hiljada pravilno prelomljenih strana (to me je praktički iškolovalo), a i dobio sam dosta pisama zahvale sto sam to napravio.
2. Squid
Velika većina je koristila ovaj program, makar nesvesno. Squid je najpoznatiji proxy/cache program, koriste ga uglavnom svi provajderi. Prilično sam se upoznao sa programom, koristio napredne funkcije (prioriteti, mreže proxyja). Sada to izgleda smešno kada plačete što nemate megabite veze kod kuće, ali tada (1997-2000) svaki ušteđeni bajt je bio važan (radio sam kao sistme administrator u ISPu).
Video sam da mi nedostaje jedan način preraspodele prava korištenja veze, pročitao taj deo sourcea, ugradio, koristio. Poslao patch, zahvalio mi glavni autor programa, Duane Wessels.
Da li sam imao nešto para od toga? Naravno, kao što rekoh, svaki ušteđeni bajt je bio ključan, a ovako smo ih uštedeli prilično. A i lepo je kada ti odgovori glavni autor tako poznatog programa. Da li bi to bilo moguće da je Squid bio closed source?
3. Mapserver
U aplikaciju smo trebali ugraditi mogućnost prikazivanja mapa iz raznih izvora (kako rasterskih, tako i vektorskih), i da to radi u Intranet okruženju. Nećete verovati koliko su tzv. mapserveri skupi, koliko se vežu za određen format. Često se čak i plugini za browser plaćaju. Zato smo se odlučili za Mapserver, možete ga pronaći ovde:
http://mapserver.gis.umn.edu/
Pitam, šta je bilo pametnije, da koristimo taj program, ili da teramo svakog svog klijenta da kupuje closed mapserver koji košta nekoliko hiljada $$$ minimum?
Trebali smo malo proširiti Mapserver (DXF export, MySQL connectivity, HTML Map output i slično), drage volje smo to uradili i postali contributori. Da li je to nama naštetilo? Nije, aplikacija koju prodajemo i koja koristi Mapsrever je postala konkurentnija u ceni nego da tražimo preinstaliran server za prikazivanje mapa. Takodje, pridrzavali smo se GPL licence.
4. What the Font?
Dobili smo ponudu da napravimo servis koji će prepoznavati uploadovan font. Nešto
slično kao ovde:
http://www.myfonts.com/WhatTheFont/
Da bi odgovorili da li smo spremni tako nešto da napravimo, trebali bi prvo probati proof of concept rešenje, da vidimo kako se to može napraviti. Po meni ništa prirodnije nego naći delove free softwarea, pokušati ih složiti u jednu celinu i videti kako se ponaša. Probajte pisati ovakav program od početka, pa da vidimo ko će biti brži.
Ima takvih primera još, ali vec sam sam sebi dosadan. Da zaključim: ne živimo samo od GPLa, ali free software utiče jako na ono što radimo.
Pošto je ovo Advocacy, već vidim da ćete početi pljuvati i hvatati se za svako moje slovo, svaki znak interpunkcije. Slobodno, neću se ljutiti, a niti promeniti stav da free software može biti koristan. Meni svakako jeste.
Pre nego što počne pljuvačina, da uzvratim kontrapitanjem: navedite mi
konkretne slučajeve kada je vama GPL naštetio, kada vam je GPL direktno ugrozio da ne možete da kupite hleb, da platite stanarinu, ili novi iPod?
Ako vam nije naštetio, što toliko pljujete po njemu?