Catedrala și bazarul

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Catedrala și bazarul
Titlul original Catedrala și Bazarul
Eric Steven Raymond.CUT.png
Autor Eric Steven Raymond
Prima ed. original 1997
Tip înţelept
Limba originală Engleză

The Cathedral and the Bazaar (Catedrala și bazarul) este un eseu despre dezvoltarea de software scris de Eric Steven Raymond . Descrie un nou model de dezvoltare, al cărui exemplu cel mai faimos și eficient este kernel-ul Linux în modul de construcție. Lucrarea a fost o inspirație pentru numele unui software gratuit pentru controlul versiunilor , dezvoltat de Canonical Ltd. , numit în mod adecvat bazar pentru spiritul de descentralizare, în care dezvoltatorii sunt încurajați să lucreze împreună. [1]

Istorie

Autorul, pentru a-și verifica ipotezele, decide să utilizeze dezvoltarea colaborativă pentru programul fetchmail , iar în eseu descrie geneza și dezvoltarea proiectului analizând interacțiunile cu alți dezvoltatori și avantajele în comparație cu modelul clasic. [2] Prima prezentare a eseului a avut loc în timpul unei conferințe despre Linux 27 din mai 1997 și ulterior eseul a fost publicat ca parte a cărții omonime. Acest test este, în general, considerat manifestul mișcării software-ului liber .

Conţinut

Eseul descrie în esență două moduri opuse de dezvoltare a software-ului liber:

  • în modelul catedralei programul este realizat de un număr limitat de „experți” care vor scrie codul aproape total izolat. Proiectul are o diviziune ierarhică foarte îngustă și fiecărui dezvoltator îi pasă de micul său fragment de cod. Reviziile se succed relativ încet și dezvoltatorii încearcă să distribuie programe cât mai complete și fără erori. Programul Emacs , GCC și multe alte programe se bazează pe acest model de dezvoltare;
  • în modelul bazar , revizuirea codului sursă în dezvoltare este disponibilă gratuit, utilizatorii pot interacționa cu dezvoltatorii și au abilitățile de a modifica și completa codul. Dezvoltarea este descentralizată și nu există o împărțire strictă a sarcinilor, un programator de bunăvoință poate modifica și integra orice parte a codului. În esență, dezvoltarea este mult mai diluată și mai gratuită, de unde denumirea modelului de bazar. Kernel-ul Linux și multe programe folosesc acest nou model de dezvoltare a calității de membru.

Teza centrală a lui Raymond este că „Având suficienți ochi, toate bug-urile apar”. Această afirmație (pe care Raymond o numește „ Legea lui Linus ”) este, în opinia sa, principalul motiv al succesului proiectului kernel Linux. Înainte de apariția Linux, se credea că fiecare proiect cu o anumită complexitate trebuie să fie gestionat și coordonat în mod adecvat: altfel proiectul s-ar fi prăbușit sub greutatea multor revizuiri și modificări, produse de mai mulți oameni și, prin urmare, adesea incompatibile. Proiectul Linux a reușit să demonstreze că nu numai că acest lucru nu s-a întâmplat, ci că dimpotrivă, pe măsură ce numărul dezvoltatorilor a crescut, s-a îmbunătățit și calitatea și fiabilitatea software-ului.

Modelul catedralei este un model tipic al companiilor comerciale. Acestea nu dezvăluie în mod normal codul sursă, iar o nouă revizuire a programului poate dura ani; dimpotrivă, modelul bazar este un model larg răspândit în mediul software-ului liber, deoarece permite fiecărui utilizator să îndeplinească rolul programului beta tester . Același utilizator poate chiar modifica programul, dacă dorește: acest lucru permite o relație strânsă între utilizatori și programatori, o relație egală care se potrivește bine filosofiei software-ului liber. De asemenea, permite verificarea atentă a codului, ajutând la eliminarea rapidă a majorității erorilor; în schimb, o problemă complexă pentru un software produs cu modul catedrală, unde doar un număr limitat de oameni lucrează la cod.

Modul catedrală este aceeași metodologie de dezvoltare care este utilizată de editorii de enciclopedii comerciale: un număr limitat de experți au grijă să completeze toate intrările. Modul bazar este în schimb cel folosit de Wikipedia : fiecare jucător, dacă doriți, puteți completa și îmbunătăți conținutul și verificați dacă modificările textului sunt executate de utilizatori.

Liniile directoare pentru crearea unui software open source bun

Raymond subliniază 19 „cele mai bune practici” învățate în timpul dezvoltării software-ului, fiecare dintre ele descriind orientările care ar fi utile pentru a urma dezvoltarea software-ului open source: [3]

  1. Fiecare treabă bună de software începe cu frenezia personală a dezvoltatorului.
  2. Programatorii buni știu ce să scrie. Cei mai buni știu ce să rescrieți (și să refolosiți).
  3. "Pregătește-te să arunci unul; oricum va trebui să o faci." (Fred Brooks, „The Mythical Man-Month”, capitolul 11)
  4. Dacă ai atitudinea corectă, te vor găsi probleme interesante.
  5. Când ați pierdut interesul pentru un program, ultima dvs. datorie este să îl transmiteți unui succesor competent.
  6. Tratarea utilizatorilor ca co-dezvoltatori este cea mai bună modalitate de a realiza îmbunătățiri rapide ale codului și depanare eficientă.
  7. Implementați în curând. Distribuiți des. Și ascultați utilizatori.
  8. Odată ce se stabilește o bază suficient de mare de beta-testeri și co-dezvoltatori, fiecare problemă va fi definită rapid și cineva va găsi soluția potrivită.
  9. Mai bine să combinați structura de date inteligentă și codul excepțional decât invers.
  10. Dacă tratați testerii beta ca și cum ar fi cel mai valoros activ, aceștia se vor replica transformându-se cu adevărat în cel mai valoros activ disponibil.
  11. Cel mai bun lucru, după ce ai idei bune, este să recunoști cele care provin de la utilizatori. Uneori sunt cei mai buni.
  12. Adesea, cele mai interesante și inovatoare soluții provin din realizarea faptului că concepția dvs. despre problemă a fost greșită.
  13. „Perfecțiunea (în design) nu se realizează atunci când nu mai este nimic de adăugat, ci atunci când nu mai este nimic de luat”.
  14. Fiecare instrument ar trebui să se dovedească util în modul în care vă așteptați, dar un instrument foarte bine făcut se pretează la utilizări la care nu v-ați aștepta niciodată.
  15. Când scrieți software pentru orice tip de gateway, asigurați-vă că perturbați fluxul de date cât mai puțin posibil - și nu aruncați niciodată date decât dacă destinatarul vă obligă!
  16. Când limbajul folosit nu este nici pe departe completitudinea lui Turing, un pic de zahăr sintactic poate ajuta.
  17. Un sistem de securitate este sigur doar atât timp cât este secret. Mai bine fii atent la pseudo-secrete.
  18. Pentru a rezolva o problemă interesantă, începeți prin a găsi o problemă care vă atrage interesul.
  19. Cu condiția ca coordonatorul de dezvoltare să aibă un mediu cel puțin la fel de fiabil ca Internetul și că știe să joace rolul de lider fără constrângere, mulți șefi funcționează inevitabil mai bine decât unul.

Notă

  1. ^ (RO) Ce este Bazar? Pe bazaar.canonical.com. Adus pe 21 iulie 2014 .
  2. ^ Eric S. Raymond , Catedrala și bazarul , pe apogeonline.com, tradus de Bernardo Parrella, Apogeonline. Adus la 16 februarie 2016 .
  3. ^ Eric Steven Raymond, Catedrala și bazarul , pe it.wikisource.org. Adus pe 21 iulie 2021 .

Elemente conexe

Alte proiecte

linkuri externe