Skip to content

Instantly share code, notes, and snippets.

@starlays
Created April 20, 2012 19:39
Show Gist options
  • Save starlays/2431238 to your computer and use it in GitHub Desktop.
Save starlays/2431238 to your computer and use it in GitHub Desktop.
Principiile Open Source
Principiile Open Source
<freenode - #yet-another-project>
Initial Release, reviewed by <Lazar Florentin>
Acesta este un document ce are ca scop clarificarea conceptului de Open
Source si a normelor de conduita in cadrul proiectelor Open Source.
Revision History
Revision 1.0 16.09.2011 Revised by: Flavius Aspra
-------------------------------------------------------------------------------
Cuprins
1. Ce reprezinta Open Source?
2. Open Source.
2.1 Ce castigi participand la proiectele Open Source.
2.2 Cum sa contribuii.
1. Ce reprezinta Open Source?
Termenul de Open Source descrie practici in producitie si
dezvoltare carepromoveaza accesul la codul sursa a produsului finit.
Unii considera open source ca fiind o filosofie, altii considera ca
este o metodologie pragramtica.
Conceptul de Open Source a luat nastere o data cu aparitia internetului
precum si datorita necesitatii masive de imbunatatire a codului masina.
Permitand accesul la codul sursa s-a realizat o dezvoltare rapida, solida
si imbunatatita, a modelelor de productie. Ulterior a aparut si expresia
"open-source software"care avea sa clarifice problemele legate de dreptul
de autor, licenta, domeniu de activitate si problemele aparute ce priveau
consumatorii.
Modelul open-source presupune unele concepte de participare concomitenta
dar side abordare diferita a problemelor, in productie, spre deosebire de
modelele centralizate de dezvoltare folosite in general in companiile ce
produc soft-uri comerciale. Cateva principii de baza, in practica, folosite
in dezvoltarea software open-source sunt:
* participarea tuturor membrilor la dezvoltarea produsului finit
* interacitunea intre mebrii proiectului
* disponibilitatea codului sursa
* disponibilitatea documentatiei fara niciun cost final pentru consumatori
La ora actuala se incearca implementarea si raspandirea acestui concept
in mai multe domenii de activitate.
2. Open Source.
2.1 Ce castigi participand la proiectele Open Source.
Daca te intrebi: "Ce castig participand la proiectele Open Source sau
intrand in comunitatile Open Source?", raspunsul e unul simplu: Vei castiga
foarte mult. Castigi in primul rand o comunitate, castigi prin a iti
creea relatii reale cuceilalti useri, devii mai bun in domeniu discutand
diversele probleme legate de proiect cu ceilalti useri, majoritatea au
cunostinte in acel domeniu.
Daca esti incepator si intrii intr-un proiect de interes, vei avea avantajul
ca iti vei putea cladi "blocul" de cunostinte pe o fundatie solida. Iti
va fi mai usor sa intelegi conceptele si notiunile noi documentandu-te si
discutand cu cei implicati in proiect.
Daca esti un programator bun si ai facut un "super-proiect", foarte bine pus
la punct, atata timp cat nimeni nu iteractioneaza cu acel "super-proiect" iti
va fi foarte greu sa ajungi la o varianta mai buna, mai performanta, fara
ajutorul utilizatorilor, fara a avea feedback de la ei deoarece cu siguranta
sunt anumite aspecte la care nu te-ai gandit. In general cei ce participa la
proiectele open source sunt oameni pasionati de ceea ce fac, sunt oameni ce
doresc sa invete si sa ii invete pe altii ceea ce stiu. Interactiunea dintre
ultilizatori si cod este atat de puternica in proiectele open source
incat tu ca si dezvoltator a unui proiect de asemenea gen ai posibilitatea
sa poti repara singur eventualele probleme. Avantajul acestui tip de
interactiune este ca atat contributia ta cat si a celorlalti, in proiectele
open source, va ramane "vie" in istoria proiectului.
2.2 Cum sa contribuii.
Comunitatea open-source a luat nastere din dorinta oamenilor, pasionati si
inteligenti, de a da mai departe cunostintele dobandite sub diferite forme.
Aceasta comunitate open-source este formata din mii de proiecte active
care comunica intre ele fie din nevoie fie din interes.
In general comunitatea open source are niste reguli bine stabilite si puse
la punct, au un scop bine determinat si o cultura foarte respectuasa,
deaceea este bine, chiar indicat, ca in momentul in care participi intr-un proiect,
comunitate open-source sa dai dovada de cele patru principii(vezi mai jos)
care ajuta la dezvoltarea comunitatii intr-un mod sanatos.
Cele patru princtipii sunt:
* Politetea
* Respectul
* Increderea
* A sti sa fii umil
In general unor oameni le lispesc fie unu sau mai multe din principii sau
toate . Proiecte open source au intotdeauna o documentatie si o arhiva cu
diferite teme de discutie + alte metode de informare. Este de preferat ca
intotdeauna sa citesti documentatia proiectului, sa intelegi principiile si
regulile comunitatii si sa iti lamurasti neclaritatile cu membrii
proiectului.
Multi au tendinta sa citeasca superficial sau deloc documentatia ori
arhiva ba mai mult sa nu fie atenti la ce li se indica sa faca ca si nou
veniti. Acest lucru, in general, reprezinta o lipsa de respect fata de
comunitate deoarece membrii comunitatii investesc din timpul lor liber si
in mod absolut gratuit in unele probleme ce isi au rezolvarea scrisa fie in
documentatie fie in arhiva.
In genere oamenii comunitatilor sunt rabdatori si ii respecta pe cei noi
veniti, dar asta nu inseamna ca si nou venit sa profiti de aceste lucrui
intr-un mod neadecvat. Mailing list-ul unei comunitati are ca scop in
general discutiile legate de proiectul sau comunitatea respectiva. Inainte de a
posta in mailing list este indicat ca sa cauti in arhiva daca lucrurile ce te
intereseaza s-au mai discutat deja. Nu este indicat sa redeschizi subiecte
deja discutate deoarece cineva te va ruga frumos si te va trimite inapoi la
documentatie/arhiva si vei reusi astfel sa iei inutil din timpul membrilor
comunitatii, timp ce ar putea sa il investeasca in alti oameni ce s-au
documentat si nu au gasit nicio discutie pe baza subiectului care ii
intereseaza. In general documentatia este gandita si structurata de asa
natura incat sa raspunda la intrebarile cele mai frecvente.
In proicetele open source sunt folosite sisteme de versionare ce au ca scop
eliminarea riscului de a pierde istoria proiectului. Contributiile tale
aduse la un anumit proiect trebuie sa fie in general de anvergura mica,
documentate si anuntate pentru a putea fi verificate cu usurinta si rapid
de ceilalti membrii. Un obicei bun este acela de a anunta ceilalti
participanti cu privire la schimbarile aduse, poti face acest lucru prin
e-mail sau alte metode de comunicare stabilite de comun acord cu ceilalti
participanti. In momentul in care esti deja intr-un proiect incearca sa
fii primitor, intelegator cu cei noi deoarece acestia nu stiu regulile
jocului si pot fi intr-un final conntributori veritabili si nu uita ca
si tu ai fost ca ei. Avand un asemnea comportament comunitatea se poate
dezvolta si creste armonios.
In cadrul discutiilor open source intotdeauna se incearca evitarea
contradictiilor cu caracter personal, dar nu si profesional, deoarece
acestea "sug" energia tuturor celor implicati in proiect, energie ce
poate fi investitain cu totul si cu totul altceva util. Incearca sa
iti pastrezi concentrarea pe subiectele cheie ale proiectului si sa
fii cat mai politicos cu cei din comunitate, chiar daca esti mult mai
avansat decat ei si consideri ca vor da ceva inapoi la un moment dat
trebuie sa ii intelegi pentru ca si tu ai fost ca ei. Deci politetea
este un alt factor cheie in succesul comunitatii si al tau. Oamenii
care nu sunt politicosi, cauta tot felul de motive stupide de
contradictie fara a analiza esenta lucrurilor, pe termen lung nu vor
supravietui mult timp in comunitatea respectiva. Consumatorii de
timp(energy creature), vor absorvi toata energia creativa a comunitatii
si vor fi dati afara din comunitate(eliminating the threat).
Pentru a putea evita astfel de situatii este indicat sa nu te implici
emotional, sa fii cat mai impersonal si sa ramaii la fapte. Avand in
vedere cele expuse pana acum trebuie sa ai in vedere ca in momentul in
care vei intra intr-o comunitate vei fi foarte atent evaluat. Vei vedea
ca in momentul in care vor veni oameni care consuma energia comunitatii
si sunt pusi pe sotii si cearta vor fi ignorati de intreaga comunitate.
Am expus pana acum metodele prin care ai putea gresi si risca sa fii dat
afara din comunitate. Inca un aspect foarte importatn prin care poti consuma
energie este acela de a nu citi cu atentie documentatia si de a nu intelege
documentatia.Pentru a avea succes in comunitate ar trebui sa te documentezi,
sa intelegi conceptele noi, sa iti clarifici aceste concepte cu cei din
comunitate daca nu reusesti sa intelegi singur, sa explorezi posibilitatile
si cel mai important sa testezi intotdeauana inainte de a intreba.
Ideile exprimate in acest document imi apartin intr-o proportie foarte mica.
Am incercat sa relatez din invataturile celor mai avansati ca mine si sper
sa fi perceput si inteles ideile expuse.
Surse:
1. How Open Source Projects Survive Poisonous People
[http://www.youtube.com/watch?v=ZSFDm3UYkeE&feature=relmfu]
2. What's In It for Me? Benefits from Open Sourcing Code
[http://www.youtube.com/watch?v=ZtYJoatnHb8&feature=relmfu]
3. Open source
[http://en.wikipedia.org/wiki/Open_Source]
4. How to ask smart questions
[http://catb.org/~esr/faqs/smart-questions.html]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment