Nu doar că se vorbeşte din ce în ce mai mult
în lumea informatică despre free software şi open source,
dar programele de acest fel sunt tot mai des folosite în mediile academice,
ştiinţifice, administrative şi comerciale. Cu toate acestea,
domneşte încă o stare de confuzie în ceea ce priveşte termenii
care definesc acest fenomen şi conceptele pe care acesta se bazează.
Această confuzie este - într-un fel - normală, având în vedere
că ne aflăm în faţa unui fenomen fără precedent în
istorie, fenomen având rădăcini şi implicaţii în domenii
diverse: tehnologie, economie, politică, morală, legislaţie.
Premise
Într-o primă etapă a istoriei informatice, calculatoarele
erau livrate împreună cu softul de bază. Dezvoltarea
aplicaţiilor se făcea "în casă" iar incompatibilitatea
sistemelor de operare făcea aproape imposibil un comerţ propriu-zis
cu programe.
Apariţia sistemului Unix a însemnat un moment
epocal. Portabilitatea l-a făcut repede disponibil pe diverse platforme
hardware iar superioritatea tehnică l-a impus ca un standard de facto.
Universităţile l-a adoptat imediat iar programatori entuziaşti
au început să dezvolte unelte software specializate. Apariţia
primelor reţele de mare amploare şi apoi a Internetului (la vreme
aceea apanajul aproape exclusiv al mediilor academice şi
ştiinţifice) a adus şi posibilitatea schimbului liber de
programe. Se distribuia de regulă codul sursă al programelor, pentru
a putea fi compilate pe diverse platforme hardware şi pentru a putea fi
studiate, verificate, adaptate şi eventual dezvoltate în continuare.
Răspândirea la scară largă a
microcomputerelor şi relativa standardizare a acestora în jurul unui
număr limitat de platforme hard/soft (PC-uri DOS/Windows, Apple Macintosh,
staţii Unix) a creat condiţiile dezvoltării explozive a
comerţului cu produse software.
Caracterul oarecum "imaterial" al produselor software
precum şi statutul de "creaţie intelectuală" al acestora le
plasează în mod firesc sub legislaţia drepturilor de autor (copyright).
Totodată, reproducerea facilă impune o modalitate specială de
comercializare: ceea ce se vinde este - în primul rând - dreptul de
utilizare a programului, drept consemnat într-o licenţă nominală.
Printr-un concurs de împrejurări, în ultimii ani
firma Microsoft a dobândit o dominaţie aproape totală pe piaţa
sistemelor de operare şi a programelor de birotică, atacând foarte
agresiv şi pieţe mai specializate. În aceste condiţii,
mişcarea pentru "software open source" (OSS) devine tot mai clar o
alternativă, motiv pentru care este adesea percepută ca o
mişcare anti-Microsoft.
De fapt, mişcarea open source poate fi
considerată unul dintre primele fenomene specifice epocii
post-industriale, în care informaţia şi tot ceea ce implică
utilizarea ei devine valoarea economică fundamentală. În
esenţă, ea reflectă câteva evoluţii şi tendinţe
în aparenţă contradictorii, dintre care merită amintite câteva:
Restructurarea organizaţională prin reducerea
nivelelor ierarhice şi delegarea autorităţii preponderent pe
orizontală (aşa-numitele ierarhii plate) a fost dusă
până la extrem în metodologia de dezvoltare a programelor open source.
Corolarul imediat al acestei organizări îl reprezintă scurtcircuitarea
birocraţiei administrative, tradusă în termeni practici prin dinamica
constituirii spontane a echipelor operative reunind competenţele necesare,
ceea ce a dus la o viteză de reacţie aproape miraculoasă.
Mutarea accentului de pe producţie spre servicii
este o tendinţă evidentă în toate economiile avansate, dar
fenomenul open source este primul care o duce până aproape de
consecinţele ei ultime: produsul în sine (software, în acest caz) tinde
să-şi piardă caracterul de marfă (prin abrogarea
preţului), devenind un soi de infrastructură care urmează
să fie exploatată comercial prin servicii personalizate.
Free software
Termenul a fost popularizat în anii '80 de Richard
Stallman, cercetător la MIT AI Labs. În 1984 acesta lansează
proiectul GNU (acronim recursiv pentru GNU is Not Unix), cu scopul de a
crea un sistem Unix liber. Stallman insistă asupra termenului free,
accentuând asupra sensului liber (nu "gratis": Free speech, not
free beer). Motivaţiile sale sunt în mare parte de ordin etic şi
politic: cunoaşterea înglobată într-un program este similară
cunoaşterii ştiinţifice, deci trebuie diseminată în mod
liber. În caz contrar, consideră Stallman, această cunoaştere se
va acumula în mâinile unui grup restrâns.
Pentru a fi considerat liber, un program
software trebuie să-i acorde utilizatorului următoarele
libertăţi:
Să ruleze programul pentru orice scop doreşte;
Să studieze modul în care acesta funcţionează şi să-l adapteze nevoilor sale.
Să poată să re-distribuie copii ale acestuia.
Să poată să îmbunătăţească programul şi să facă publice
îmbunătăţirile aduse.
Libertăţile (2) şi (4) impun implicit
publicarea surselor programului. Pentru a evita ca un program liber (cum sunt
şi cele create de Stallman: editorul emacs şi compilatorul gcc)
să devină proprietar, grupul constituit în Free Softare Foundation
(FSF - 1985) a conceput o licenţă specială, numită GPL (General
Public License), care conferă utilizatorilor toate
libertăţile din definiţie, dar nu şi permisiunea de a
restricţiona în vreun fel distribuirea copiilor programului original sau a
programelor derivate, care trebuie să poarte de asemenea o
licenţă GPL. Pentru a diferenţia această licenţă
de cele bazate pe restricţiile impuse de copyright, Stallman a inventat
termenul de copyleft.
Open source
În 1997, un grup de creatori de soft liber, dintre
care se remarcă Eric Raymond şi Bruce Perens, a ajuns la concluzia
că mesajul oarecum anti-business promovat de FSF împiedică de fapt
penetrarea softului liber în mediile industriale. Pentru a atenua reţinerile
acestor medii, grupul constituit ca Open Source Initiative (OSI) a popularizat termenul open
source software şi a conceput un model de licenţiere mai liberal
decât GPL în privinţa mixării de soft liber şi soft comercial
(prin derivare sau agregare).
În principiu, definiţia softului open source
include definiţia softului liber. În plus, definiţia prevede dreptul
autorului de a proteja integritatea codului său, cu condiţia ca
variantele modificate să poată fi distribuite sub formă de patch-uri.
De asemenea, definiţia permite ca programele derivate să poată
fi distribuite sub o altă licenţă şi tratează cazul
distribuirii mai multor programe pe acelaşi mediu, specificând explicit
faptul că modul de licenţiere a unui program nu trebuie să impună
restricţii în privinţa licenţelor altor programe. Se evită
astfel "efectul viral" (contaminarea unor programe cu licenţa altora) pe
care-l induce licenţa GPL, se oferă o mai mare libertate în
privinţa mixării de soft liber şi soft proprietar (prin derivare
sau agregare) şi se permite încorporarea de produse open source
în produse proprietare.
Din punct de vedere formal, un produs software este
considerat open source atunci când licenţa sub care este
distribuit este recunoscută de OSI ca fiind compatibilă cu
definiţia.
Licenţe Open Source
Spre deosebire de licenţele comerciale - care au
caracter individual (cel mai adesea nominativ) şi sunt netransmisibile,
având scopul să limiteze drepturile licenţiatului în privinţa
utilizării şi, mai ales, redistribuirii produsului - licenţele
sub care se distribuie produsele open source sunt publice,
adresându-se tuturor utilizatorilor efectivi sau potenţiali ai
respectivului program, şi sunt transmisibile.
În principiu, aceste licenţe au ca scop
garantarea unor libertăţi de utilizare şi distribuire, reversul
acestora constituindu-l tocmai protejarea caracterului liber al
produsului. De obicei, obligaţiile utilizatorului se referă la
păstrarea licenţei în cazul redistribuirii şi la utilizarea
numelui producătorului în reclame.
Alături de licenţele GPL şi LGPL
(versiunea pentru biblioteci), mai multe tipuri de licenţe sunt
considerate conforme definiţiei open source:
Licenţa X a fost concepută
de X Consortium pentru distribuţia sistemului X Window şi este cea
mai liberală dintre toate licenţele open source. Practic,
utilizatorul poate face aproape orice cu produsul astfel licenţiat.
Înrudită cu licenţa X este licenţa BSD
(Berkeley Software Distribution), care prevede în plus obligaţia
ca materialele publicitare referitoare la produs să menţioneze:
"This product includes software developed by the University of
California, Berkeley and its contributors".
Apache Software License este similară cu BSD, dar interzice denumirea Apache
în produsele derivate fără acordul Apache Software Foundation.
Artistic License este licenţa sub care se distribuie Perl.
Licenţa prevede explicit interdicţia vânzării produsului în
sine, dar permite vânzarea în formă agregată cu condiţia ca
produsul agregat să nu fie promovat prin produsul astfel licenţiat.
Netscape Public License (NPL) şi Mozilla Public License
(MPL) au fost ambele elaborate de firma Netscape când a publicat codul
sursă al programului Navigator. Licenţele sunt similare, cu
excepţia faptului că NPL prevede privilegiul firmei Netscape de a
re-licenţia versiunile modificate.
Numeroase firme (Apple, IBM, Sun etc.) sau
organizaţii (MIT, W3C, Python Software Foundation etc.) au dezvoltat
diferite alte licenţe compatibile open source pe baza celor enumerate
mai sus.
Modelul de dezvoltare
Noţiunea open source este asociată
adesea şi cu un model de dezvoltare a produselor software, similar cu cel
folosit de comunitatea Linux şi descris de Eric Raymond în eseul Catedrala şi bazarul. În principiu,
această metodologie se bazează pe contribuţiile voluntare ale
numeroşilor programatori şi utilizatori care iau parte la proiect.
Aceste contribuţii se referă la dezvoltarea propriu-zisă, la
testare, la corectarea erorilor, la propunerea unor noi facilităţi,
la elaborarea documentaţiei, la asistenţa tehnică etc.
În contrast cu sobra metodologie clasică de
dezvoltare a produselor software, bazată pe o ierarhie clară, pe
delimitare netă a competenţelor şi pe o agendă clară
(modelul Catedrală), comunitatea open source pare o veselă
anarhie (bazarul), care pulverizează structurile ("deleagă tot
ce poţi" spune Linus Torvalds) şi descătuşează
creativitatea fiecărui participant la proiect. În această abordare,
"utilizatorul" este partener la dezvoltare, fiind de fapt un beta-tester avizat
şi intransigent. Cel puţin în primele faze, utilizatorii sunt chiar
cei ce dezvoltă programele, interesul lor rezultând în mod firesc de
rezolvarea unor probleme practice proprii (voluntariatul nu este în mod necesar
dezinteresat).
Calitatea remarcabilă a produselor open
source (în ciuda unei aparente "dezordini creatoare") se datorează nu
doar faptului că adesea aceste proiecte reunesc programatori absolut
remarcabili, ci şi unui principiu extrem de simplu, pe care Reymond îl
numeşte Legea lui Linus: dacă sunt destui ochi, orice
scamă (bug) va sări într-unul dintre ei. Totul este deschis,
totul este public, oricine este primit. Echipele se coagulează spontan iar
agenda se bazează pe principul "distribuie devreme, actualizează
des". Se întâmplă uneori ca în aceeaşi zi să se distribuie mai
multe versiuni ale unui produs şi, în mod paradoxal, absenţa
termenelor de predare pare să accelereze dezvoltarea.
Nu toate produsele open source au fost
dezvoltate astfel. În unele cazuri este vorba de proiecte pornite din mediul
academic (de pildă PostgreSQL), în alte cazuri este vorba de proiecte
comerciale devenite publice (de pildă Mozilla). Dar succesul Linux-ului a
fost atât de spectaculos încât metoda sa de dezvoltare s-a impus în întreaga
comunitate.
Modelul comercial
În aparenţă, open source software (OSS)
este un nonsens comercial. Există două întrebări care, din
perspectiva modelului comercial clasic, nu-şi găsesc răspuns:
Aceste paradoxuri au întreţinut multă vreme
o anumită reticenţă a mediului de afaceri, care a preferat
să considere mişcarea open source o comunitate de
visători, dacă nu chiar anarhişti sau chiar comunişti (s-au
formulat chiar asemănări cu mişcarea hippy a anilor '60). În
orice caz, nu un partener de afaceri...
În realitate, fenomenul OSS are rădăcini
economice solide (chiar dacă nu evidente), iar faptul că firme mari
şi clar orientate spre profit (cum sunt IBM, Sun sau Apple) susţin
această mişcare este o probă irefutabilă.
Esenţa filozofiei comerciale a mişcării
open source este simplă atunci când este exprimată potrivit:
să oferi gratuit aparatul de bărbierit şi să vinzi lame.
Pornind de la această metaforă, se pot identifica cu
uşurinţă câteva strategii comerciale fundamentale:
Se furnizează gratuit produsul software, dar se vinde valoare adăugată. Aceasta
poate consta în asamblarea unor piese OSS într-o distribuţie coerentă
(eventual sub un brand propriu), furnizarea de suport tehnic, servicii
post-vânzare, consultanţă etc. Exemplele sunt numeroase, de la Red
Hat până la mici firme "de apartament".
Se furnizează gratuit un produs software pentru a creşte baza de clienţi pentru
produsele software şi hardware proprietare. Câteva exemplele de
notorietate la această categorie sunt Netscape (cu proiectul Mozilla),
Borland (cu Firebird SQL Server), Sun (cu StarOffice, apoi OpenOffice) şi
Apple (cu Darwin).
Vânzarea de diverse accesorii pentru OSS, cum ar fi cărţile de specialitate, hardware
compatibil sau special proiectat, sisteme cu soft open source
preinstalat etc. Printre firmele care practică această strategie se
numără editura OÂÂÂÂÂÂÂReilly, Dell Computer şi mulţi alţii.
Multe firme de hardware preferă să furnizeze în regim open source componentele
software, în speranţa că astfel comunitatea va dezvolta mai repede
şi mai bine drivere, interfeţe şi alte softuri compatibile.
Apple a procedat de multe ori astfel.
Desigur, aici am enumerat doar posibilităţile comerciale oarecum "directe". Dar merită amintite
şi firmele care dezvoltă versiuni specializate ale unor produse open
source (succesul firmei Zope Corporation este remarcabil) şi, desigur,
nenumăratele firme care dezvoltă soluţii informatice
particularizate, folosind şi integrând produse open souce (adesea
împreună cu produse comerciale).
În mod cert, OSS creează piaţă şi,
în plus, contribuie indirect la creşterea concurenţei, obligând
furnizorii de software comercial să amelioreze mereu calitatea propriilor
produse şi să scadă preţurile. De asemenea, aderenţa
programatica la standarde publice a produselor open source creează
o presiune în lumea comercială pentru adoptarea acestora în defavoarea
standardelor proprietare, care limitează libertatea de alegere a
cumpărătorilor.
Clarificări
Public Domain - O confuzie destul de răspândită
echivalează noţiunile de software liber şi software public
domain. Un program este în domeniul public când autorul acestuia a
renunţat în mod deliberat la orice drepturi asupra programului. Acesta
este proprietatea personală a utilizatorului, care poate să facă
ce doreşte cu el, inclusiv să-l re-licenţieze. Un program public domain nu este acoperit de nici o licenţă, spre deosebire de programele open source.
Freeware şi demo - Faptul că un program este gratuit nu
înseamnă că este "liber". Viewer-ele de genul Acrobat Reader,
versiunile limitate ale unor produse comerciale (de pildă WS_FTP),
versiunile demo sau anumite versiuni educaţionale ale programelor
comerciale sunt adesea gratuite dar nu sunt "libere", deoarece nu au surse
publice, nu pot fi modificate şi nu pot fi liber distribuite.
Drepturi de autor - Programele free
software şi open source sunt protejate prin copyright, deci
sunt proprietatea deţinătorului drepturilor de autor. Un program
poate fi distribuit sub licenţe diferite, indiferent dacă acestea
sunt comerciale sau conforme definiţiei open source.
Caracterul
gratuit - Nici o prevedere din
definiţia programelor open source nu interzice vânzarea acestor
programe. Mai mult chiar, dreptul de a vinde aceste programe este făcut
public, indiferent dacă este vorba de programele în sine, de produse
derivate sau produse agregate. (Notă: licenţa în sine nu
este open source, deci nu poate fi modificată). Pe de altă
parte, prin termenii licenţelor open source, autorul nu poate
cere nici o taxă de la cei care redistribuie o versiune a programului
distribuit sub o astfel de licenţă.
Patente software - În mod uzual, protecţia proprietăţii
intelectuale în domeniul programelor pentru calculator este asigurată prin
legislaţia drepturilor de autor (copyright). Copyright-ul nu se
referă la ideile, conceptele şi metodele tehnice care stau la baza
programelor, ci doar la expresia acestora în cadrul programului.
Pentru protecţia ideilor şi conceptelor tehnice care au caracter de
invenţie este aplicabilă legislaţia patentelor. În ultima vreme,
în SUA se aplică şi aşa-numitele patente software,
subiectul unei largi controverse.
Hacker şi cracker - Noţiunea de hacker
este folosită de comunitatea open source pentru a desemna orice
proiectant care contribuie la un proiect open source (acesta este
şi sensul termenului în eseurile lui Raymond). Pentru a evita
conotaţiile negative cu care presa a încărcat acest termen, termenul
utilizat pentru "spărgători" este cracker.