joi, noiembrie 08, 2007

Redhat, Fedora, Mandrake, ..., acum Ubuntu, ...

Cred că acum la modă în lumea Linux-ului e să foloseşti Ubuntu. Prin facultate mă jucam cu Redhat, chiar şi Mandrake. Acum când văd un nume nou - Ubuntu, mă întreb, ce aduce acesta nou, cu ce diferă? Cât de compatibil e cu versiunile anterioare? Cum migrez de la o versiune la alta (upgrade?)? De ce să-l instalez? Câţi dintre clienţii pentru care dezvolt au Ubuntu?

De curiozitate am căutat pe net să văd câte distribuţii de Linux au fost şi există încă..sunt multe (vedeţi şi voi http://en.wikipedia.org/wiki/List_of_Linux_distributions), pe bune..ce mă fac dacă am Mandrake şi bunica Ubuntu?

Îmi place acest sistem, dar nu mă văd pregătit să dezvolt pe el. Nu mă văd pregătit (n-am timp) să învăţ oamenii să-l folosească. Îmi place proiectul Mono şi ce dezvoltă echipa lui Miguel de Icaza.

Nu ştiu unde va ajunge acest sistem de operare. Cred că e bun pentru studiu, să înţelegi cum e dezvoltat, dar nu-l văd vreodată să fie folosit în masă.

Mă întreb, dacă EI sunt atât de OPEN (open source), de ce nu-s deschişi să se unească toţi şi să dezvolte doar o singura versiune, să ofere suport de la A-Z?

__
Update:
Un prieten foloseste Gentoo, alta distributie.. :)

19 comentarii:

Kadamone spunea...

He, he. Asta suna a propaganda microsoft (cu m mic). Da ce, distributiile astea linux nu au acelasi kernel? Nu folosesc aceleasi librarii grafice? Care ar fi problema?

Gabriel Enea spunea...

La modul cel mai serios, n-are legatura cu Microsoft (ma gandeam eu ca o sa credeti ca e un mesaj ascuns :))..poate doar ca experienta pe Windows face sa ma gandesc la aceste intrebari.
Uite, o simpla intrebare.

Daca fac o aplicatie nativa pe Gentoo, cum ma asigur ca merge pe orice distributie de Linux?

Kadamone spunea...

Pai in cel mai rau caz recompilezi pentru fiecare distributie in parte.

Serban Murariu spunea...

o scrii in ansi c... http://en.wikipedia.org/wiki/ANSI_C

Stefant spunea...

Gabi,

nu am prea mare expu pe Linux dar stiu ca mai toate distributiile Linux implementeaza un standard POSIX. Deci daca bunica are o alta distributie esti ok. Daca faci un soft in Mono ala o sa mearga pe orice sistem fara nici o problema.

e404rror spunea...

Ai pus o falsa problema, de data asta nu ti-ai facut temele ;)
Comunitatea Linux a rezolvat de mult problema compatibilitatii binare prin folosirea pe scara larga a limbajelor interpretate (python, perl, etc). Si asta in timp ce pe Windows se programa in C++ (limbaj blamat pentru lipsa de OOP si pentru weak typing) sau VB 6 pentru ca asta insemna "un apogeu de inovatie". Aplicatiile legate de sistem sunt scrise in C (nu in calamitatea de C++) si vin cu distributia.
In alta ordine de idei apreciez faptul ca exista un interes major in a customiza SOul pentru nevoile fircaruia - ai distributia care ti se potriveste. Spre ex daca vrei ceva rock solid ai Debian, daca vrei sa recompilezi mult ai Gentoo.

Gabriel Enea spunea...

Daca exista compatibilitate intre distributiile de Linux, nu e decat un lucru bun.

Dar daca bunica (un utilizator care nu e experimentat in IT, basic user) vrea sa faca upgrade de la Ubuntu la Gentoo, cum face asta? Exista setup-uri care permit sa migrez OS-ul de la o versiune la alta?

Si tot nu inteleg de ce atatea versiuni, de ce nu una care sa le aiba pe toate.

Eugen Anghel spunea...

"bunica cu gentoo" e o expresie chiar mai buna decat "baba si motocicleta".

Bunica primeste moca de pe net CDul cu Ubuntu, il instaleaza si apoi il da matusii mai departe sa-l instaleze si ea. Si in exact 6 luni (intervalul intre versiunile de ubuntu) ori booteaza cu CDul nou si alege update, ori schimba in /etc/apt/sources.lst din "feisty" in "gibbon" si da
apt-get update
apt-get upgrade
apt-get distupgrade
ceea ce e chiar mai simplu decat pare aici.

In plus comunitatile linux sunt mult mai bine structurate decat cele ms/windows, in sensul ca gasesti mult mai multi oameni dispusi sa ajute o bunica sa faca upgrade de la Feisty la Gibbon decat similar de la XP la Vista.
Asta legat de bunica.

Legat de dezvoltare si compatibilitate, sunt perfect de acord cu Victor.

Sunt atatea versiuni pentru ca sunt atatea feluri de oameni. Au mai mult sens toate versiunile de linux decat toate tipurile de vista :D. Ai optiuni in functie de cerinte.
Pentru suport comercial complet poti folosi Suse, pentru instalare usoara si suport moderat ai Ubuntu, pentru performanta maxima compilezi tot special pentru sistemul tau cu Gentoo, daca vrei pachete testate solid si stabilitate e Debian-stable. Cel mai tare (normal) e ce e potrivit pentru fiecare - in cazul meu Debiad-sid (unstable) :D

Si mai e problema de principii si de politica.... asta e o problema destul de complexa, care se poate lungi la infinit, dar din fericire se rezuma la "politica/principiile ms suck!". Putem continua discutia cu argumente/exemple.

Eugen Anghel spunea...

>Îmi place acest sistem, dar nu mă văd pregătit să dezvolt pe el.
>Nu mă văd pregătit (n-am timp) să învăţ oamenii să-l folosească.
Cam asta era toata ideea, fiecare foloseste ce vrea pentru ca aplicatia merge pe orice sistem de operare.

>nu-l văd vreodată să fie folosit în masă.
Milioanele de utilizatori zic eu ca se pune ca "in masa".


>...doar o singura versiune... suport de la A-Z?
La ce fel de suport de referi? Pentru distributie? Pentru biblioteci?
Suportul pentru distributii inseamna practic ca instalezi pachete standard si ai niste probleme cu ele, apoi oamenii de la ubuntu te ajuta.

Suportul pentru biblioteci inseamna ca gasesti un bug in.. libxml sa zic. Pentru asta raportezi la bug trackerul libxml, etc, fie el trac/mantis/jira (apropo, ms connect sucks), si oamenii de acolo o sa rezolve (probabil) bugul. Sau il rezolvi tu si trimiti patch ca sa ajuti alti oameni.

Iar asta cu suportul nu vad cum e avantaj ms. Lista de buguri la asp.net, visual studio, etc. care sunt catalogate ca "by design", "will not fix" sau "to be fixed in future versions, adica in 2-3 ani" e... mare. Dar daca pun un bug la libxml am sperante sa fie rezolvat in 1-2-3 zile.

Serban Murariu spunea...

Gabi spunea: "Dar daca bunica (un utilizator care nu e experimentat in IT, basic user) vrea sa faca upgrade de la Ubuntu la Gentoo, cum face asta?"

Eu aici am sa exagerez un pic chiar cu riscul de a parea ridicol:
nu faci upgrade de la ubuntu la gentoo asa cum nu faci upgrade de la vista la mac os. Asta pentru ca sunt 2 sisteme de operare distincte.

Tot Gabi intreba: "Exista setup-uri care permit sa migrez OS-ul de la o versiune la alta?"
De la o versiune la alta da. dar asta inseamna Fedora core 6 to Fedora core 7. astea sunt versiuni ale aceluiasi OS.

Gabriel Enea spunea...

Prin "Exista setup-uri care permit sa migrez OS-ul de la o versiune la alta?" doream sa ma refer editii, de la o editie de Gentoo la una Ubuntu.

Pana la urma, inteleg ca nucleul, baza, e aceeasi. Deci, de ce nu as putea sa fac asta, nu?

Stefant spunea...

Gabi,

sa-ti mai dau un e.g. de ce e bine sa ai mai multe versiuni. La un moment dat ma intereasa sa am un windows server 2003 care sa faca o chestie specifica, fara nimic altceva. Ce iti ofera M$-ul, windows 2003 standard, web si enterprise care au o multime de chestii care consuma cicli de procesor fara sa faca nimic util.

Ce iti ofera Linux, compilezi un linux doar cu ce ai nevoie. Din punctul asta de vedere Linux rules.

M$ sa trezit si el si in 2008 o sa lanseze o versiune de windows server core care e chel fara UI. Aparent si-au dat seamna ca 80% suprafata de atac o constitue UI si alte chestii care iti vin instalate.

M$ se pricepe sa faca si chestii misto, iti fac baietii niste tool-uri super bune si iti ofera un ecosistem super misto in care poti sa faci tot felul de app super cool.

Nobody Important spunea...

Sunt de acord ca sunt foarte multe distributii linux, dar tocmai aici e avantajul: diversitatea! Sa ai de unde alege. Legea junglei e dura dar in schimb e cea mai eficienta. Cand o distributie nu mai satisface, ea dispare. Din pacate nu se intampla asta si cu windows.

Tendinta (din ultimii 2 ani in special) e destul de clara: linuxul castiga din ce in ce mai mult teren. Standardele sunt impuse de utilizatori si nu de impresia unei singure organizatii.

Niciodata un monopol nu a fost in avantajul clientului. De ce ar trebui sa ne asteptam sa avem "doar o singura versiune"? Ca developeri putem compila sursele sub orice distributie (daca teama e ca pierdem o parte din clienti).

Gabriel Enea spunea...

Tocmai, nu cred ca e monopol cu Windows, doar nu e singur pe piata. Exista si MacOS si atatea distributii de Linux, nu? Iar daca lumea alege sa plateasca pentru aceste sisteme atunci inseamna ca au motive sa faca acest lucru.

Iar statistica cu "linuxul castiga din ce in ce mai mult teren" daca nu are la baza un studiu clar nu e o afirmatie solida.

"Cand o distributie nu mai satisface, ea dispare."
Nu e grav acest lucru? Dupa cum spuneam, bunica nu se pricepe sa instaleze oricand, ea are nevoie de o versiune care macar 5 ani sa-i fie oferit suport, updates, etc.

e404rror spunea...

Stefant spunea "M$ se pricepe sa faca si chestii misto, iti fac baietii niste tool-uri super bune si iti ofera un ecosistem super misto in care poti sa faci tot felul de app super cool."

Am sa fac o lista cu chestiile care ma deranjeaza direct la VS 2005, lucru pe care nu l-am simtit pe eclipse sau in emacs:
- nu pot compila fisiere fara sa fac un proiect
- new Console App pt C imi injecteaza cod de M$ - _tmain, stdafx.h, precompiled headers
- intellisense se ascunde de multe ori. Am instalat un plugin care l-a dezactivat, cum il reactivez (resetez toate setarile)
- apas F1... si-mi apare un dialog de progress in care se configureaza/reindexeaza MSDNul. Tine mult si nu pot da cancel (taskkill \im devenv.exe)
- ferestrele dockable au probleme cand sunt pe autohide
- integrarea de toata jena cu SourceSafe... primesc o avalansa de message box-uri

Singura optiune pe care o am e sa accept toate problemele si sa sper la o rezolvare in viitor pentru ca nu am optiunea sa ma apuc sa fixez ce ma deranjeaza.

Gabriel Enea spunea...

De la un subiect despre Linux ajugem sa ne plangem de probleme cu Visual Studio :)

Bug-uri creeaza fiecare, inclusiv noi. Nici un produs software nu e perfect, fie el pe Linux, MacOS, Windows si altele care o mai fi.

Daca noi cream bug-uri in produse de dimensiuni mici, cum crezi tu ca se descurca ei cand dezvolta aplicatii software mari, care iau luni, ani de zile pana scot un release?

As prefera sa pastram subiectul initial. Daca vrei, incepem un alt post pe aceasta tema.
Tema distributiilor de Linux nu are legatura cu Windows/MacOS. Pur si simplu incerc sa inteleg de ce atata diversitate? ...ca nu stii cum sa mai alegi. Noi ca dezvoltatori avem timp sa testam, sa instalam, dezinstalam, dar cei care fac un business si au nevoie de sisteme stabile, pentru care sunt dispusi sa plateasca (nimic nu e gratis), cum crezi ca vad ei acest lucru in business-ul lor?

e404rror spunea...

Gabi spunea "Exista si MacOS si atatea distributii de Linux, nu? Iar daca lumea alege sa plateasca pentru aceste sisteme atunci inseamna ca au motive sa faca acest lucru."
De fapt inseamna propriu-zis ca ei cred ca au motive/beneficii. Dar deciziile se iau in general fara mult research, pe baza de speculatii nu neaparat rationale. Fie se cheama shopping fie strategia firmei.
Nu inseamna ca Windows nu are parti bune doar ca nu cred ca e apreciat pt ce merita aprecieri.


Gabi spunea "Iar statistica cu "linuxul castiga din ce in ce mai mult teren" daca nu are la baza un studiu clar nu e o afirmatie solida. "
Inca nu am unitate optica sa trec pe linux... dar e o chestie de scurt timp. Prietenii au trecut pe linux pentru ca au incercat si s-a dovedit peste asteptari.

e404rror spunea...

Gabi spune:
"Bug-uri creeaza fiecare, inclusiv noi. Nici un produs software nu e perfect, fie el pe Linux, MacOS, Windows si altele care o mai fi.
Daca noi cream bug-uri in produse de dimensiuni mici, cum crezi tu ca se descurca ei cand dezvolta aplicatii software mari, care iau luni, ani de zile pana scot un release?
As prefera sa pastram subiectul initial. Daca vrei, incepem un alt post pe aceasta tema."

Pentru mine are legatura cu Linux si cu reteta succesului pe care a folosit-o - open source. Acolo am posibilitatea sa ma apuc sa fixez - fie in cod fie in configurari ascunse de UI - ce ma deranjeaza.
Cand vine vorba de Windows am dreptul sa astep sa se rezolve. Si in 2007 nu mi se mai pare chiar cea mai buna alegere.

Serban Murariu spunea...

subscriu la ceea ce sustine e404rror. pentru multi pare de neconceput sa te apuci sa faci fix la un bug: "asta este, n-am ce-i face" dar cand incepi sa te uiti un pic in surse parca vezi ca ai ce-i face.

am sa largesc un pic punctul de vedere expus mai sus intrucat nu numai ca poti face fix la bug-uri dar poti chiar customiza anumite programe adaugand niste features mai apropiate de ceea ce ai tu nevoie. si partea cea mai buna este ca poti face publice modificarile tale astfel incat sa se poata folosi si altii de ele. si sa stii ca e o experienta chiar placuta.