TSM - Avantajele programelor libere

Attila-Mihaly Balazs - Software Panther @ Synapp.io

Folosirea programelor libere (Free/Libre Software) conferă multe avantaje persoanelor și organizațiilor care fac acest lucru, mai ales dacă acești utilizatori sunt tehnici . Acest articol prezintă aceste avantaje și va încerca să alunge câteva dintre miturile format în jurul programelor libere.

Ce este un program liber?

Un program liber este un program (software) care respectă libertățile tale1 (ale utilizatorului). În engleză de obicei se folosește formula "Free/Libre" pentru a sublinia faptul că nu vorbim despre preț ci despre drepturile utilizatorului. Din fericire în română avem cuvinte distincte pentru cele două concepte. Programele libere pot fi vândute comercial - cea ce o să menționăm și mai încolo în articol.

Există patru libertăți esențiale pentru programe, așa cum ele sunt definite de către Free Software Foundation. În ceea ce urmează vom analiza fiecare dintre libertăți și vom vedea de ce sunt ele importante pentru noi ca oameni tehnici.

Libertatea 0

Libertatea de rula programul, în orice scop. Programele libere nu judecă. Programul este doar o unealtă și modul de utilizare este decizia / responsabilitatea persoanei care o folosește. Comparativ, programele proprietare (ne-libere) limitează frecvent cum / când / unde pot fi rulate și nu există o modalitate ușoară de a obține o licență care să permită folosirea lor în orice scop.

Restricțiile care apar frecvent în licențele programelor proprietare includ:

Aceste restricții nu au motive tehnice întemeiate și există doar ca o practică monopolistă care extrage cât mai mulți bani de la utilizatori. Acest lucru distorsionează peisajul de piață. De exemplu: cum poți judeca calitatea unui program de bază de date dacă nimeni nu are voie să publice teste de performanță?

Evident nu există astfel de restricții în cazul programelor libere.

Libertatea 1

Libertatea de a studia modul în care funcționează programul, și libertatea de a schimba ca să funcționeze cum dorește utilizatorul. Accesul la codul sursă este o precondiție pentru aceasta. Codul sursă este "sursa supremă a adevărului" în cazul întrebărilor despre programe. Având codul sursă înseamnă că putem răspunde cu ușurință cele mai frecvente întrebări care apar în timpul utilizării sau integrării programelor:

Mențiune: unii furnizori de programe proprietare oferă acces la (o parte din) codul lor sursă, de obicei sub condiții foarte stricte. Aceasta lucru satisface doar una dintre cerințele pentru un program liber (și probabil și acela doar parțial - furnizorii rareori dau acces la codul sursă complet și instrumentele necesare pentru a recompila sistemul). Aceste programe sunt în continuare ne-libere/proprietare.

Libertatea 2

Libertatea de a distribui copii ca să ajuți pe vecinul tău. Schimbul de programe este benefic pentru toată lumea pe termen lung:

Această prevedere garantează că programele (libere) nu formează un cartel monopolist unde trebuie să plătești mereu taxe (și probabil, cu cât afacerea este mai de succes cu atât vor cere din ce în ce mai mulți bani). O indicație clară a faptului că folosirea programelor proprietare nu este sustenabilă pe termen lung este faptul că Internetul rulează pe programe libere.

Libertatea 3

Libertatea de a distribui copii ale versiunilor modificate de alții. Făcând acest lucru întreaga comunitate poate să beneficieze de modificările tale (la fel cum beneficiezi și tu de modificările altora). Accesul la codul sursă este o precondiție pentru aceasta.

Această libertate asigură că alții pot interveni atunci când există o oportunitate de piață. În cazul în care un program proprietar nu mai este dezvoltat, nu poți face altceva decât să-l abandonezi (sau să-l utilizezi în continuare și să speri că nu se strică). În cazul în care dezvoltatorul original al unui program liber nu mai poate sau nu vrea să continue dezvoltarea, pot interveni alții pentru a oferi sprijin în continuare. Sau chiar mai multe persoane / organizații pot concura în a oferi servicii de asistență și/sau de dezvoltare.

În contrast: în cazul programelor proprietare producătorii încearcă să descurajeze pe alții de la acordarea de sprijin.

Avantaje

După ce am caracterizat cele patru libertăți care definesc programele libere, să discutăm puțin despre avantajele pe care le oferă.

Transparența

Programele libere sunt transparente. Putem verifica fiecare afirmație care se face despre ei. Comparativ, în cazul programelor proprietare suntem nevoiți să ne bazăm pe materialele de marketing și alte surse create sau aprobate de către furnizor.

Programele libere sunt de asemenea transparente cu privire la planurile de viitor, creându-se posibilitatea de a judeca cu ușurință nivelul de activitate și viteza cu care problemele sunt rezolvate sau trăsături noi sunt implementate. În cazul în care proiectul nu mai este menținut, vom putea vedea ușor acest lucru și avem o multitudine de opțiuni pentru a rezolva problema. Comparați acest lucru cu programe proprietare unde producătorul poate elimina un produs din motive (aparent) arbitrare, în mod brusc și fără alte opțiuni decât migrarea pe alte platforme.

Nivel potrivit de sprijin

Cu programele libere există multe opțiuni pentru sprijin (support) în funcție de suma pe care vrem să investim. Posibilitățile obișnuite pentru a obține sprijin pentru programe libere sunt:

Ușor de găsit oameni cu cunoștințe despre proiectul respectiv

Pentru că dezvoltarea se face în public, putem găsi cu ușurință contribuitorii care ar putea să fie interesați de a lucra pentru noi. De asemenea, putem judeca competența lor direct (pe baza contribuțiilor la proiect / comunitate), fără să folosim proxy-uri nesigure, cum ar fi certificările.

Este un efort cu adevărat capitalist

Piețele produc cele mai bune rezultate când informația este disponibilă în mod egal tuturor participanților. Programele libere creează un astfel de mediu. Cuplat cu costul aproape zero de a transporta informația în ziua de azi, avem o evoluție foarte rapidă a proiectelor libere.

Poate să ne scape de întreținere

Este posibil că veți găsi un program (liber) care are 99% din ceea ce ai nevoie, dar cel 1% final lipsește. Fiind un program liber, putem lua codul sursă și să adăugăm acel 1%. Ba chiar mai mult, dacă dai contribuțiile înapoi la proiectul original, ei le vor încorpora și le vor menține. Acest lucru înseamnă că, dacă există schimbări majore (cum ar fi schimbările de API în versiunea 2 al unor biblioteci de exemplu), nu trebuie să-ți petreci timpul cu recrearea modificărilor - probabil altcineva din comunitatea se va ocupa de acest lucru.

Managementul licențelor

Menținerea la curent a licențelor software este greu de făcut. Eșecul în a face acest lucru poate duce la pierdere de productivitate: de ce nu pot folosi software-ul? Ah, Ion îl folosește și avem doar o singură licență! Dar Ion este într-o pauză de cafea și trebuie să-l aștept! De asemenea, poate cauza probleme juridice:sunteți sigur că aveți o licență valabilă pentru fiecare copie a programelor de pe cele 100+ dispozitive din compania dumneavoastră?

Programele libere în schimb înseamnă "termeni de licențiere simpli și siguranța că ești în conformitate cu ele".

Comunitate

Folosind și contribuind la programele libere, devii parte din comunitate. Interacționezi cu oameni interesanți. Colaborezi cu persoane din toată lumea. Ai posibilitatea de a învăța de la cei mai buni.

Alte informații

După ce am prezentat avantajele programelor libere, mai doresc să menționez câteva informații mai puțin cunoscute despre ele:

Nu te obligă să dai codul sursă tuturor

Programul liber cere numai să oferi opțiunea de a accesa codul sursă utilizatorilor (într-un format care poate fi utilizat pentru a reproduce produsul final). Acest lucru înseamnă că nu ești obligat să dai codul sursă oricărei persoane care cere, doar pentru utilizatorilor programului.

De asemenea:

Deși nu este nevoie să furnizați codul sursă în niciunul dintre cazurile de mai sus, totuși este o idee bună de a face acest lucru. Cele mai multe companii nu sunt în afacerea de "software" - folosesc software-ul doar pentru a accelera lucrurile (de exemplu: valoarea principală a unui broker financiar nu este platforma software, ci mai degrabă conexiunile pe care le are cu mulți jucători de pe piață). Furnizarea codului sursă clienților companiei în astfel de cazuri le asigură că nivelul de risc al este redus și ei vor veni în continuare la companie, deoarece l-au ales în primul rând datorită conexiunilor.

Programele libere pot fi vândute

"Free" înseamnă liber, nu gratuit în acest context. Nimic în licențele programelor libere nu vă împiedică să vindeți produsul final.