Software cu sursă deschisă
- A nu se confunda cu Freeware (software gratuit).
Programele (software-ul) cu sursă deschisă (engleză open source software) sunt programe (software) dezvoltate de către o comunitate, de către o companie sau de către o persoană și oferite spre folosire sub o licență liberă, care garantează accesul tuturor utilizatorilor la codul-sursă.
- Exemple de programe open source: qBittorrent (client bittorrent), Blender (grafică 3D), Pidgin (client pentru mesagerie instantanee), o mulțime de distribuții GNU/Linux, Mozilla Firefox (browser), OpenOffice.org (suită office) etc.
- Sistemul de operare GNU/Linux este alcătuit integral din programe libere (free software), unele distribuții GNU/Linux fiind gratuite, altele contra cost (comerciale). De asemenea, există și programe (software) contra cost (comerciale) pentru platforma Linux.
Libertăți
modificareSoftware-ul liber e caracterizat de libertatea acordată utilizatorilor săi de a-l utiliza, copia, redistribui, studia, modifica și îmbunătăți. Mai exact, este vorba de următoarele patru forme de libertate pentru utilizatorii săi:
- Libertatea de a utiliza programul, în orice scop (se mai numește „libertatea 0”).
- Libertatea de a studia modul de funcționare a programului, și de a-l adapta nevoilor proprii („libertatea 1”). „Open source” asigură accesul la tot codul-sursă.
- Libertatea de a redistribui copii, în scopul ajutorării aproapelui tău („libertatea 2”).
- Libertatea de a îmbunătăți programul, și de a pune îmbunătățirile la dispoziția publicului, în folosul întregii societăți („libertatea 3”). Necesită accesul la codul-sursă.
Un program (o aplicație) este Software liber dacă întrunește toate aceste libertăți. Astfel, oricine oriunde ar trebui să fie liber să redistribuie copii, modificate sau nu, în mod gratuit sau contra unei sume pentru costurile de desfacere. Aceste libertăți înseamnă (printre altele) că nu este necesar a cere sau a plăti pentru a primi permisiune în acest scop.
Trebuie de asemenea să existe libertatea de a face modificări și de a le folosi atât pentru uz personal cât și cu titlu profesional sau în scop recreativ, fără a fi obligat de a menționa cuiva anume că aceste modificări există, situație care se aplică și atunci când modificările se fac publice.
Libertatea de a utiliza un program presupune că acesta să poată fi folosit de orice persoană sau organizație, pe orice tip de sistem de calcul, pentru orice formă de activitate, și fără a trebui să se comunice aceasta autorului programului sau altor entități juridice.
Libertatea de a redistribui copii trebuie să includă forme binare sau executabile ale programului, ca și codul sursă, atât în versiunile originale cât și în cele modificate. Distribuirea programelor în formă executabilă ușurează instalarea lor. Dacă nu există concret posibilitatea de a produce forma binară sau executabilă pentru un anumit program (anumite limbaje de programare nu suportă acest mod de lucru), aceasta se poate trece cu vederea, cu condiția să se acordă dreptul de a le distribui sub aceste forme în viitor.
Pentru a avea libertatea de a implementa modificări și de a publica versiuni îmbunătățite, este nevoie de accesul la codul-sursă al programului, o condiție necesară pentru a putea califica un program drept „liber”.
Pentru ca aceste libertăți să fie reale, ele trebuie să fie irevocabile atât timp cât utilizatorii nu comit vreo faptă ilegală; dacă autorul programului își rezervă prerogativa de a revoca licența fără a-și întemeia această decizie pe comiterea unei anumite fapte de către utilizator, atunci software-ul nu este liber.
Totuși, există și anumite reguli acceptabile privind distribuirea de Software liber, atunci când aceste reguli nu afectează libertățile centrale. Spre exemplu, copyleft este, pe scurt, regula potrivit căreia prin redistribuirea software-ului nu se permite adăugarea de limitări libertăților fundamentale ale altor utilizatori. Această regulă nu contravine libertăților fundamentale, ci le protejează.
Indiferent de modul în care se obțin programele conform GNU, deci atât cu, cât și fără plată, oricine are dreptul de a le copia, modifica, și chiar de a vinde copii ale acestora la alții.
Aspecte comerciale
modificareSoftware liber nu înseamnă necomercial (gratis). Un program liber trebuie să fie utilizabil și în scop comercial, și să fie disponibil pentru dezvoltare și distribuție comercială. Dezvoltarea comercială a software-ului liber nu mai este ceva neobișnuit, devenind chiar foarte importantă. Un program care nu permite folosirea și modificarea în scopuri comerciale nu poate fi „liber” în acest sens.[1]
Eventualele condiții sub care se pune pe piață o versiune modificată sunt acceptabile, dacă acestea nu anulează libertatea de a lansa versiuni modificate. Clauzele conform cărora „dacă publicați un program în forma X, trebuie să îl publicați și în forma Y” sunt de asemenea acceptabile, sub aceeași condiție. (O asemenea clauză nu împiedică opțiunea de a publica sau nu programul.) Este de asemenea acceptabil ca o licență să stipuleze obligativitatea ca în cazul lansării unei versiuni modificate, la cererea unui autor anterior al programului să i se trimită și acestuia o copie.
În cadrul proiectului GNU se utilizează conceptul de „copyleft” pentru a proteja juridic aceste libertăți pentru public. Există însă și software liber în afara copyleft-ului. Există motive puternice de a utiliza copyleft-ul, dar chiar dacă un program nu face uz de copyleft, el poate fi utilizat în continuare.
Uneori reglementările vamale și sancțiunile comerciale internaționale pot limita libertatea de a distribui în lume copii ale programelor. De obicei autorii de software nu au puterea de a ocoli sau depăși aceste restricții, dar pot, și trebuie să refuze impunerea de restricții utilizatorilor programelor create de ei. În acest mod, restricțiile nu vor afecta activitățile utilizatorilor aflați în afara jurisdicției statelor care le impun.
Discutând despre software-ul liber este indicat să se evite termeni ca „gratuit” sau „pe gratis”, întrucât acești termeni pot conduce la ideea că principala caracteristică a softului liber ar fi prețul, și nu libertatea sa.
Condițiile enumerate în definiția software-ului liber necesită de obicei o analiză atentă pentru a se constata întrunirea lor. Pentru a decide că un anumit program este într-adevăr Software liber, el trebuie să respecte atât litera cât și spiritul definiției. Dacă o licență de utilizare a unui program include restricții excesive ea ar trebui refuzată, chiar dacă acele restricții nu au fost anticipate în enunțarea criteriilor de definire. Uneori prevederile incluse într-o licență conduc la situații ce trebuie analizate minuțios, inclusiv prin discuții cu avocați de specialitate, înainte de a decide dacă acele prevederi sunt acceptabile sau nu.[2]
Controverse și critici aduse denumirii de „Software cu sursă deschisă” („open source”)
modificareÎn câteva articole importante ale sale[3][4], Richard Stallman, „părintele” Mișcării pentru software liber critică tendința de a se folosi termenul „cu sursă deschisă” („open source”) aplicat la software. El afirmă că, în timp ce software liber și „software cu sursă deschisă” înseamnă același lucru, ele diferă prin valorile promovate: „software liber” pune accentul pe libertatea garantată utilizatorilor prin licența programului și ca acea libertate să nu poată fi diminuată, iar „software cu sursă deschisă” accentuează doar avantajele de natură practică, comercială și materială (cum ar fi gratuitatea și disponibilitatea imediată). Un program „liber” este în același timp „cu sursă deschisă”, dar un program „cu sursă deschisă” ar putea permite modificări care fac programul ulterior non-liber. „Software liber” pune accent pe libertatea utilizatorilor, în timp ce „sursa deschisă” pe libertatea programatorului, inclusiv „libertatea” de a restricționa libertățile utilizatorilor.[5]
Stallman recomandă noțiunea de „software liber” pentru a promova ideea morală, chiar în dauna unor considerente de ordin practic.[6]
Open source vs. software liber
modificareTermenul „open source” nu are doar rațiuni doar de ordin lingvistic. In limba engleză, sensul cuvântului „free” este ambiguu, neputându-se preciza dacă „free software” se traduce ca „software liber” sau „software gratuit” - de aceea, se simțea nevoia unui termen diferit, cu înțeles identic. Pornind de la celebrul exemplu al lui Richard Stallman "Think of Free Software as free speech, not free beer" („Gândiți-vă la Free Software ca la libertatea cuvântului, nu ca la bere oferită gratuit”), s-a încetățenit practica de a referi cele două sensuri ale cuvântului englezesc "free" ca "free as in speech" sau "free as in beer".
În practică, termenul „software liber” desemnează software a cărui sursa este accesibila si care poate fi studiat, modificat, îmbunătățit și distribuit (cele 4 libertăți ale software-ului liber), iar termenul „software cu sursă deschisă” („open source”) desemnează software-ul cu sursa accesibila în care deținătorul de copyright oferă drepturile menționate mai sus, dar le poate limita (de exemplu nu permite distribuirea de versiuni modificate a codului sursa).[7]
Există temerea că accentul prea mare pus pe ideea de „libertate” sau „activismul ideologic” al Mișcării pentru software liber îi îndepărtează pe unii parteneri comerciali,[8] în mediul de afaceri preferându-se sublinierea avantajelor practice, aflate sub umbrela „software cu sursă deschisă”.
Note
modificare- ^ Despre vânzarea programelor libere
- ^ Pentru a afla dacă o anumită licență de utilizare este într-adevăr o licență de Software liber, se pot examina listele de licențe GNU.
- ^ Why Open Source Misses the Point of Free Software - GNU Project - Free Software Foundation
- ^ Why “Free Software” is better than “Open Source” - GNU Project - Free Software Foundation
- ^ De ce este mai bună ideea de „software liber” decât „cu sursă deschisă”
- ^ Calculatorul lui Stallman
- ^ „Is there a difference between free software and open source software?”.
- ^ Google nu folosește licența AGPL