ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 142
Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 24
Abonament PDF

Avantajele programelor libere

Attila-Mihaly Balazs
Software Panther @ Synapp.io



DIVERSE

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:

  • restricționarea numărului de instanțe ale programului care pot rula la un moment dat;
  • numărul de echipamente pe care se poate instala programul (chiar dacă acestea nu sunt folosite în același timp);
  • de câte ori aveți posibilitatea să reinstalați programul (după reinstalarea sistemului de operare de exemplu);
  • restricționarea numărului de CPU / cantității de memorie pe care le poate folosi programul;
  • interzicerea rulării a testelor de performanță.

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:

  • este programul capabil să facă X?
  • cum pot convinge programul ca să facă X?
  • de ce nu funcționează pașii pe care le fac?
  • Dacă contrastăm cu programele proprietare, opțiunile oferite sunt slabe:
  • putem citi documentația - dar documentațiile au diferite niveluri de corectitudine și prospețime. Codul sursă este documentația adevărată.
  • putem să ne folosim de contractul de suport (dacă avem așa ceva). Pe lângă faptul că este costisitor, există un timp minim de răspuns de o zi. Codul sursă este acolo când ai nevoie de el
  • putem studia programul final (prin reverse engineering) - dacă avem instrumentele și expertiza necesară. De asemenea, acest lucru poate dura un timp lung și este potențial ilegal în multe jurisdicții.

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:

  • mai mulți oameni învață cum să folosească programul (devenind astfel mai valoroși ca angajați).
  • barierele sunt îndepărtate din calea inovatorilor.

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:

  • căutarea pe Internet - programele libere tind să aibă utilizatori mai tehnici care documentează soluțiile pentru problemele întâlnite frecvent. Există o șansă mult mai mare de a găsi soluția prin căutarea pe Internet atunci când se folosesc programe libere.
  • solicitările de ajutor pe listele de discuții / forumuri - programele libere sunt creații ale unor oameni dedicați și entuziaști care vă pot ajuta mult mai bine decât sprijinul elementar (first level support) oferit de furnizorii de software. Ei fac acest lucru în mod gratuit, dar timpul de răspuns poate să varieze.
  • puteți angaja unul din dezvoltatorii în mod part-time sau full-time - în cazul în care există mai mulți dezvoltatori, puteți să alegeți pe cel mai convenabil.
  • puteți angaja o companie care oferă suport pentru produs. Din nou, licența permite concurență în acest spațiu, astfel că în cazul proiectelor populare vor exista mai multe opțiuni.

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:

  • dacă utilizați cod sub licența LGPL și este inclus într-un sistem mai mare (de exemplu, utilizați o bibliotecă licențiată sub LGPL), trebuie doar să furnizați codul sursă pentru modificările efectuate la bibliotecă, nu de la întreg sistem.
  • dacă utilizați cod sub licența GPL, dar acesta nu este vital pentru funcționarea sistemului (este un plugin de exemplu), trebuie doar oferit sursa pentru modificările efectuate la ea, nu de la întregul sistem.
  • dacă utilizați cod sub licența GPL pentru a crea produsul dar partea GPL nu se livrează sub formă binară cu produsul final (de exemplu utilizați GCC pentru a compila codul sursă), nu este nevoie să furnizați codul sursă pentru produsul complet.
  • dacă utilizați cod sub licența GPL intern și expuneți rezultatul prin rețea (aveți un produs SaaS de exemplu), nu este nevoie să furnizați codul sursă. Trebuie doar să oferiți codul sursă persoanelor care execută binarul, care, în acest caz, este chiar compania.

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.

În aceeaşi ediţie ... (24)

▼ TOATE ARTICOLELE ▼

Conferință

NUMĂRUL 142 - Robotics & AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • Yardi
  • P3 group
  • Ing Hubs
  • Colors in projects

INTERVIURI VIDEO