Despre OpenSource

Un articol interesant de Mihai Badici despre OpenSource software pe contributors.ro.

gnu_linux

Din anii ’80 o nouă stafie bântuie planeta, ca să îl parafrazez pe tătuca Marx. Mișcarea GNU, care a generat avalanșa de software OpenSource pe care o avem la dispoziție astăzi, ar fi fost cu siguranță pe placul ideologul comunismului. Totuși, se pare că societateacapitaliștilor veroși îi priește chiar mai mult și a reușit să își găsească un loc solid în lumea IT globală .

Proiectul GNU a fost inițiat de Richard Stallman în 1983, dar în momentul de față miscarea OpenSource a depășit cu mult cadrele acestui proiect. La origine manifestul lui Stallman dădea glas unei frustrări comune în lumea IT-ului: pasionații domeniului doreau să poată avea control asupra software-ului pe care îl rulează, pentru a-l putea analiza, modifica, îmbunătăți. Ori, distribuit în formă de executabil, software-ul este extrem de dificil de analizat ( la nivelul actual, aproape imposibil). Si bineînțeles era și scump, ceea ce în atmosfera de efervescență a anilor ’80 era un impediment major în dezvoltarea sa de către entuziaști.

Totuși, partizanii OpenSource au făcut mereu distincția între “free as in free speech” și “free as in free beer”. Cu alte cuvinte, deși nu ignoră avantajul de a fi gratis, ceea ce e important este accesul la conținut, respectiv accesul la surse. Astfel au apărut  licențele GPL , care permit distribuirea software-ului doar împreună cu codul sursă. Ideea de bază este că software-ul poate fi modificat și distribuit în această formă, cu condiția ca modificările să fie distribuite și ele sub formă de cod sursă.

Oamenii scriind cod disponibil gratuit, asta chiar arată ca o idee comunistă, iar Balmer chiar a declarat la un moment dat că “Linux is a cancer that attaches itself in an intellectual property sense to everything it touches”  ( de fapt licența nu obligă la distribuirea gratuită, însă permițînd redistribuirea, e cam greu să obții mulți bani din vânzarea software-ului). Și totuși…

Secretul succesului constă tocmai în coexistența elementelor opensource cu cele proprietar.

Un producător de routere, de exemplu, ar trebui să scrie un minisistem de operare pentru echipamentele pe care le produce ( și unii chiar aașa procedează). Insă mai ușor este să preia un kernel OpenSource ( de obicei un Linux sau FreeBSD) și să scrie doar părțile specifice hardware-ului pe care îl produc. Respectivul soft poate fi sau nu proprietar, nu prea contează, interesul e să obții un router funcțional în timp scurt și să îl pui pe piață înaintea concurenței. Această abordare funcționează pentru majoritatea produselor hardware; dacă produsul conține un modul care trebuie protejat de ochii concurenței, acesta va fi acționat de un modul software closed source.

Bineînțeles, există scenariul normal, în care banii vin din suportul tehnic. Lucrurile sunt simple; dacă nu vă ocupați cu IT-ul, încercați să porniți un server de mail sau de web mai întâi pe Windows, apoi pe Linux. E probabil că nu veți reuși să le faceți să meargă pe niciunul. Deci va trebui să apelați oricum la cineva. Doar că în cazul în care optați pentru Microsoft, veți plăti consultanță+ licență.

Mișcarea OpenSource este însă mult mai importantă pe un plan mult mai subtil, de aceea asocierea cu paradigma comunistă a fost mai mult o glumă. Lumea academică are nevoie ca de aer de schimbul de informații; de aceea contractul universităților americane cu DARPA s-a transformat atât de repede și atât de fundamental în Internetul de astăzi. Software-ul este o ocupație inginerească în plină dezvoltare, programatorii în devenire trebuie să învețe de la cei mai buni, programatorii buni trebuie să schimbe între ei idei și soluții pentru ca domeniul să progreseze. Nu în ultimul rând, programatorii trebuie să mai dea câte un copy/paste din software-ul anterior, pentru a nu inventa din nou roata la fiecare proiect; pentru a depana cu eficiență trebuie să poată verifica dacă API-ul cu care comunică se comportă într-adevăr ca în manual. Ori pentru asta, e nevoie de acces la surse și de o licențiere care să te asigure că dacă ai copiat o porțiune de soft fără importanță nu ajungi în fața judecătorului. ( vezi recentul proces referitor la Java, în care Google a fost acuzat de Oracle că a preluat din Java câteva linii de cod…. care fuseseră scrise de aceeași persoană, plecată de la Sun la Google. Cum altfel am proceda dacă ar trebui să scriem de doua ori același cod?).

Există deci o nevoie naturală de cât mai mult software OpenSource, și pe cât se poate din cel “călit” pe servere și stații reale, nu din cel scris în laboratorul de informatică.  Sigur că nu e nevoie ca tot software-ul  să fie Open Source, asta chiar ar fi extremism, așa cum sunt toate ideile duse la limită.

Dar există o bază pe care se poate dezvolta; dacă cineva vrea să dezvolte o facilitate anume, nu trebuie să pornească de la zero, ci o poate adăuga la un software existent.

Se pare că totuși nu e nevoie să schimbăm lumea; e suficient doar să facem lucrurile să se întămple.

Leave a Reply

Your email address will not be published. Required fields are marked *