Sunteți pe pagina 1din 21

Catedrala si bazarul

By mihaim on March 3rd, 2008 | 12,317 views

Catedrala si Bazarul
de Eric S. Raymond
tradusa de Mihai Moldovanu (mihaim LA tfm PUNCT ro) Disec un proiect free-software de succes, fetchmai , care a fost condus ca test a unor teorii surprin!atoare despre de!vo tarea softu ui su"erate de istoria #inu$u ui% Discut aceste teorii ca doua sti uri de de!vo tare fundamenta diferite, &catedra a' (mode u marii ma)oritati in umea comercia a* vis a vis de &+a!ar' (mode u umii #inu$u ui*% ,rat ca aceste mode e deriva din principii opuse asupra naturii software-de+u""in" tas-% ,poi sustin afirmatia &cu destui ochi, toate +u"-uri e sint reduse' cu ar"umente din e$perienta #inu$u ui, su"ere! ana o"ii productive cu a te sisteme auto-corectante a e a"enti or individua i si conc u!ione! cu o e$p orare a imp icatii or acestui punct de vedere pentru viitoru softu ui%

1% .atedra a si Ba!aru 2% Mai u tre+uie sa treaca 3% /mportanta de a avea uti i!atori 0% 1e ease devreme, re ease des 2% .ind un trandafir nu este un trandafir 3 4% 5opc ient devine 6etchmai 7% 6etchmai se de!vo ta 8% /nca citeva ectii de e 6etchmai 7% 5reconditii necesare pentru sti u Ba!ar 10% .onte$tu socia a 6ree 8oftware 11% 1ecunoasteri 12% De citit in continuare 13% /storia versiuni or si schim+ari or

1. Catedrala si Bazarul
#inu$u este su+versiv% .ine s-ar fi "indit, chiar acum 2 ani, ca un sistem de operare wor dc ass s-ar putea rea i!a ca prin minune datorita hac-in"u uipart-time a citorva mii de deve operi raspinditi pe tot " o+u , uniti numai prin s a+e e e"aturi a e /nternetu ui 3 9u si"ur nu% 5ina cind #inu$u a aparut pe radaru meu a inceputu ui 1773,de)a fusesem imp icat de 10 ani in de!vo tarea :ni$u ui si free-softu ui% ,m fost unu din primii ;<: contri+utors a mi)ocu ani or 80%5usesem o mu t!ime de free software pe internet, de!vo tind sin"ur sau cu a tii mai mu te pro"rame (nethac-, 9macs =. si ;:D, $ ife, etc%* care inca se mai fo osesc% .redeam ca stiam cum se face% #inu$ a rasturnat mu te din cunostinte e me e% ,m propovaduit uti itare e mici, o+tinerea rapida a prototipuri or si pro"ramarea evo utiva din :ni$ ani de !i e% Dar am cre!ut ca e$ista un "rad de comp e$itate critic, de a care este necesara o a+ordare o a+ordare mai centra i!ata% .redeam ca softu ce mai important (sisteme de operare si uti itare e cu adevarat mari cum ar fi 9macs* necesita o constructie tip catedra a, fiind concepute cu "ri)a de un vra)itor sau de "rupuri mici de ma"i in i!o are, +eta fiind ansate cind e vine timpu si nu inainte% 8ti u de de!vo tare a ui #inus >orva d ? re ease devreme si des, de e"a tot ce poti, fii deschis pina a de!ordine ? a fost o surpri!a% ,ici nu e$ista o constructie de catedra a, in iniste shi cu respect ? mai curind, comunitatea #inu$ seamana cu un mare +a!ar a"itat, cu a"ende de ucru si a+ordari diferite (sim+o i!at din p in de siteuri e archive #inu$, care ar inscrie pe oricine* din care ar parea ca un sistem coerent si sta+i ar putea aparea numai printr-o succesiune de miraco e% ,devaru ca acest sti de +a!ar parea sa mear"a si a fost un soc ca inca +ine% 5e masura ce ma orientam, am ucrat nu numai a proiecte individua e, ci am si incercat sa inte e" de ce umea #inu$ nu numai ca nu se de!inte"ra in confu!ie, +a chiar devenea tot mai puternica cu o vite!a "reu de conceput pentru sti u .atedra a% .atre mi) ocu anu ui 1774 am cre!ut ca incep sa inte e"% 8ansa mi-a oferit-o metoda perfecta de a-mi testa teoria, su+ forma unui proiect free-software pe care am putut sa incerc saconduc in sti u Ba!ar% ,sa am si facut ? si a fost un succes semnificativ% /n restu artico u ui voi povesti acest proiect si- voi fo osi pentru a propune citeva aforisme despre de!vo tarea efectiva a free-software% <u am af at toate astea in umea #inu$, dar vom vedea cum umea #inu$ e particu ari!ea!a% Daca am dreptate, va vor a)uta sa inte e"eti e$act ce face comunitatea #inu$ o sursa de soft +un ? si sa deveniti mai productivi%

2. Mailul trebuie sa treaca


Din 1773 m-am ocupat de partea tehnica a unui free-access /85 mic, numit .hester .ounty /nter#in- (../#* in @est .hester, 5ennsy vania (am fost unu din fondatorii ../# si am scris sin"uru nostru software BB8 mu tiuser ? puteti verifica prin te net a oc-e%cci %or"% ,!i suporta aproape 3000 de useri pe 17 inii*% 8erviciu mi-a permis acces pe net 20 de ore din 20 prin inia de 24A a ../# ? practic, mi -a impus ca o necesitate%

,sadar, ma o+isnuisem cu emai instantaneu pe /nternet% Din motive comp e$e, a fost "reu sa fac 8#/5 sa ucre!e intre acasa (snar-%thyrsus%com* si ../#% .ind am reusit in ce e din urma, m-am tre!it ca te net a oc-e periodic pentru mai era enervant% .e vroiam era ca mai u sa vina a snar- astfe incit +iff(1* sa ma anunte cind sosea% 8imp u forward sendmai n-ar fi mers, pentru ca snar- nu e intotdeauna pe net si nu are o adresa statica /5% .e-mi tre+uia era un pro"ram care ar fi a)uns prin cone$iunea mea 8#/5 si mi-ar fi trimis mai u oca % 8tiam ca e$ista asa ceva si ma)oritatea fo oseau un protoco simp u numit 5B5 (5ost Bffice 5rotoco *% 8i aproape si"ur era de)a un server 5B53 inc us in sistemu de operare B8DCB8 a ui oc-e% ,veam nevoie de un uti i!ator 5B53% ,sa ca am mers pe net si am "asit unu % De fapt, am "asit 3 sau 0% ,m fo osit pop-per o vreme, dar ii ipsea ceea ce parea o trasatura evidenta, capacitatea de a modifica adresa a fetched mai astfe incit raspunsu sa functione!e corect% 5ro+ ema eraD presupunind ca cineva pe nume &Eoe' de pe oc-e imi trimiteamai % Daca transferam mai u pe snar- si apoi incercam sa raspund, mai eru meu ar fi incercat sa trimita raspunsu a un &Eoe' ine$istent de pe snar-% 8crierea adrese or de mina Fcci %or" a devenit repede o suferinta serioasa% ,sta ar fi tre+uit si"ur sa faca computeru pentru mine (de fapt, in conformitate cu 16.1123 sectiunea 2%2%18, sendmai ar fi tre+uit s-o faca*% Dar niciunu din uti i!atorii 5B5 e$istenti nu stia cum G 8i asta ne aduce a prima ectieD

Orice treaba buna in domeniul softului incepe prin a rezolva o problema personala a developerului
5oate ca ar fi tre+uit sa fie evident (e prover+ia ca &<ecesitatea este mama inventii or'*, dar prea des deve operii de software isi petrec timpu asteptind p ata unor pro"rame de care nu au nevoie si a care nu tin% Dar asta nu se intimp a in umea #inu$ ? ceea ce ar putea e$p ica de ce ca itatea softu ui produs in aceasta ume este atit de +una% Deci, m-am ansat eu imediat intr-un virte) de! antuit pentru a crea un nou uti i!ator 5B53 care sa concure!e cu cei e$istenti 3 <iciodata G ,m cautat cu "ri)a intre uti itare e 5B5 pe care e aveam a indemina, intre+indu-ma &care e ce mai aproape de ceea ce vreau 3'% 5entru ca D

Pro ramatorii buni stiu ce sa scrie. Cei foarte buni stiu ce sa rescrie !si refoloseasca"
/n timp ce n-am pretentia ca as fi un foarte +un pro"ramator, incerc sa imit unu foarte +un% B trasatura importanta a ce or foarte +uni este enea constructiva% 9i stiu ca nota ma$ima se o+tine prin re!u tate, nu prin efort si e aproape totdeauna mai usor cu acest punct de p ecare decit sa pornesti de a !ero% 3

#inus, de e$emp u, n-a incercat sa scrie #inu$u de a inceput% , inceput prin a refo osi code si idei din Mini$, un B8 :ni$- i-e mic pentru 384% /n ce e din urma, Mini$ code a disparut sau a fost comp et rescris ? dar cit a fost, a fost structura pentru puiu care in fina a devenit #inu$% 5e aceeasi idee, am cautat un uti itar 5B5 e$istent care era suficient de +ine scris, pentru a crea o +a!a% >raditia de source-sharin" din umea :ni$ a fost intotdeauna deschis pentru refo osirea code (de aceea proiectu ;<: a a es :ni$ ca B8 de +a!a, in ciuda re!erve or asupra B8 insusi*% #umea #inu$ a dus aceasta traditie aproape de imita tehno o"icaH are terra+ytes de surse deschise si accesi+i e% ,sa ca ai mai mu te sanse de a "asi un aproape-suficient in umea #inu$ decit oriunde in a ta parte% 8i mie mi-a mers% .u ce "asisem de)a, a doua cautare a dus a un tota de 7 candidate ? fetchpop, pop >art, "et-mai , "wpop, pimp, pop-per , popc, popmai si upop% 5rimu pe care am insta at a fost &fetchpop' de 8eun"-Ion"Bh% ,m fo osit rescrierea headere or si am facut a te im+unatatiri pe care autoru e-a acceptat in varianta 1%7% >otusi, dupa citeva saptamini, am dat peste &popc ient' code de .ar Iarris si am descoperit ca am o pro+ ema% Desi fetchpop avea citeva idei ori"ina e +une (cum ar fi daemon mode-u *, nu mer"ea decit 5B53 si era destu de amator scris (8eun"-Ion" era un pro"ramator destept dar fara e$perienta, ceea ce se vedea in am+e e variante*% .ode-u ui .ar era mai +un, profesionist si so id, dar ii ipseau destu de mu te caracteristici fetchpop importante si "reu de imp ementat (inc usiv ce e pe care e scrisesem eu*% 8a persevere! sau sa schim+ 3 Daca schim+am, renuntam a tot ce facusem de)a pentru o +a!a de imp ementare mai +una% :n motiv practic pentru schim+are era suportu mu tip e-protoco % 5B53 este ce mai fo osit intre protocoa e e de posta, dar nu sin"uru % 6etchpop si ce e a te nu mer"eau pe 5B52, 15B5 sau ,5B5 si eu de)a ma "indeam ca as putea adau"a, poate, /M,5 (/nternet Messa"e ,ccess 5rotoco , ce mai nou si mai puternic protoco de posta* de amoru artei% Dar aveam si un motiv teoretic sa cred ca schim+area in sine ar fi +una, ceva ce am invatat mu t inainte de #inu$%

#Planuieste sa arunci intr$o sin ura directie% oricum o vei face&


(6red Broo-s, &Miticu Bm-#una' capito u 11* , tfe spus, nu inte e"i intr-adevar pro+ ema pina cind nu "asesti o so utie%, doua oara, poate ca vei sti suficient ca s-o re!o vi% ,sa ca daca vrei sa re!o vi ceva, fii pre"atit sa o iei de a capat ce putin o data% 9i +ine (m-am "indit*, schim+ari e a fetchpop au fost prima mea incercare% ,sa ca am schim+at%

Dupa ce am trimis primu set de corecturi a popc ient a .ar Iarris pe 22 iunie 1774, am af at ca e isi pierduse de ceva timp interesu pentru popc ient% .ode-u era putin prafuit, cu +u"-uri minore% ,m avut de facut mu te schim+ari si am ca!ut de acord ca o"ic era sa preiau eu pro"ramu % 6ara sa +a" de seama, proiectu crescuse% <u ma mai "indeam numai a schim+ari minore a un 5B5 c ient e$istent% M-am an"a)at a crearea unuia intre" si imi forfoteau idei in cap care ar fi dus pro+a+i a schim+ari ma)ore% /ntr-o cu tura soft care incura)ea!a code-shearin"-u , asta este modu natura de evo utie a unui proiect% Mer"eam pe ideeaD

'aca ai atitudinea corecta( te vor asi probleme interesante.


Dar atitudinea ui .ar Iarris a fost chiar mai importanta% 9 a inte es caD

)tunci cind iti pierzi interesul pentru un pro ram( ultima ta datorie fata de el este sa$l predai unui succesor competent
6ara sa discutam vreodata despre asta, .ar si eu stiam ca avem scopu comun de a "asi cea mai +una so utie% 8in"ura intre+are pentru fiecare dintre noi era daca eu puteam dovedi ca intra pe miini +une% Bdata ce am facut-o, e a reactionat cu e e"anta si promptitudine% 8per ca si eu voi reactiona a fe cind imi va veni rindu %

*. +mportanta de a avea useri


8i asa am mostenit popc ient% #a fe de important, am mostenit +a!a de useriai popc ient% 9 minunat sa ai useri si nu numai pentru ca demonstrea!a ca satisfaci o nevoie, ca faci ceva +ine% .orect tratati, pot deveni co-deve operi% B a ta forta a traditiei :ni$, si din nou una pe care #inu$u o impin"e a o e$trema fericita, este aceea ca mu ti useri sint si hac-eri ? si pentru ca sursa code este a indemina, ei pot fi hac-eri efectiv% ,sta poate fi e$trem de fo ositor pentru scurtarea timpu ui de de+u""in"% .u putine incura)ari, userii vor "asi pro+ eme, vor su"era so utii si vor a)uta a im+unatatirea code-u ui mu t mai repede decit ai putea fara a)utor%

Sa$ti tratezi userii ca co$developeri este cea mai comoda cale catre ameliorarea rapida a code$ului s,i debu in $ul eficient

5uterea acestui efect poate fi usor su+estimata% /ntr-adevar, cam toti din umea free-softu ui am su+estimat drastic cit de +ine se poate creste cu numaru de useri si contra comp e$itatii sistemu ui pina cind ne-a demonstrat #inu$u ca ne inse am% /ntr-adevar, cred ca partea cea mai desteapta, determinanta, a #inu$u ui nu a fost constructia -erne -u ui, ci mai curind inventarea mode u ui de de!vo tare% .ind mi-am e$primat aceasta opinie in pre!enta ui, a !im+it si a repetat ceva ce spunea frecventD &8int structura o persoana foarte enesa careia ii p ace sa cu ea"a merite e de pe urma unor ucruri pe care de fapt e fac a tii'% #enes ca o vu pe% 8au, cum ar fi putut spune 1o+ert Iein ein, prea enes pentru a rata% 1etrospectiv, un precedent a metode or si succesu ui #inu$u ui poate fi va!ut in de!vo tarea i+rariei ;<: 9macs #isp si arhive or #isp code% 8pre deose+ire de sti u &catedra a' a nuc eu ui 9macs . si a ma)oritatii ce or a te 686 too s, evo utia #isp code a fost f uida si condusa de useri% /dei si prototipuri au fost rescrise frecvent de 3-0 ori inainte de a o+tine o forma fina a sta+i a% 8i co a+orari a$e-asociate, permise de /nternet, au fost frecvente% /ntr-adevar, ce mai +un hac- facut de mine inainte de fetchmai a fost pro+a+i sti u 9macs =., o co a+orare simi ara #inu$u ui prin emai cu a te 3 persoane, dintre care pina asta!i am inti nit numai una (1ichard 8ta man*%, fost un front-end pentru 8..8, 1.8 si, mai tir!iu, .=8 din cadru 9macs care oferea operatii de contro u versiuni or &one-touch'% , evo uat dintr-un sccs%e mode mic, +rut, scris de a tcineva% 8i =. s-a de!vo tat pentru ca, spre deose+ire de 9macs, 9macs #isp code a putut trece prin "eneratii de re easeCtestCim+unatatire foarte repede% (:n efect secundar neasteptat a po iticii 686 de a incerca sa adau"e code in ;5# este ace a ca devine procedura mai "reu pentru 686 sa fo oseasca sti u +a!ar, intrucit cred ca tre+uie sa o+tina copyri"ht pentru fiecare contri+utie individua a din mai mu t de 20 de inii pentru a asi"ura ;5#ed code de pretentii asociate e"ii copyri"htu ui% :serii B8D si M/> J % #icente e consortii or nu au aceasta pro+ ema intrucit ei nu incearca sa re!erve drepturi pe care cineva ar putea sa e ceara%*

-. #Release& devreme si des


1e ease-uri e cit mai devreme si mai des sint o parte esentia a a mode u ui de de!vo tare #inu$% Ma)oritatea deve operi or (inc usiv eu* credeau ca este o po itica proasta pentru proiecte mai mari pentru ca prime e versiuni sint, prin definitie, p ine de +u""uri si nu se doreste e$asperarea useri or% ,ceasta idee a intarit an"a)area in sti u de de!vo tare &catedra a'% Daca o+iectivu fina era ca userii sa "aseasca cit mai putine +u""uri, de ce sanu e$iste un re ease a 4 uni (sau mai rar* si intre re ease-uri sa muncestica un ciine a de+u""in"% ,sa a fost de!vo tat 9macs .% #i+raria #ispnu ? pentru ca erau arhive #isp active in afara contro u ui 686, unde puteai "asi versiuni code noi, de!vo tate independent de cic u de re ease a 9macs% .ea mai importanta dintre acestea, arhiva Bhio 8tate e isp, a anticipatspiritu si mu te din caracteristici e arhive or #inu$ de a!i% Dar putini s-au "indit intr-adevar a ce faceam sau a ce su"era chiar e$istenta ace ei arhive despre pro+ eme e din mode u de de!vo tare &catedra a'

din 686% ,m facut o incercare serioasa prin 1772, sa o+tin mu t din acest code in i+raria oficia a 9macs #isp% ,m intrat intr-o pro+ ema de po itica si n-am avut nici un succes% Dar un an mai tir!iu, cind #inu$u a devenit vi!i+i pe scara ar"a, a devenit c ar ca aco o se petrecea ceva diferit si mu t mai sanatos% 5o itica de de!vo tare deschisa a ui #inus era e$act opusu sti u ui &catedra a'% 8unsite-u si arhive e ts$-11 cresteau, erau ansate distri+utii mu tip e% 8i totu era condus de o frecventa de re ease nemaiau!ita% #inus isi trata userii ca fiind co-deve operi in modu ce mai eficient posi+i D

Release devreme. Release frecvent. Si asculta$ti clientii.


/novatia ui #inus nu a constat atit din idee in sine (ceva asemanator era traditia umii :ni$ de mu t timp*, ci din aducerea ei a o intensitate care se potrivea cu comp e$itatea proiectu ui pe care i de!vo ta% #a inceput nu era neo+isnuit sa dea mai mu t de un nou -erne re ease pe !iG 8i, pentru ca si-a cu tivat +a!a de co-deve operi si uti i!a internetu mai mu t decit oricine a tcineva pentru co a+orari, a functionat% Dar cum a functionat 3 8i era ceva ce puteam face si eu, sau se +a!a pe "eniu unic a ui #inus 3 <u credeam% .u si"uranta, #inus e un hac-er a nai+ii de +un (citi dintre noi ar putea constitui un intre" B8 -erne productie-ca itate 3*% Dar #inu$ nu repre!enta nici un sa t uimitor inainte% #inus nu este (sau ce putin nu inca* un "eniu inovativ de "enu 1ichard 8ta man sau Eames ;os in"% #inus mi se pare mai curind un "eniu a in"inerie, cu un a sase ea simt in evitarea +u"uri or si inii or moarte in de!vo tare si un adevarat ta ent in a "asi ca ea cea mai usoara de a , a B% /ntr-adevar, intre"u desi"n a #inu$u ui de"a)a aceasta ca itate si o" indeste sti u ui #inus esentia conservator si simp ificator% Deci, daca re ease-uri rapide si uti i!area /nternetu ui a ma$im nu erau accidente, ci parti inte"ra e a e sti u ui ui #inus "enia de a "asi ca ea cea mai usoara, ce amp ifica 3 .e pusese e a ucru 3 5usa astfe , intre+area contine raspunsu % #inus isi tinea hac-erCuser-ii stimu ati si rasp atiti permanent ? stimu ati prin perspectiva de a avea o parte a or sa e satisfaca e"o-u , rasp atiti prin urmarirea im+unatatiri or(chiar !i nic* a muncii or% #inus tintea direct a ma$ima i!area numaru ui de persoane-ore ocupate cu de+u""in"u si de!vo tarea, chiar cu posi+i u pret a insta+i itatii in code si +a!a de useri epui!ati in ca!u in care un +u" serios se dovedea nere!o va+i % #inus se comporta ca si cum ar fi cre!ut ceva de "enu D

Cu o baza de beta$testeri si co$developeri suficient de mare( aproape orice problema va fi asita rapid si va avea o solutie evidenta pentru cineva.
8au, mai putin forma , &cu destui ochi, toate +u"uri e sint reduse'% ,sta numesc & e"ea ui #inus' 7

6ormu area mea initia a a fost ca orice pro+ ema &va fi transparenta pentru cineva'% #inus a constatat ca persoana care inte e"e si re!o va o pro+ ema nu este o+ i"atoriu, nici macar de o+icei, cea care o "aseste% 9 spune &.ineva "aseste pro+ ema si a tcineva o inte e"e% 8i sustin ca "asirea ei este cea mai mare provocare'% Dar important este ca totu se intimp a repede% ,ici, cred eu, este diferenta esentia a intre sti uri e &catedra a' si &+a!ar'% /n sti u catedra a, +u"uri e si pro+ eme e de de!vo tare sint inse atoare, ascunse, profunde% 9ste nevoie de uni de cautari a e putini or deve operi pentru a crede ca toate au fost e iminate% De aici rare e re ease-uri si de!ama"irea inevita+i a atunci cind re ease-uri e mu t asteptate nu sint perfecte% /n sti u &+a!ar', pe de a ta parte, presupui ca +u"uri e sint reduse, sau, ce putin, se reduc foarte repede cind sint pre!entate mii or de co-deve operi care asteapta nera+datori fiecare nou re ease% ,sa, apare efectu +enefic a corecturi or frecvente si e mai putin de pierdut daca accidenta iese o "afa% 8i asta este% ,)un"e% Daca & e"ea ui #inus' e fa sa, atunci nici un sistem comp e$ ca -erne u #inu$, modificat de atitea miini, ar fi tre+uit sa se pra+useasca su+ "reutatea unor interactiuni proaste si unor +u"uri nedescoperite, ascunse% 5e de a ta parte, daca e adevarata, e suficienta pentru a e$p ica ipsa re ativa de +u"uri din #inu$% 8i poate n-ar fi tre+uit sa fie asa o surpri!a% 8ocio o"ii au descoperit cu ani in urma ca opinia medie a mase or de o+servatori a fe de e$perte (sau i"norante* e un factor de predictie mai +un decit un o+servator a es a eator%,u numit asta &efectu De phi'% 8e pare ca #inus a aratat ca se ap ica si de+u""in"-u ui unui B8 ? ca efectu De phi e$p ica comp e$itatea de!vo tarii chiar a nive u comp e$itatii unui B8 -erne % /i sint dator ui Eeff Dut-y dut-yFwam%umd%eduK1L pentru ca a aratat ca e"ea ui #inus poate fi reformu ata ca &de+u""in"-u este para e i!a+i '% Eeff o+serva ca desi pentru de+u""in" este necesar ca de+u""erii sa comunice cu un deve oper coordonator, nu este necesara o coordonare semnificativa intre de+u""eri% ,stfe nu mai este atit de "reu si nu mai are costuri atit de mari de mana"ement sa adau"i deve operi% /n practica, pierderea teoretica de eficienta datorata dup icarii muncii de+u""eri or, nu pare sa fie o pro+ ema aproape niciodata in umea #inu$% :n efect a &po iticii re ease-uri or devreme si des' este ace a de a minima i!a aceasta dup icare, propa"ind feed-+ac- rapid cu corecturi e% Broo-s a facut chiar o o+servatie e"ata de a ui EeffD &.ostu tota de intretinere a unui pro"ram ar" fo osit este de o+icei 00M sau mai mu t din costu de!vo tarii ui% 8urprin!ator, acest cost este puternic afectat de numaru de useri% Mai mu ti useri "asesc mai mu te +u"uri'% (conc u!ia mea* Mai mu ti useri "asesc mai mu te +u"uri deoarece userii aduc moduri diferite de uti i!are a sistemu ui% ,cest efect este amp ificat atunci cind userii sint co-deve operi% 6iecare a+ordea!a sarcina de "asire a +u"uri or cu instrumente usor diferite conceptua si ana itic, un un"hi diferit de a+ordare a pro+ emei% &9fectu De phi' pare sa functione!e tocmai datorita acestei variatii% /n conte$tu specific a de+u""in"-u ui, variatia tinde si sa scada dup icarea efortu ui% ,sa ca adau"area de +eta-testeri nu reduce comp e$itatea +u"u ui &ce mai adinc' din 5%B%=%u deve operu ui, dar creste pro+a+i itatea ca une te e cuiva sa se potriveasca pro+ emei astfe incit +u"u este mic pentru acea persoana% 8

#inus ame iorea!a si e so utii e% /n ca!u in care e$ista +u"uri serioase, versiuni e de inu$ astfe incit userii pot a e"e intre u tima varianta dec arata &sta+i a' sau sa se aventure!e pe mar"inea prapastiei cu riscu +u"uri or pentru a o+tine caracteristici noi% ,ceasta tactica nu este pre uata forma de ma)oritatea hac-eri or, dar poate ar tre+ui pre uataH faptu ca am+e e variante sint accesi+i e e face mai atractive pe amindoua%

.. Cind un trandafir nu este un trandafir /


8tudiind comportamentu ui #inus si creind o teorie asupra succesu ui ui, am uat deci!ia constienta de a testa aceasta teorie cu nou meu proiect (si"ur mu t mai simp u si mai putin am+itios*% Dar primu ucru pe care -am facut a fost sa reor"ani!e! si sa simp ific mu t popc ient% /mp ementarea ui .ar Iarris a fost foarte so ida, dar pre!enta un fe de comp e$itate nenecesara, comuna mu tor pro"ramatori .% 9 a tratat code-u ca centru si structuri e de date ca suport pentru code% ,stfe , code-u era frumos, dar desi"nu-u structurii de date era ad-hoc si detu de urit (ce putin dupa standarde e ina te a e acestui +atrin #/85 hac-er*% >otusi am avut si a t scop rescriind, in afara im+unatatirii code-u ui si desi"n-u ui structurii de date% ,ce a de a evo ua a ceva ce inte e"eam comp et% <u mer"e sa fii responsa+i de repararea +u"uri or intr-un pro"ram pe care nu- inte e"i% .am o una a urmat pur si simp u imp icatii e desi"n-u ui de +a!a a ui .ar % 5rima schim+are serioasa pe care am facut-o a fost sa adau" suport /M,5% ,m facut-o reor"ani!ind protoco u intr-un driver "eneric si trei ta+e e de metode (pentru 5B52, 5B53 si /M,5*% ,sta si schim+ari e anterioare i ustrea!a un principiu "enera a care pro"ramatorii ar face +ine sa se "indeasca, mai a es in im+a)e ca ., care norma nu scriu dinamicD

Structuri de date destepte si code prost mer mult mai bine decit invers.
Din nou 6red Broo-s, capito u 11D &,rata-mi KcodeL si ascunde Kdata structuresL, si voi continua sa ma inse % ,rata-mi Kdata structuresL si in mod norma nu voi avea nevoie de KcodeLH va fi evident%N De fapt, e a spus Nf owchartsNsi Nta+ esN% Dar tinind cont de cei 30 de ani de schim+ari termino o"ice si cu tura e, e cam ace asi ucru% /n ace moment ( a inceputu ui septem+rie 1774, dupa 4 saptamini* am inceput sa ma "indesc ca ar te+ui schim+at nume e - a urma urmei, nu mai era doar 5B5 c ient% Dar am e!itat pentru ca nu era nimic a+so ut nou in desi"n% =ersiunea mea de popc ient tre+uia sa-si de!vo te o identitate proprie% 5ro+ ema s-a schim+at radica atunci cind fetchmai a invatat ca ms trimite mai u a portu 8M>5% ,)un" a asta imediat% /nainteD am spus mai sus ca ma hotarisem sa fo osesc acest proiect pentru a-mi testa teoria despre ce facuse corect #inus >orva ds% .um (ati putea intre+a* am facut-o 3 ,stfe D

1e ease devreme si des (aproape niciodata mai rar de 10 !i eH in perioade e de de!vo tare intensa, o data pe !i* ,m marit ista +eta adau"ind pe toti cei care ma contactasera in e"atura cu fetchmai ,m trimis anunturi chat a cei de pe ista +eta a fiecare re ease, incura)ind umea sa participe ,m ascu tat +eta-testerii, intre+indu-i in e"atura cu deci!ii e de desi"n si raspun!ind oricind trimiteau raspunsuri si su"estii

1asp ata acestor masuri simp e a fost imediata% /nca de a inceputu proiectu ui, am primit atentionari de +u"uri de o ca itate pentru care ma)oritatea deve operi or ar fi facut orice, frecvent cu so utii +une atasate% ,m primit critici constructive, mai de a cei carora e-a p acut, su"estii inte i"ente asupra caracteristici or% .eea ce duce a D

'aca iti tratezi beta$testerii ca pe cea mai valoroasa resursa( vor raspunde devenind cea mai valoroasa resursa.
B masura interesanta a succesu ui fetchmai u ui este simp a marime a istei +eta a proiectu ui, prietenii fetchmai % /n timpu scrierii are 207 mem+ri si creste cu 2-3 pe saptamina% ,cum, cind revad ista a sfirsitu ui mai 1777, ista incepe sa scada dintr-un motiv interesant% Mai mu ti mem+ri mi-au cerut sa-i scot de pe ista pentru ca fetchmai mer"e atit de +ine din punctu or de vedere incit nu mai au nevoie sa vada evo utiaG 5oate ca asta este cic u norma de viata a unui proiect matur in sti u +a!ar%

0. Popclient devine 1etc,mail


,devarata rascruce a proiectu ui a fost atunci cind Iarry Iochheiser mi-a trimis code-u ui pentru trimiterea mai u ui a portu 8M>5 a c ientu ui% ,m inte es imediat ca o imp ementare si"ura a acestei caracteristici ar face ca toate ce e a te moduri de trimitere sa fie aproape nesemnificative% Mu te saptamini am facut mici modificari a fetchmai , simtind ca desi"nu interetei era comod, dar nes efuit - nee e"ant si cu prea mu te optiuni aparind peste tot% Bptiuni e de a pune mai u intr-un mai +o$ sau output standard ma deran)au in mod specia , dar nu-mi dadeam seama de ce% .e am inte es cind m-am "indit a forward 8M>5 a fost ca popc ient incercase sa faca prea mu te% 6usese conceput sa fie atit un a"ent de transport pentru mai (M>,* cit si a"ent de distri+utie oca (MD,*% .u forwardu 8M>5, putea sa nu mai fie MD,, ci M>, pur, transmitind mai u a tor pro"rame pentru ivrare oca a, e$act ca sendmai % De ce sa te incurci cu confi"urarea comp e$a a a"entu ui de ivrare a mai u ui sau sa aran)e!i oc--and-append a mai +o$ cind portu 22 e "arantat oricum aproape a orice sistem cu >.5C/5 3 Mai a es atunci cind inseamna ca mai u uat este "arantat sa apara ca mai initiat

10

norma de ce care trimite mai 8M>5, ceea ce vroiam de fapt% 8int mai mu te ectii aici% /n primu rind, ideea acestui 8M>5-forwardin" a fost cea mai mare recompensa independenta pe care am primit-o din incercarea de repetare constienta a metode or ui #inus% :n user mi-a dat o idee minunata - tot ce tre+uia sa fac era sa inte e" consecinte e%

Cel mai bun lucru dupa a avea idei bune este sa recunosti ideile bune ale userilor. 2neori mai tirziu e mai bine.
Destu de interesant, af i destu de repede ca daca esti comp et sincer in ceea ce priveste cit datore!i ce or a ti, toata umea te va trata ca si cum ai fi facut tu a+so ut totu si esti modest in ceea ce priveste "enia itatea ta% 5uteti vedea cit de +ine a mers in ca!u ui #inusG (.ind am pre!entat aceasta ucrare a conferinta 5er din au"ust 1777, #arry @a statea in primu rind% .ind am a)uns a ideea asta, a stri"at intr-un sti revi"orant Nspune, spune, frateGN% >ot pu+ icu a ris pentru ca stiau ca a mers si pentru inventatoru 5er -u ui%* 8i dupa citeva saptamini de conducere a proiectu ui in ace asi sti , am inceput sa primesc aceeasi recunostere nu numai de a useri, ci si de a cei care au af at despre e % ,m pus de-o parte ceva din emai u a aH ma voi uita a e daca vreodata ma voi intre+a daca am facut ceva in viata *H% Dar sint doua ectii mai importante, non-po itice, va a+i e pentru orice fe de desi"n%

Solutiile cele mai izbitoare si novatoare apar din intele erea faptului ca conceptul initial a fost resit.
,m incercat sa re!o v o pro+ ema "resita continuind sa de!vo t popc ient ca o com+inatie M>,CMD, cu tot fe u de moduri de ivrare ciudate% Desi"nu fetchmai u ui tre+uia re"indit de a inceput ca M>, pur, o parte a 8M>5 norma % .ind te ovesti de un !id in de!vo tare - cind te tre!esti in dificu tate "indindu-te ce vei face mai departe - este momentu sa te intre+i daca intre+area e corecta, nu daca raspunsu e corect% 5oate ca pro+ ema tre+uie reformu ata% 9i +ine, mi-am reformu at pro+ ema% 9vident, ce tre+uia facut era (1* transformarea suportu ui de forward 8M>5 intr-un driver "eneric, (2* crearea unui defau t mode si (3* eventua aruncate ce e a te moduri de ivrare, mai a es optiuni e de ivrare a fi e si standard output% ,m e!itat ceva timp in ceea ce priveste (3*, temindu-ma sa nu supar useri vechi de popc ient care depindeau de mecanisme a ternative de ivrare% >eoretic, puteau trece imediat a forward 11

fi e sau a echiva ente non-sendmai pentru a o+tine ceva% 5ractic, tran!itia putea fi pro+ ematica% Dar cind am facut-o, +eneficii e s-au dovedit enorme% 5arti e ce e mai "reoaie din driver code au disparut% .onfi"urarea a devenit mu t mai simp a - "ata cu tatonarea pentru MD, si mai +o$u useru ui, "ata cu "ri)i e e"ate de posi+i itatea B8-u ui de a suporta fi e oc-in"% De asemenea a disparut sin"ura ca e prin care se putea pierde mai % Daca specificai ivrarea a anume fi e si discu se ump ea, mai u se pierdea% <u se poate intimp a cu 8M>5 forwardin" pentru ca 8M>5 istener nu raspunde BA decit daca mesa)u poate fi ivrat sau macar pastrat pentru a fi ivrat mai tir!iu% De asemenea, s-au im+unatatit performante e (n-ai crede ca se vede din prima*% , t +eneficiu semnificativ a fost ca pa"ina-manua a devenit mu t mai simp a% Mai tir!iu, a tre+uit sa permit ivrarea printr-un MD, oca specificat de user pentru a re!o va situatii ciudate e"ate de 8#/5 dinamic% Dar am "asit o metoda mu t mai simp a de re!o vare% Mora a 3 <u e!ita sa arunci caracteristici supraspecia i!ate cind te poti descurca fara e e, fara sa pier!i eficienta% ,ntoine de 8aint-9$upery (pi ot si contructor de avioane cind nu era autor de carti c asice pentru copii* spuneaD

3Perfectiunea !in desi n" este atinsa nu atunci cind nu mai ai ce adau a( ci mai curind atunci cind nu mai ai ce elimina.3
.ind code-u devine atit mai +un cit si mai simp u, atunci stii ca este corect% 8i pe parcurs, fetchmai a do+indit o identitate proprie, diferita de popc ientu initia % 9ra momentu sa se schim+e nume e% <ou desi"n arata mai mu t ca dua de sendmai decit arata vechiu popc ientH am+e e sint M>,, dar in timp ce sendmai impin"e apoi ivrea!a, popc ient tra"e apoi ivrea!a% Deci, dupa 2 uni, -am numit fetchmai %

4. 1etc,mail creste
,veam un desi"n curat si novator, code care mer"ea +ine, stiam asta pentru ca i fo oseam in fiecare !i, si aveam o ista +eta inf oritoare% Mi-am dat seama treptat ca nu mai ucram a un pro"ram persona care ar fi putut fo osi, intimp ator, si a tora% ,veam un pro"ram de care avea intr-adevar nevoie orice hac-er cu :ni$ +o$ si cone$iune de mai 8#/5C555% .u caracteristica de forward 8M>5, a trecut destu de departe in fruntea competitiei ce or care ar putea deveni Ncate"ory -i erN, unu din pro"rame e c asice care isi ocupa ocu atit de +ine incit a ternative e nu numai ca sint discreditate, sint chiar uitate% .red ca n-as putea tinti sau p anui un astfe de re!u tat% >re+uie sa fii tras aco o prin idei atit de puternice incit re!u tate e u terioare par inevita+i e, natura e, chiar predestinate% 8in"ura

12

ca e de a cauta astfe de idei este sa ai foarte mu te idei - sau sa ai capacitatea de a duce idei e a tora dinco o de imite e "indite de cei de a care au pornit% ,ndrew >anen+aum a avut ideea de a construi un :ni$ simp u pentru 384, ca unea ta de invatare% #inus >orva ds a impins conceptia Mini$u ui dinco o de ce cre!use ,ndrew ca ar putea face - si s-a transformat in ceva minunat% #a fe ( a o scara mai mica*, am uat idei a e ui .ar Iarris si Iarry Iochheiser si e-am impins cu putere% <iciunu dintre noi nu a fost Nori"ina N in fe u romantic in care este conceput "eniu % Dar, pe de a ta parte, cea mai mare parte a de!vo tarii in stiinta, in"inerie si soft nu apare de a un "eniu ori"ina , mit a domeniu ui, ci dimpotriva% 1e!u tate e erau totusi de frunte - de fapt, succesu pentru care traieste orice hac-erG 8i asta insemna ca tre+uia sa-mi ridic standarde e chiar mai mu t% 5entru a face fetchmai u atit de +un pe cit vedeam acum ca putea fi, tre+uia sa tin cont nu numai de necesitati e me e, ci sa inc ud si necesitati e ce or din afara cercu ui meu% 8i s-o fac mentinind pro"ramu simp u si ro+ust% 5rima si de departe cea mai importanta trasatura pe care am scris-o dupa ce am inte es asta a fost un suport mu tidrop - a+i itatea de a pre ua mai u de a mai mu te mai +o$es si sa- adun de a un "rup de useri, apoi sa trimit fiecare mai a destinataru individua % ,m hotarit sa adau" acest suport in parte pentru ca unii useri i doreau, dar in principa pentru ca credeam ca voi scapa de +u"uri fortindu-ma sa ma descurc cu orice fe de adresare% 8i asa a fost% 5entru a aran)a 16.822 parsin" mi-a tre+uit foarte mu t timp, nu din cau!a ca parti e sint "re e, ci pentru ca imp ica o "roa!a de amanunte importante si interdependente% Dar si desi"nu acesta s-a dovedit a fi o deci!ie e$ce enta% /ata cum am stiutD

Orice utilitar ar trebui sa fie folositor dupa cum se asteapta de la el( dar unul foarte bun se arata folositor cum nu te$ai fi asteptat
:ti itatea neasteptata pentru mu ti-drop fetchmai este uti i!area iste or de mai pastrind ista, fo osind e$tensia de a ias, pe cone$iunea 8#/55C555 de partea useru ui% ,sta inseamna ca cineva care isi fo osea computeru persona credea ca o cone$iune /85 poate da ista de mai fara continuarea accesu ui a a iasuri e /85-u ui% , ta schim+are importanta ceruta de +eta-testerii mei a fost cea de suport pentru 8-+it M/M9 operation% ,sta era destu de usor de facut pentru ca am avut "ri)a sa pastre! code-u 8-+it curat% <u pentru ca anticipasem cererea, ci mai curind urmind o a ta re"u aD

Cind scrii ate5ay soft5are de orice fel( straduieste$te sa tulburi curentul de date cit mai putin $ si niciodata nu arunca informatii cu e6ceptia cazului in care esti obli at.

13

Daca nu urmam aceasta re"u a, suportu 8-+it M/M9 ar fi fost difici si p in de +u"uri% ,sa, tot ce tre+uia sa fac era sa citesc 16. 1422 si sa adau" o parte foarte mica de header"eneration o"ic% :nii useri europeni m-au pisat sa adau" o optiune de imitare a numaru ui demesa)e uate per sesiune (astfe incit ei sa poata contro a preturi e din rete e e or te efonice scumpe*% M-am opus mu t timp si nici acum nu sint mu tumit cu ideea% Dar daca scrii pentru ume, tre+uie sati ascu ti c ientii - si asta nu se schim+a numai pentru ca nu te p atesc cu +ani%

7. +nca citeva lectii de la 1etc,mail


/nainte de a ne intoarce a pro+ eme "enera e de conceperea soft ui, sint citeva ectii mai specifice de eva uat din e$perienta fetchmai % 8inta$a rc fi e inc ude cuvinte-cheie N!"omotoaseN optiona e, care sint comp et necunoscute sistemu ui de ana i!a "ramatica a% 8inta$a simi ara im+ii en" e!e pe care o permite e mu t mai usor citi+i a decit asocierea c asica cuvint cheie-va oare ce ramine dupa ce e e imini% , inceput ca un e$periment noaptea tir!iu cind am o+servat cite din rc fi e dec arations incepeau sa semene unui mini im+a) imperativ% (>ot din aceasta cau!a am schim+at cuvintu -cheie NserverN, ori"ina din popc ient cu Npo N*% Mi se parea ca fo osirea acestui im+a) imperativ ar fi mai usoara daca as incerca sa- fac mai asemanator cu en" e!a% Desi sint parti!an convins a sco ii de desi"n Nfa- im+a)N, dupa cum se vede a 9macs si I>M# si mu te uti itare pentru +a!e de date, in mod norma nu sint fan a sinta$e or N9n" ish- i-eN% 5ro"ramatorii traditiona i au avut tendinta sa favori!e!e sinta$e de contro foarte precise si compacte si care n-au de oc redundanta% ,sta este o mostenire cu tura a de pe vremea cind resurse e pentru computere erau mici, asa ca fa!e e de ana i!a "ramatica a tre+uiau sa fie cit mai simp e si mai mici consumatoare posi+i % 9n" e!a, cu o redundanta de apro$imativ 20M, parea atunci un mode foarte nepotrivit% Dar nu asta este motivu meu de a nu adopta sinta$e 9n" ish- i-eH -am mentionat numai pentru a- e imina% .u pro"rame mici consumatoare, conci!ia nu ar tre+ui sa fie esentia a% ,sta!i e mai important ca un im+a) sa fie convena+i pentru oameni decit sa consume putin din resurse e computeru ui% >otusi, e$ista motive serioase pentru a fi econom% :nu este costu comp e$itatii fa!ei de ana i!a - nu se doreste sa a)un"a sursa semnificativa de +u"uri si confu!ie pentru user% , tu este faptu ca incercarea de a face o sinta$a a im+a)u ui 9n" ish- i-e necesita o Nen" e!aN intr-o forma foarte proasta, astfe incit asemanarea aparenta cu im+a natura a devine a fe de confu!a cum fusese sinta$a traditiona a% (8e vede intr-o mu time de 0;#-uri si im+a)e de cautare pentru +a!e de date comercia e%* 8inta$a de contro a fetchmai u ui pare sa evite aceste pro+ eme pentru ca domeniu de im+a este foarte mic% <u e nici pe departe un im+a) pentru scopuri "enera eH ceea ce spune simp u

10

nu e foarte comp icat, deci e$ista un potentia mic de confu!ie prin trecerea menta a de a un mic su+set de en" e!a a im+a actua a% .red ca este o ectie mai ar"a aiciD

Cind limba8ul nu se apropie nici pe departe de 9urin $ complete( za,arul sintactic iti poate fi prieten.
, ta ectie este despre securitate prin o+scuritate% :nii useri fetchmai mi-au cerut ca schim+ softu pentru a pune paro e criptate in rc fi e, astfe incit cei care-si +a"a nasu sa nu poata sa e vada intimp ator% <-am facut-o, pentru ca nu creste intr-adevar "radu de protectie% Bricine a primit permisiunea sa-ti citeasca rc fi e va putea ru a fetchmai ca si tine oricum - si daca vrea paro a ta, va putea sa "aseasca ce-i tre+uie pentru decodare in insusi code-u fetchmai % Brice criptare de paro a fetchmai irc ar fi dat un fa s sentiment de securitate ce or care nu se "indesc foarte +ine% 1e"u a "enera a esteD

2n sistem de securitate e atit de si ur pe cit e de secret. 1ereste$te de pseudo$secrete. :. Preconditii necesare pentru stilul bazar
5rime e critici si teste de audienta pentru aceasta ucrare au ridicat intre+ari e"ate de preconditii e de!vo tarii +une in sti +a!ar, inc usiv ca ificarea conducatoru ui de proiect si statusu code-u ui in momentu in care devine pu+ ic si incepe sa incerce constructia unei comunitati de co-deve operi% 9 destu de c ar ca nu se poate construi de a !ero in sti u +a!ar% 8e poate testa, se pot e imina +u"uri e si se poate im+unatati in sti u +a!ar, dar ar fi foarte "reu sa incepi un proiect in sti u +a!ar% #inus n-a incercat% <ici eu% .omunitatea de deve operi in formare are nevoie de ceva ce mer"e si poate fi testat pentru a se )uca% .ind incepi constructia comunitatii, ceea ce tre+uie pre!entat este o promisiune p au!i+i a% 5ro"ramu nu tre+uie sa mear"a prea +ine% 5oate fi aspru, p in de +u"uri, incomp et si prost documentat% .eea ce nu tre+uie ratat este convin"erea potentia i or co-deve operi ca pro"ramu poate evo ua in ceva foarte misto intr-un viitor previ!i+i % #inu$ si fetchmai au iesit amindoua cu desi"n de +a!a puternic si atractiv% Mu ti din cei care s-au "indit a mode u +a!ar pre!entat de mine au considerat acest ucru ca fiiind critic, de unde au a)uns a conc u!ia ca pentru proiect este indispensa+i un conducator cu un "rad mare de intuitie si istetime in desi"n% Dar #inus si-a uat desi"nu de a :ni$% 9u -am uat pe a meu initia de a popmai (desi u terior s-a schim+at mu t, mu t mai mu t proportiona vor+ind decit #inu$u *% Deci tre+uie neaparat ca eaderu sa ai+a un ta ent e$ceptiona sau i poate pre ua de a a tii 3

12

<u cred ca este neaparat necesar sa fie un coordonator capa+i sa cree!e desi"nuri e$ceptiona e, dar este neaparat necesar sa fie in stare sa recunoasca idei e +une in desi"n a e a tora% ,tit proiectu #inu$ cit si fetchmai au evidentiat asta% #inus, in timp ce nu era (dupa cum am discutat* un desi"ner spectacu os, a dovedit un f er puternic in a recunoaste un desi"n +un si a- introduce in -erne u #inu$% 8i eu am spus de)a ca cea mai +una idee de desi"n in fetchmai (8M>5 forwardin"* a venit de a a tcineva% 5rimii cititori ai acestei ucrari m-au audat su"erind ca am tendinta sa su+eva ue! ori"ina itatea desi"nu ui proiecte or in sti u +a!ar pentru ca eu sint foarte ta entat si de-asta tind s-o consider de a sine inte easa% 8-ar putea sa fie ceva adevaratH desi"nu (contrar pro"ramarii sau e iminarii +u"uri or* este cu si"uranta ce mai mare ta ent a meu% Dar pro+ ema in a fi destept si ori"ina in desi"nu softu ui este ca devine un o+icei - incepi ref e$ sa faci ucruri dra"ute si comp icate cind ar tre+ui sa e pastre!i simp e si ro+uste% ,m ratat proiecte din aceasta cau!a, dar am reusit sa no fac cu fetchmai % Deci cred ca proiectu fetchmai a reusit in parte pentru ca mi-am infrint tendinta de a fi desteptH asta este un ar"ument (ce putin* impotriva ideii ca ori"ina itatea desi"nu ui este esentia a pentru proiecte e in sti +a!ar% 8i "inditi-va a #inu$% 5resupunind ca #inus >orva ds incercase sa aduca inovatii fundamenta e in desi"nu B8 in timpu de!vo tariiH pare pro+a+i ca -erne u re!u tat sa fie atit de sta+i si de +un pe cit este 3 8i"ur ca este necesar un anumit nive in desi"n si pro"ramare, dar cred ca toti cei care s-ar "indi serios sa anse!e un astfe de proiect ar depasi imita minima% 5iata interna a comunitatii free-software e$ercita o presiune su+ti a asupra oameni or sa nu se anse!e in eforturi de de!vo tare pe care nu e pot sustine in continuare% 5ina acum se pare ca a mers destu de +ine% 9$ista un a t fe de ta ent, care in mod norma nu e asociat cu de!vo tarea softu ui, pe care i consider a fe de important pentru proiecte e sti +a!ar ca si istetimea in desi"n - si ar putea fi chiar mai important% :n coordonator de proiect tre+uie sa ai+a capacitatea de a comunica cu oamenii +ine% ,r tre+ui sa fie evident% 5entru a construi o comunitate de de!vo tare, tre+uie sa atra"i oamenii, sa-i interese!i in ceea ce faci si sa-i mentii mu tumiti in e"atura cu cantitatea de effort pe care o depun% 1ea i!area tehnica va face mu t in acest scop, dar nu e nici pe departe tot% .ontea!a si persona itatea pe care o proiecte!i% <u este o coincidenta ca #inus e un tip simpatic care ii transforma pe oameni si ii face sa vrea sa- a)ute% <u e o coincidenta ca eu sint un e$trovertit ener"ic caruia-i p ace sa munceasca in mu time si are ceva din pre!enta si instinctu unui comic de marca% 5entru ca mode u +a!ar sa mear"a, a)uta enorm sa ai un cit de mic ta ent sa farmeci oamenii%

1;. Conte6tul social al 1ree Soft5are

14

9 adevarat ce se spuneD ce e mai +une pro"rame incep ca so utie a pro+ eme e persona e, de fiecare !i, a e autoru ui si se raspindesc pentru ca pro+ eme e se dovedesc a fi tipice pentru o mare cate"orie de useri% ,sta ne duce inapoi a re"u a 1, reformu ata intr-un mod mai fo ositor pro+a+i D

Pentru a rezolva o problema interesanta( incepe prin a asi o problema care te intereseaza
,sa a fost cu .ar Iarris si popc ient, asa a fost si cu mine si fetchmai % Dar asta s-a inte es de mu t timp% 5artea interesanta, cea asupra careia #inu$ si fetchmai par sa ne ceara sa ne concentram, este etapa urmatoare - evo utia softu ui in pre!enta unei comunitati mari si active de useri si co-deve operi% /n NMiticu om- unaN, 6red Broo-s a o+servat ca timpu uni pro"ramator nu este in ocui+i H adau"area deve operi or a un proiect intir!iat i face sa intir!ie mai mu t% , ar"umentat prin faptu ca costu comp e$itatii si comunicarii intr-un proiect creste cu patratu numaru ui de deve operi, in timp ce cantitatea de munca creste numai inear% De atunci, aceasta idee a devenit N e"ea ui Broo-sN si e considerata in "enera un adevar% Dar daca e"ea ui Broo-s ar cuprinde tot, #inu$ ar fi fost imposi+i % .itiva ani mai tir!iu, c asicu N5siho o"ia pro"ramarii computere orN de ;era d @ei+er" a furni!at ceea ce putem privi ca corectura vita a a Broo-s% /n discutia ui despre Npro"ramarea nee"oistaN, @ein+er" a constatat ca in ma"a!ine e unde deve operii nu sint posesivi cu codeu or si ii incura)ea!ape a tii sa caute +u"uri si im+unatatiri posi+i e, im+unatatirea apare mu t mai repede decit in a te parti% , e"erea termino o"iei ui @ein+er" a impiedicat cisti"area merite or pe care ana i!a e merita - oricine ar !im+i a "indu ca hac-erii de pe /nternet ar putea fi considerati Nde!interesatiN% Dar cred ca acest ar"ument pare asta!i mai rea ca intotdeauna% /storia :ni$u ui ar fi tre+uit sa ne pre"ateasca pentru ceea ce invatam din #inu$ (si ce am verificat e$perimenta a o scara mai mica copiind de i+erat metode e ui #inus*% ,dica, in timp ce pro"ramarea ramine o activitate esentia so itara, pro"rame e cu adevarat importante apar din an"a)area atentiei si puterii de "indire unor comunitati intre"i% Deve operu care fo oseste numai propriu creier intr-un proiect inchis va ramine in urma deve operu ui care stie sa cree!e un conte$t deschis, evo utiv in care "asirea +u"uri or si im+unatatiri e sint rea i!ate de sute de oameni% Dar umea :ni$ traditiona a a fost impiedicata de mai mu ti factori sa impin"a aceasta a+ordare pina a capat% :nu a fost repre!entat de imitari e e"a e a e diferite or icente, schim+u de secrete si interese comercia e% , tu a fost ace a ca /nternetu nu era suficient de +un inca% /naintea /nternetu ui ieftin, e$istau comunitati "eo"rafice compacte unde cu tura incura)a pro"ramarea Nnee"oistaN a ui @ein+er" si un deve oper putea atra"e cu usurinta o mu time de chi+iti ta entati si co-deve operi% Be #a+s, M/> ,/ #a+, :. Ber-e ey - au devenit casa inovatii or, sint e"endare si inca puternice%

17

#inu$ a fost primu proiect care a facut un efot continuu si constient pentrua fo osi intrea"a ume ca sursa de ta ente% <u cred ca este o coincidenta faptu ca perioada de "estatie a #inu$u ui a coincis cu nasterea @@@-u ui si ca #inu$u si-a terminat copi aria in aceeasi perioada 1773-1770 in care s-a va!ut pornirea industriei /85 si e$p o!ia curentu ui principa de interes in /nternet% #inus a fost primu care a invatat cum sa )oace dupa noi e re"u i pe care e-a facut posi+i e nou /nternet permea+i % /n timp ce un /nternet ieftin era necesar pentru evo utia mode u ui #inu$u ui, cred ca nu era si o conditie suficienta% , t factor vita a fost de!vo tarea sti u ui de conducere si aran)area o+iceiuri or de cooperare care puteau permite deve oper or sa atra"a co-deve operi si sa o+tina pir"hii e ma$ime pentru mediu% Dar ce este sti u de conduceresi ce sint aceste o+iceiuri 3 <u se pot +a!a pe re atii de putere si chiar daca ar putea, conducerea prin o+ i"are nu ar produce re!u tate e pe care e vedem% @ein+er" citea!a auto+io"rafia ui Aropot-in, un anarhist rus din seco u 17, (NMemorii e unui revo utionarN* pentru un efect +un a acest su+iectD N6iind crescut de fami ia unui proprietar de sc avi, am intrat in viata activa, ca toti tinerii din vremea mea, cu mu ta incredere in necesitatea de a comanda, ordona, ocari, pedepsi si a te e asemenea% Dar atunci cind, devreme, a tre+uit sa ma ocup de tre+uri serioase si sa ma descurc cu oameni K i+eriL, si cind fiecare "resea a ar fi dus a consecinte serioase, am inceput sa aprecie! diferenta intre a actiona pe +a!a principiu ui de comanda si discip ina si a actiona pe principiu inte e"erii reciproce% .e anterior functionea!a admira+i intr-o parada mi itara, dar nu va orea!a nimic in viata rea a si scopu poate fi atins numai prin effort serios si interese comune%N /nainte m-am referit a Nefectu De phiN ca o posi+i a e$p icatie pentru e"ea ui #inus% Dar ana o"ii mai puternice, ire!iti+i e, apar cu sisteme adaptative din +io o"ie si economie% #umea #inu$ se comporta, din mu te puncte de vedere, ca o piata i+era sau un sistem eco o"ic, o co ectie de a"enti e"oisti care incearca sa ma$ima i!e!e uti itatea, ceea ce produce o ordine spontana auto-corectanta mai e a+orata si eficienta decit ar putea rea i!a vreo p anificare centra a% ,tunci aici este ocu unde tre+uie cautat Nprincipiu inte e"eriiN% N6unctia uti itateN pe care o ma$ima i!ea!a hac-erii #inu$ nu este c asica economic, dar este intan"i+i u propriei or auto-satisfactii si reputatiei intre hac-eri% (8-ar putea spune ca sint Na truistiN, dar s-ar i"nora faptu ca a truismu insusi este o forma de auto-satisfactie pentru a truist*% .u turi e vo untariatu ui care functionea!a asa nu sint tocmai rareH o a ta din care am facut parte mu t timp este umea fani or science fiction, care, spre deose+ire de umea hac-eri or, recunoaste e$p icit Ne"o+ooN (amp ificarea reputatiei cuiva intre cei a ti fani* ca fiind principa a motivatie a activitatii vo untare% #inus, po!itionindu-se cu succes ca pa!nic a unui proiect in care de!vo tarea este facuta in principa de a tii si hranind interesu pentru proiect pina cind a devenit auto-sustinut, a demonstrat un simt acut a Nprincipiu ui interesu ui comunN a ui Aropot-in% ,ceasta vedere pseudo-economica asupra umii #inu$ ne permite sa vedem cum este ap icata inte e"erea% 5utem privi metoda ui #inus ca o metoda de a crea o piata eficienta in Ne"o+ooN - conectarea cit mai puternica a ipsei de e"oism individua a a hac-eri or pentru a face ucruri difici e, care pot fi rea i!ate numai prin cooperare sustinuta% .u proiectu fetchmai am aratat ( a o scara 18

mai mica* ca metode e ui pot fi dup icate cu re!u tate +une% 5oate ca eu am facut-o un pic mai constient si mai sistematic decit e % Mu ti (mai a es cei care nu au incredere po itic in piete e i+ere* s-ar astepta ca o ume de e"oisti e"ocentristi sa fie fra"mentata, teritoria i!ata, in pierdere, secretoasa si osti a% Dar aceste asteptari sint fa sificate c ar de (numai un e$emp u* varietatea, ca itatea si profun!imea uimitoare a documentarii #inu$% 9 un dat sfint faptu ca pro"ramatorii urasc documentareaH atunci cum se face ca hac-erii #inu$ produc atit de mu ta 3 9vident ca piata i+era a #inu$u ui in umea e"o+oo reuseste mai +ine sa "enere!e un comportament virtuos, directionat spre a tii, decit producatorii de soft comercia cu documentatii e or +ine p atite% ,tit proiectu -erne u ui fetchmai cit si #inu$ arata ca recompensind corespun!ator e"ouri e mu tor a tor hac-eri, un coordonator puternic poate fo osi /nternetu pentru a avea +eneficii e "enerate de mu ti co-deve operi fara ca proiectu sa se pra+useasca in haos% Deci contrapropunerea mea a e"ea ui Broo-s esteD

1iind dat un coordonator de dezvoltare cu un mediu cel putin la fel de bun ca +nternetul si stie sa conduca fara coercitie( multe capete sint inevitabil mai bune decit unul.
.red ca viitoru free software-u ui va apartine tot mai mu t ce or care stiu cum sa )oace )ocu ui #inus, ce or care parasesc catedra a si patrund in +a!ar% ,sta nu inseamna ca vi!iune si ta entu individua nu vor mai contaH mai curind, cred ca imita free software-u ui va apartine ce or care pornesc de a vi!iunea si ta entu individua , apoi e amp ifica prin constructia efectiva a unor comunitati de interese +a!ate pe vo untariat% 8i poate nu numai viitoru free software% <iciun deve oper comercia nu poate e"a a mu timea de ta ente pe care comunitatea #inu$ o poate mo+i i!a in re!o varea unei pro+ eme% 6oarte putini si-ar putea permite doar sa inchirie!e mai mu t de 200 de oameni, citi au contri+uit a fetchmai G 5oate ca in fina cu tura free software va trumfa, nu din cau!a ca cooperarea este corecta din punct de vedere mora sau Nin"radireaN softu ui este "resita din punct de vedere mora (presupunind ca credeti u tima afirmatie, ceea ce nu credem nici eu nici #inus*, ci pur si simp u pentru ca umea comercia a nu poate invin"e o specie evo utiva cu comunitati de freesoftware care poate mo+i i!a a timp "rupuri mu t mai ta entate pentru re!o varea unei pro+ eme%

11. Recunoasteri
,ceasta ucrare a fost im+unatatita datorita conversatii or cu un mare numar de oameni care m-au a)utat s-o corecte!% Mu tumesc in mod specia ui Eeff Dut-y dut-yFwam%umd%eduK2L, care a su"erat formu area Nde+u""in" is para e i!a+ eN si a a)utat a ana i!a ce a aparut din aceasta idee% De asemenea ui <ancy #e+ovit! nancy Funiverse%di"e$%netK3L pentru su"estii e de a- e$p ica

17

pe @ein+er" citind din Aropot-in% .ritici constructive au venit si de a Eoan 9s in"er wom+atF-i iman)aro%en"r%s"i%comK0L si Marty 6ran!martyFnetin-%netK2L de a ista ;enera >echmatrics% 5au 9""ert e""ertFtwinsun%comK4L a o+servat conf ictu dintre ;5# si mode u +a!ar% 8int recunoscator mem+ri or 5#:;, "rupu ui de useri 5hi ade phia #inu$ pentru ca mi-au furni!at testu de audienta pentru prima varianta pu+ ica a acestei ucrari% /n fina , #inus >orva d m-a a)utat prin comentarii si m-a incura)at sustinindu-ma%

'e citit in continuare


,m citat mai mu te +ucati din c asicu Nmiticu om- unaN de 6rederic- 5% Broo-s pentru ca, din mu te puncte de vedere, se pot aduce inca im+unatatiri prin ima"inea redata de e % 1ecomand din toata inima a 22-a editie aniversara de a ,ddison-@es ey (/8B< 0-20183272-7*, care cuprinde si ucrarea din 1784 N6ara " ont de ar"intN% <oua editie e adusa a !i printr-o retrospectiva nepretuita de 20 de ani in care Broo-s recunoaste, pe drept, ca sint citeva )udecati in te$tu ori"ina care nu au suportat testu timpu ui% ,m citit prima data retrospectiva dupa ce aceasta ucrare era aproape "ata, si am fost surprins sa vad ca Broo-s atri+uie practici e sti +a!ar Microsoftu uiG 5siho o"ia pro"ramarii computere or de ;era d 5% @ein+er" (<ew Oor-, =an <ostrand 1einho d 1771* a introdus conceptu , destu de nefericit etichetat, de Ne"o ess pro"rammin"N% .ind nu era nici pe departe primu care inte e"ea superficia itatea conceptu ui Nprincip e of commandN, era pro+a+i primu care recunostea si sustinea ideea in e"atura cu de!vo tarea softu ui% 1ichard 5% ;a+rie , o+servind cu tura :ni$ din perioada pre-#inu$, a sustinut superioritatea unui mode sti +a!ar primitiv in ucrarea #isp din 1787D Nvesti +une, vesti proaste si cum sa cisti"i mu tN% Desi depasit din anumite puncte de vedere, acest eseu este sar+atorit inca intre fanii #isp (inc usiv eu*% :n corespondent mi-a amintit ca sectiunea intitu ata NMai rau e mai +ineN apare aproape ca o anticipare a #inu$u ui% #ucrarea este accesi+i a pe @@@ a httpDCCa pha-+its%ai%mit%eduCartic esC"ood-news%htm K7L 5eop eware de De Marco si #isterD 5roiecte si echipe productive (<ew Oor-H Dorset Iouse, 1787H /8B< 0-732433-02-4* este o nestemata su+apreciata si am fost incintat sa vad ca 6red Broo-s cita din ea in retrospectiva% /n timp ce putin din ce au de spus autorii este ap ica+i direct a #inu$ sau comunitati e free-software, privirea asupra conditii or necesare muncii creative sint actua e si meritorii pentru oricine incearca sa importe din merite e mode u ui +a!ar intr-un conte$t mai comercia % /n fina , tre+uie sa recunosc ca aproape am numit aceasta ucrare N>he .athedra and the ,"oraN, u timu termen fiind "recescu pentru piata deschisa sau oc pu+ ic de inti nire% #ucrari e rodnice Nsisteme a"oriceN de Mar- Mi er si 9ric Dre$ er, descriind proprietati e emer"ente a e sisteme or de computere mar-et- i-e, m-au a)utat sa imi fac o ima"ine c ara despre fenomene ana o"e in cu tura free-softwareatunci cind am dat cu nasu de e e, datorita #inu$u ui, cinci ani mai tir!iu% ,ceste ucrari sint accesi+i e pe @@@ a httpDCCwww%a"orics%comCa"orpapers%htm K8L

20

21

S-ar putea să vă placă și