proiectele closed source sug (uneori)

sâmbătă, 1 sept. 2012, 13:58

[ studiu de caz. ]

Afirmația de mai sus nu vrea să implice faptul că proiectele open source nu sug (uneori), ci că pur și simplu proiectele closed source sug, adică-s nașpa în diferite feluri și din mai multe puncte de vedere, în funcție de ochiul care privește. De exemplu în opinia lui Richard Stallman [i] „closed source”, sau mai bine zis „non-free/libre software” este sursa răului absolut, pentru căcum să ai tu în casă o unealtă pe care să nu o poți modifica după bunul plac, de parcă oamenii incompetenți tehnic – adică majoritatea utilizatorilor de calculatoare – ar fi interesați de asta. Eu aleg să discut aici un punct de vedere mai relevant și absolut practic, și anume eficiența dezvoltării proiectelor software.

Discutam acum ceva timp despre eficiența proiectării programelor pe calculator. Deși aspectul are o importanță deosebită în ceea ce privește fundamentele ingineriei software, lucrurile se complică foarte mult în viața reală, acolo unde apar probleme de coordonare, deadline-uri, secrete și alți astfel de dragoni mai mult sau mai puțin plăcuți. Cu alte cuvinte gradul de „închidere” al unui proiect și dificultatea de mentenanță a acestuia sunt corelate pozitiv fără doar și poate, demonstrația fiind pe cât de evidentă pe atât de banală. În același timp livrarea pe piață [ii] e unul din factorii care pot face diferența între un proiect de succes și un rateu, dat fiind că clienții au nevoie de produs ieri [iii], nu peste un an. Nucleul Linux e în mod evident cel mai bun exemplu de succes, pentru că organizarea sa e de așa natură încât îmbunătățirile sunt aduse în (sau aproape de) producție în maxim trei luni de la apariția hardware-ului – nu musai pe piață. Dar să lăsăm Linux pe altă dată.

Un alt mare dezavantaj al proiectelor closed-source este că odată ce mor, rămân moarte, spre deosebire de cele open-source care nu mor, ci doar ajung să miroasă ciudat. Probabil că vă întrebați la ce folosește asta; folosește, pentru că un proiect ciudat mirositor poate fi preluat de un alt dezvoltator care mai apoi să-l îmbălsămeze, pe când unul de-a dreptul mort o să rămână așa până îl cumpără următoarea firmă care urmează să dea faliment. De exemplu Funcom, pe care îi admir pentru The Longest Journey și Dreamfall și pe care în același timp îi urăsc pentru Conan și The Secret World, au luat decizii pe termen lung care au dus la concedierea recentă a unora din angajații acestora, fapt ce ar putea pune în pericol dezvoltarea unei continuări pentru TLJ/Dreamfall. Deci ori mi se pare, ori insistența de a scoate bani din MMORPG-uri a fost prostie pură din partea producătorilor cu pricina, pe când eu unul aș fi dat bani pe orice joc din seria The Longest Journey fără să mă gândesc de două ori. Deci ce ziceți, sug Funcom? Eu spun că sug.

Recunosc însă că această intrare ar fi lipsit din jurnalu-mi dacă nu dădeam peste un proiect anume, un eșec catastrofal, o mizerie cum nu se poate. Anul trecut mă plângeam cum că Google sunt neglijenți cu unele din proiectele lor, cel mai notabil fiind probabil Google Reader. Tot acolo dădeam într-o notă de subsol link către un proiect numit HiveMined, care pe vremea aia se lăuda că va fi și va face și pfai, ce fericiți vom fi noi. Inițial pe site-ul proiectului apărea un progress bar care ajunsese la un moment dat pe la 80%, semn că alternativa pentru Google Reader e aproape gata. Ei, uite că nici cu aproape un an mai târziu proiectul cu pricina nu a fost publicat, ba mai mult, nu are nici măcar un zăhărel cu care să ademenească utilizatorii. Dezvoltatorul (unic, se pare) al reader-ului-care-nu-este răspunde la întrebarea „When is it coming?” după cum urmează:

When it’s workable. I am currently a sole developer with a full time job. This is a passion project. Sometimes real work gets in the way * and I have to back off but know this Hive is never far from mind. I will continue to work on it because hell, I want it. *not dead 81%

Argumentul de mai sus e un rahat frumos poleiat. Chiar dacă individul scoate mâine mega-site-ul, nimeni n-o să vrea să îl folosească, pentru că utilizatorii s-au obișnuit deja cu interfața Google Reader modificată anul trecut. Mai mult, impresia că locuitorii Interneților o să aștepte la nesfârșit și o să empatizeze cu faptul că omul lucrează full-time denotă o naivitate uriașă din partea dezvoltatorului, care apropo, n-a mai scris pe blog din Ianuarie, deci merită ignorat cu desăvârșire. Situația era cu totul alta dacă proiectul, completat în proporție de 80% cum se găsește, ar fi fost open-source: se găseau unul-doi-zece-o-sută de indivizi care să hack-uiască la el până să iasă ceva utilizabil. Dar dacă proprietarul software-ului nu dorește, atunci să fie sănătos.

Din fericire am reușit să dau și peste câteva contraexemple reușite: Minecraft-ul suedezului Notch e unul din ele; jocul de Android Super Bit Dash e altul și mai sunt câteva, despre unele chiar am scris pe blog. Există firește oameni care fie sunt programatori suficient de buni încât să scoată un program la lumina Internetului foarte repede, fie au renunțat la providențiala „slujbă full-time” și s-au apucat chiar să facă ceva. Altfel, atunci când lucrezi la un proiect lateral, publicarea acestuia sub o licență open-source – eventual pe un site precum github – nu face decât să-i sporească șansele de supraviețuire, mai ales dacă proiectul în cauză reprezintă un ceva interesant. Orice altă abordare are drept consecință risipirea resurselor, deci e irațională, deci o prostie.

Sigur, dezvoltatorul orgolios mă va certa pentru că îmi permit eu, un neica nimeni, să zic așa ceva, însă asta nu va schimba adevărul dur ca o bâtă sau ascuțit ca un pumnal. Eu nu pot decât să mă bucur că au existat și există pe lumea asta indivizi suficient de inteligenți încât să îl realizeze; de asta avem astăzi Wesnoth, minetest [iv], Firefox sau VLC. În lipsa conceptului de „open source” nu ar fi existat astăzi Apache, PHP, IRC, Gimp, Android sau Ubuntu.

Iar eu trăiesc împăcat cu faptul că folosesc astfel de programe. Nu-mi fac griji că a murit OpenOffice, pentru că există LibreOffice, la fel cum Mate a renăscut din cenușa lui Gnome2, la fel cum multe alte proiecte open-source o să moară și o să reînvie, spre deosebire de proiectele închise, care nu au nici un viitor. Deci sug (uneori).

  1. Despre care am putea presupune că contează ca ideolog al lumii software, el fiind unul din cei care au reușit să imprime avântul necesar apariției unor comunități de dezvoltatori care să producă așa-zisul „free software”. Eu am dubiile mele în privința individului, dar în fine, ce-i al lui e al lui – emacs de exemplu. []
  2. i.e. „time to market” []
  3. Și nu, acesta nu este un sofism. Gândiți-vă în felul următor: eu, client fiind, mă gândesc astăzi că mi-ar folosi chestia X. Eu nu sunt capabil și/sau nu îmi doresc să produc X, însă sunt dispus să plătesc mâine. Ori dacă X nu-i disponibil mâine pe piață iar eu m-am gândit deja că îmi doresc X, atunci se poate spune – cam tras de păr aș zice eu – că potențialii vânzători de X – actualii dezvoltatori – lucrează deja în pierdere. Cu alte cuvinte există întotdeauna un risc asociat „supra-marketării”, care poate genera mai mult „hype” decât este necesar. []
  4. O clonă de Minecraft scrisă, la fel, de un singur om. Și în mod identic, maintainer-ul a ajuns să aibă multe pe cap, moment în care a făcut cel mai deștept lucru cu putință: a depus un efort pentru a reduce core-ul proiectului, restul componentelor fiind scriptate de către oricine dorește să contribuie, sub forma unor mod-uri. []

Comments

  • […] FPS. Diferența principală e dată de faptul că primul, spre deosebire de celelalte două, nu e closed source, astfel că NetHack ține pasul cu tehnologia și în 2012, la fel cum va fi actualizat probabil […]

  • Comentariile sunt dezactivate.