Zašto funkcionira slobodan software?

Ovaj tjedan se nakon g33koskopa među razimjenjivačima vještina povela vrlo zanimljiva rasprava koja me je potakla na razmišljanje.

Kako Free Software može funkcionirati ako se zasniva u osnovi na tezi da je dijenjenje koda (znanja zapisanog u programima) dobro zbog toga jer se računa na efekte tog dijeljenja (svi napredujemo zbog posla koji su drugi ljudi napravili prije nas).

Međutim, pojavljuje se i drugi, mnogo brži efekt, a to je inflacija znanja. Znanje koje posjeduje malo ljudi, mnogo je vrednije toj grupi ljudi (npr. financijski) nego da ga podjele i čekaju "primarni" efekt napredovanja svih da bi i njima bilo bolje.

Sa jedne strane, ova rasprava bi mogla postati o altruizmu, ali ostanimo na trenutak na podučavanju: isti se problem javlja kada trebate odlučiti da li da naučite nekoga svoja specifična znanja ili da taj posao obavite sami (naročito čest problem kod raznih voditelja nečega).

Sa druge pak strane, problem "napraviti sam ili nekome dati da to napravi" može se promatrati iz različitih pogleda npr. vremena ili novaca. Ako ga gledate sa pogleda vremena (što je često slučaj u projektnim organizacijama) obično odlučujemo na temelju toga što može biti brže gotovo, dok kod novca naravno odlučujemo o tome što je jeftinije.

Dakle, ostaje nam pitanje da li čekanje primarnog efekta (napredak zajednice) ima opravdanje ako se uzme u obzir sekundarni efekt (inflacija mog specifičnog znanja).

Ta je dilema najlakše rješiva u područjima gdje su znanja jako specifična i postoji relativno malo ljudi koji se time bave: pravnici, umjetnici, razni seviseri i mehaničari su neki od primjera.

Sa druge strane, inflacija znanja u drugim područjima toliko je pogubna da potpuno odbacije dijeljenje znanja: kulinarstvno (vrhunski kuhari nikada ne zapisuju recepte!), farmaceutska industrija (sa tendencijom zaštite ideje na fiksni broj godina).

Informacijske tehnologije su, zanimljivo, zapravo podložne i jednom i drugom efektu. Cijela struka napreduje zbog razmjene znjanja (standardi su najočitiji primjer takve razmjene), dok sa druge strane mnoga područja ostaju specifična zatvornena znanja (npr. 3D grafičke kartice) koja njihovim vlasnicima omogućavaju kompetitivne prednosti kojih se ne žele odreći.

Međutim, kratka povijest informacijskih tehnologija, a u širem smislu i povijest civilizacija (pomislite na štamparski stroj) pokazuje da je dijeljenje mnogo efikasnija strategija, međutim kako preživjeti do tog trenutka je ponekad pitanje.

Po mom mišljenju, slobodan software funkcionira jer omogućava grupi ljudi (hakerima) da međusobno surađuju bez da se dešava inflacija znanja jer korisnici rezultata surađivanja (dakle, korisnici programa) ne gube ništa zbog tog surađivanja (nego, dapače dobivaju uvrštavanjem poboljšanja). To naravno ne funkcionira sa savki software koji postoji, kao što ne funkcionira baš za svaki pojedinačni primjer. Međutim, ideja je dovolno općenita da se broj pozitivnih primjera stalno širi.

Dakle, oslobađanje koda (objavljivaje pod slobodnom licencom) neće samo po sebi omogućiti sve prednosti ako ne postoji zajednica (može biti u početku i mala!) koja će prihvatiti produkt i dalje raditi na njemu (sjećate li se još Netscape Navigatora?).