Welcome, Guest. Please login or register.
+  Linux Soft Forum
|-+  Cercetează» Software» Mărimea proiectelor Open Source
[Picture 161] [Picture 160] [Picture 159]
Username:
Password:
 
Pages: [1] 2   Go Down
  Print  
Author Topic: Mărimea proiectelor Open Source  (Read 2217 times)
0 Members and 1 Guest are viewing this topic.
oblio
Admini
**


WWW
« on: December 18, 2006, 12:21:08 AM »

Acum câteva luni:
Am intrat de curiozitate pe scan.coverity.com, ca sa vad niste statistici legate de bugurile din Linux (kernel). Cu ocazia asta, am vazut si cam cat de mari sunt proiectele opensource.
Pentru cei care nu stiu, Coverity are niste suite de teste automatizate prin care incearca sa gaseasca tipurile cele mai comune de buguri. Lista de acolo nu cuprinde toate bugurile din soft-ul respectiv, ci doar cele mai evidente. Oricum, cred ca e un reper acceptabil pentru comparatie - pe principiul: daca exista buguri mici, vor exista si buguri mari

Cum nu pot copia tabelul, o sa prezint cele mai interesante chestii din el:

Gnome - 1,109,039 linii de cod - 0.274 buguri per mie linii de cod
KDE - 3,867,879 linii de cod - 0.011 buguri per mie linii de cod

KDE e enorm! Sunt sanse ca un release KDE sa contina mai mult soft totusi, dar faptul ca are atat de multe linii de cod, si totusi atat de putine buguri aparente ma duce cu gandul la faptul ca se folosesc mult generatoare de cod (KDevelop, QtDesigner & alte chestii la fel). Altfel, ar insemna ca au hackeri mult mai competenti

------------------------------------------------------------------------------------------------
FreeBSD - 1,582,166 linii de cod - 0.386 buguri per mie linii de cod
Linux-2.6 - 3,209,939 linii de cod - 0.205 buguri per mie linii de cod

Presupun ca la FreeBSD au luat doar kernelul, pentru ca altfel nu avea cum sa aiba atat de putine linii de cod. Deci comparatia e rezonabila. Linux e mult mai mare - mai multe drivere, sisteme de fisiere, etc - dar se pare ca are mai putin buguri totusi 

------------------------------------------------------------------------------------------------
Perl - 487,704 linii de cod - 0.004 buguri per mie linii de cod
PHP - 475,696 linii de cod - 0.095 buguri per mie linii de cod

Competita e stransa. Pun si Python doar pentru compararea marimii, la Python se pare ca abia au inceput testele.

Python - 279,707 linii de cod.

------------------------------------------------------------------------------------------------
Ar mai fi multe chestii interesante, dar puteti vedea si voi tabelul. Totusi, o chestie iese in evidenta:

OpenOffice.org - 5,045,117 linii de cod - 0.285 buguri per mie linii de cod

OO.org chiar e imens! Un munte de bloat...

------------------------------------------------------------------------------------------------
Tineti minte ca suita aceasta de teste e automatizata, si surprinde doar anumite tipuri de buguri (probabil cele mai evidente). De asemenea, anumite proiecte au inclus multe parti "aditionale" pentru testare, iar rezultatul e surprinzator:

NetBSD - 5,258,294 linii de cod - 0.313 buguri per mie linii de cod

NetBSD are inclus si X-ul, si OpenSSL, si multe alte chestii, nu doar kernelul (si, eventual, sistemul de baza).

Oricum, a fost interesant de urmarit, sper sa se inscrie si alte proiecte.

http://scan.coverity.com/




În prezent lucrurile s-au mai schimbat un pic, se pare că unele proiecte s-au retras sau au modificat pachetele introduse (mai exact, ce anume din pachete era analizat). Asta deoarece Gnome are în prezent ~750.000 LOC, şi nu avea cum să slăbească 200.000 de linii de cod aşa repede, doar dacă nu mai erau luate în considerare nişte programe din el.
« Last Edit: December 18, 2006, 12:27:00 AM by oblio » Logged

Distribuţie: ubuntu | Localitate: Bucureşti | Vārstă: 24

Oh! Everything has a point, and if it doesn't, then there's a point to it.

Oblio's
classicmanpro
Veteran
**

Experientia docet!


WWW
« Reply #1 on: December 18, 2006, 12:47:49 AM »

Quote
Īn prezent lucrurile s-au mai schimbat un pic, se pare că unele proiecte s-au retras sau au modificat pachetele introduse (mai exact, ce anume din pachete era analizat). Asta deoarece Gnome are īn prezent ~750.000 LOC, şi nu avea cum să slăbească 200.000 de linii de cod aşa repede, doar dacă nu mai erau luate īn considerare nişte programe din el.

Din cate stiu eu programatorii GNU lucreaza in vim sau emacs iar liniile lor de cod nu depasesc 79 de caractere asa ca este posibil sa se fi reformatat codul si ceea ce pana acum se intindea pe mai multe linii acum sa ocupe doar o line. Poate ca asa a slabit GNOME  ;;) Ha ha
« Last Edit: December 18, 2006, 12:51:20 AM by classicmanpro » Logged

aramdune
Guest
« Reply #2 on: December 18, 2006, 10:34:57 AM »

Windows Server 2003 are 39,000,000 linii de cod. Windows CE e opensource si are vreo ~2,000,000 de linii de cod. Ar fi interesant un test pe Windows CE.
Logged
ae
Membru
*


« Reply #3 on: December 19, 2006, 01:55:16 AM »

Quote
Windows Server 2003 are 39,000,000 linii de cod. Windows CE e opensource si are vreo ~2,000,000 de linii de cod. Ar fi interesant un test pe Windows CE.

Cum s-au aflat nr de linii cod ale Windowsului 2003? Chiar, cum ai putea sa afli nr. de linii cod al unui program ce nu-ti pune la dispozitie sursa? Inteleg sa poti sa urmaresti sirul executiei (ceva de genul strace), dar nr de linii cod?

Cu atat mai greu testarea ...
Logged

Quis custodiet custodes?
aramdune
Guest
« Reply #4 on: December 19, 2006, 10:42:23 AM »

Windows e closed source doar pentru userii obisnuiti. Pentru userii neobisnuiti nu e. In plus ca mai poti deveni si ca persoana individuala ms. certified prof. Plus ca poti sa estimezi cu precizie de ~5% si daca nu ai codul sursa.

Oricum m-ar interesa foarte mult teste pe Windows CE.
« Last Edit: December 19, 2006, 10:43:32 AM by aramdune » Logged
hydrarulz
Veteran
**

warning flame-war


WWW
« Reply #5 on: December 20, 2006, 12:27:49 AM »

Smiley programul la care lucrez eu are peste 6milioane de linii de cod.
nu stiu marimea exacta
Logged

oblio
Admini
**


WWW
« Reply #6 on: December 20, 2006, 12:32:04 AM »

Ar fi util să adaugi: "la serviciu". Altfel crede lumea că ai scris tu 6 milioane de linii de cod :)) Mor de rās
Logged

Distribuţie: ubuntu | Localitate: Bucureşti | Vārstă: 24

Oh! Everything has a point, and if it doesn't, then there's a point to it.

Oblio's
hydrarulz
Veteran
**

warning flame-war


WWW
« Reply #7 on: December 20, 2006, 11:29:27 AM »

da, ai dreptate. iti dai seama cat ar dura sa scrie o singura persoana atat.
mi s-a parut interesant articolul:
http://en.wikipedia.org/wiki/Source_lines_of_code
spune cate linii de cod au unele sisteme de operare.
cat de mare poate sa fie debian!

edit:
cristiv, cat de mare este debuggerul tau?
si crezi ca ai putea sa-l compilezi si pe solaris?
« Last Edit: December 20, 2006, 11:42:07 AM by hydrarulz » Logged

aramdune
Guest
« Reply #8 on: December 20, 2006, 11:51:45 AM »

Este interesant ca noi folosim si ne plangem de calitatea multor programe care se invart doar pe la ~100kLOC si nu incearca nimeni sa scrie altele sau sa faca altele mai bune (valknut?) in schimb sunt mii si mii de programe comerciale enterprise cu aplicatie foarte limitata (custom pentru un anumit client) care se invart pe la milioane LOC.
Logged
pghoratiu
Expert
***


« Reply #9 on: December 20, 2006, 01:03:49 PM »

Smiley programul la care lucrez eu are peste 6milioane de linii de cod.
nu stiu marimea exacta
Asta nu prea e motiv de mandrie.
Daca spuneai ceva de genul programul meu foloseste 10 linii de cod si librariile folosite in compilare au 2 mil linii de cod a-si fi zis oau Smiley
Logged
ae
Membru
*


« Reply #10 on: December 20, 2006, 05:26:45 PM »

Quote
Windows e closed source doar pentru userii obisnuiti. Pentru userii neobisnuiti nu e. In plus ca mai poti deveni si ca persoana individuala ms. certified prof.

Eu, sincer sa fiu, nu prea le am deloc cu Windows-ul. N-am auzit sa-si fi facut public codul sursa (si aici ma refer in primul rand la nucleu, Office si de-alde de-astea -- nu la notepad sau minesweeper). Ce stiu eu e ca 'userii neobisnuiti' au (deplin) acces, printre altele, la API'ul lor si de-alde de-asta(MSDN..) Poti sa-mi dai un link catre un loc ce m-ar lamuri sau sa elaborezi?

Quote
Plus ca poti sa estimezi cu precizie de ~5% si daca nu ai codul sursa.
Din cate am citit in wikipedia, in linkul dat de hydrarulz, si din putinul pe care-l stiu si eu rockdover, imi vine greu sa cred ca tu te referi la liniile de cod 'fizice'. Daca da, cum e posibil? Vad ca-i batut in cuie 5% asta, ma mira ... Smiley
Logged

Quis custodiet custodes?
hydrarulz
Veteran
**

warning flame-war


WWW
« Reply #11 on: December 20, 2006, 05:39:11 PM »

in exemplul pe care il dau ei acolo pot gresi cu 75% numarul de linii de cod.

edit:
cred ca numarul de linii de cod este doar un indice de marketing, chiar si pentru proiectele open-source. sa stie oamenii aproximativ cat s-a lucrat. si char daca numarul acesta nu reprezinta intotdeauna cantitatea de efort depusa pot sa arate sponsorilor sau oricui ca au crescut programul cu 200k linii cod. si asta inseamna ceva.
uneori modificarile nu se observa atat de usor in folosirea programului. dar ele exista

later edit:
mai exista bineinteles si rezolvarea de buguri care poate sa reprezinte si 30% din timpul alocat implementarii. asta nu se poate numara in linii de cod, dar nici nu te pot mandri cu asa ceva
« Last Edit: December 20, 2006, 05:51:09 PM by hydrarulz » Logged

aramdune
Guest
« Reply #12 on: December 21, 2006, 11:26:50 AM »

Quote from: vladg
Eu, sincer sa fiu, nu prea le am deloc cu Windows-ul. N-am auzit sa-si fi facut public codul sursa (si aici ma refer in primul rand la nucleu, Office si de-alde de-astea -- nu la notepad sau minesweeper). Ce stiu eu e ca 'userii neobisnuiti' au (deplin) acces, printre altele, la API'ul lor si de-alde de-asta(MSDN..) Poti sa-mi dai un link catre un loc ce m-ar lamuri sau sa elaborezi?

Windows CE e opensource sub o licenta tip BSD. Acces la codul sursa NT, sau la parti din el poate avea oricine are nevoie de  asa ceva. Se incepe cu MS certified profesional. Da, e pe bani evident -- abonament anual. Nu e foarte scump. Mai usor este sa faci rost de codul sursa printr-un agreement academic, in care ai nevoie de codul sursa pentru studiu. De asemenea, ca persoana juridica ce dezvolta software, poti relativ usor sa ai acces la coodul sursa. Lor le convine sa dezvolti programe ce se bazeaza pe featureuri nedocumentate ale windows-ului. De asemenea, orice integrator de sisteme OEM are acces la codul sursa MS, mai mult chiar, poate sa faca chiar modificari in Windowsul vandut de el pentru a asigura compatibilitatea deplina cu hardware-ul. Orice corporatie care cumpara multe licente MS (mii) primeste si codul sursa.
 
Logged
ae
Membru
*


« Reply #13 on: December 21, 2006, 02:48:30 PM »

Quote
Windows CE e opensource sub o licenta tip BSD. Acces la codul sursa NT, sau la parti din el poate avea oricine are nevoie de  asa ceva. Se incepe cu MS certified profesional. Da, e pe bani evident -- abonament anual. Nu e foarte scump. Mai usor este sa faci rost de codul sursa printr-un agreement academic, in care ai nevoie de codul sursa pentru studiu. De asemenea, ca persoana juridica ce dezvolta software, poti relativ usor sa ai acces la coodul sursa. Lor le convine sa dezvolti programe ce se bazeaza pe featureuri nedocumentate ale windows-ului. De asemenea, orice integrator de sisteme OEM are acces la codul sursa MS, mai mult chiar, poate sa faca chiar modificari in Windowsul vandut de el pentru a asigura compatibilitatea deplina cu hardware-ul. Orice corporatie care cumpara multe licente MS (mii) primeste si codul sursa.

Nu stiam de Windows CE (ma si miram: care-i faza cu 'CE'-ul asta)! Da, acum am citit pe wikipedia si un articol despre. Chiar interesanta abordarea celor de la Microsoft ... cred c-au nimerit-o cu modelul asta de licentiere.

Dar, nestiind de Windows CE, eu ma refeream la Windows-ul "ala mare". Si, tinand cont ca se si specifica pe wikipedia urmatorarele:

Code:
Windows CE is a distinctly different kernel, rather than a "trimmed down" version of desktop Windows.

, mira-m-as sa fi pus ei sursa nucleului la bataie sau alte cestiuni de genul. Cred c-as fi auzit, chiar daca n-am de-a face, asa cum am auzit si cand a fost cu scurgerea codului lui win2k. Smiley

Logged

Quis custodiet custodes?
aramdune
Guest
« Reply #14 on: December 21, 2006, 06:03:49 PM »

Da cum am spus. Pentru NT trebuie sa fi ms certified prof. blabla etc.
Logged
Pages: [1] 2   Go Up
  Print  
 
Jump to: