QT vs GTK (afsporet debat)
Dette er en fortsættelse, af den afsporede debat QT vs GTK.
http://www.linuxin.dk/node/16445
og primært
http://www.linuxin.dk/node/16445?page=1#comment-48127
1) Afgørende lyder så grimt - lad mig i stedet sige vigtig.
Jeg erkender, at mange gode og vigtige programmer er skrevet i GTK (f.eks. firefox og OpenOffice). Dog er det ikke noget, som er et imponerende argument for at blive hængende ved GTK. Der er f.eks. også skrevet mange gode programmer i MFC og VB - men gør det dem til gode frameworks.
Det handler om hvor mange ressourcer, som man må bruge på at skrive et godt program.
GTK er bare ikke et framework, som jeg ikke har lyst til at spilde tid på. Dermed forestiller jeg mig, at GTK/Gnome senerehen bilver efterladt til de helt ekstreme GTK-nørder. Jeg 'kræver' i øvrigt ikke en portering til QT, men at man overvejede at skrive nye til i QT.
2) Ja, QT er overlegent og rigtigt objektorienteret.. (Du kan jo læse dklinux' indlæg igen #30 - http://www.linuxin.dk/node/16445#comment-47841)
Jeg tænker "ikke kun" på dokumentation. F.eks. synes jeg også at QTs signal/slots er LANGT bedre end GTK-signals (og jeg ser ingen problemer i QTs moc - tværtimod)
3) En kommerciel licens betyder intet - og afviger jo ikke væsentligt fra LGPL.
Slutteligt.
(4) [i]Linuxkernen er det bedste bevis på det modsatte. [/i]
Udover at jeg godt kunne drømme om at Linux havde større succes, så vil jeg igen gentage, at det er kommercielle interesser i Linux, der har drevet værket. At smække døren i hovedet på Nokia (eller IBM,Google m.fl. ..) og det bekymrer mig, hvis nogen tror vi 'kan (bedre) selv' i frivillige/uafhængige communities. Linux er jo bestemt ikke et eksempel på frivillige kræfter:
http://www.computerworld.dk/art/54761?cid=2&q=Linux&a=cid&i=2&o=9&pos=10
Hvad Nokias motivation for at købe QT var, ser jeg som underordnet. Jeg tror primært det var et præventivt træk for at forhindre, at andre købte Trolltech (og måske gjorde værre ting ved det). De sidste argumenter er nærmest bare at køre mere rundt i holdninger. Så længe QT (også) er GPL, er det ren open source - og frit som anden open source - og man kan også bruge det uden at bidrage til det (og eventuelt frigive udbygninger som ren GPL).
- Log in to post comments
Kommentarer28
Udover at jeg godt kunne
Udover at jeg godt kunne drømme om at Linux havde større succes, så vil jeg igen gentage, at det er kommercielle interesser i Linux, der har drevet værket. At smække døren i hovedet på Nokia (eller IBM,Google m.fl. ..) og det bekymrer mig, hvis nogen tror vi 'kan (bedre) selv' i frivillige/uafhængige communities. Linux er jo bestemt ikke et eksempel på frivillige kræfter:
http://www.computerworld.dk/art/54761?cid=2&q=Linu...
Suk. Forstår du virkerlig stadig ikke forskellen på det at bruge linuxs kode kommercielt og det at udnytte et en viral mekanisme som Qts til at gafle kode ind i et kommercielt projekt?
Grunden til at det kan lade sig gøre at så mange forskellige, indbyrdes konkurrende firmaer tør satse på linux kommercielt er jo netop dets uafhængighed. Det får du ALDRIG med Qt. Qts model vil altid være en hæmsko -også for kommerciel udnyttelse af koden på open source villkår.
Der er intet i vejen med at være kommerciel, men der er en kæmpe forskel i måden. Du understreger jo min pointe med dit link...
Re: QT vs GTK (afsporet debat)
Man må bare erkende at begge toolkits findes. Nu hvor Nokia har LGPL'et Qt kan de i det mindste konkurrere på tekniske meritter, i stedet for som før, på hvor "permissive" licensen var ift. proprietær software.
Jeg forstår ærligt talt ikke at folk går så meget op i det. De fleste har sikkert bemærket at jeg er grovfan af KDE, men derfor rører det mig altså ikke det mindste at bruge et GTK-program i de tilfælde hvor de er bedst til et givent job.
Tilsvarende snyder GNOME-/Xfce-/GTK-brugere da også sig selv for en masse hvis de nægter at bruge alle de KDE-/Qt-programmer der er førende indenfor deres områder.
Qt-programmer kan i øvrigt konfigureres til at integrere perfekt i et GTK-miljø. Også her står GTK lidt tilbage, men kan dog f.eks. med "oxygen-molecule"-stilen bringes til at integrere helt pænt i KDE.
Og jeg er ret sikker på at OOo ikke bruger GTK. Men et eller andet eget halløj, som vist ikke er særligt rart at arbejde med.
Jeg forstår ærligt talt
Jeg forstår ærligt talt ikke at folk går så meget op i det. De fleste har sikkert bemærket at jeg er grovfan af KDE, men derfor rører det mig altså ikke det mindste at bruge et GTK-program i de tilfælde hvor de er bedst til et givent job.
Jeg vil altid være mere grovfan af en platform renset for enkeltfirmaers luner end grovfan af noget stykke software.
Det er fuldstændigt underordnet at du intet problem har med GTK, for det er ikke en finger at sætte på GTKs uafhængighed. Problemet er den anden vej rundt, det er Qt der er et problem.
Det her er ikke bare simpel fanboyism, hvor to ligeværdige produkters respektive fanboys er uenige om hvad der er bedst. Det handler at GTK har noget som Qt ikke har:
Uafhængighed og totalcommitment til frihed.
Windows-platformen og OSX-platformen tilbyder dig i varierende grad også at læse sourcen eller at tilgå veldokumentede APIer på toolkitniveau. Hvis dine ambitioner ikke er større, hvorfor bruger du så ikke bare dem i stedet for at sælge ud på det det ene punkt hvor linuxplatformen virkelig kan differentierer sig?
Pjat med dig. GTK,
Pjat med dig.
GTK, Linux-kernen og alle mulige andre "uafhængige" projekter har en maintainer, som vælger og vrager mellem patches, afhængigt af om de ikke passer til projektets mål og retning.
Uden at vide det med sikkerhed, går jeg stærkt ud fra at GTK maintaines af en Red Hat-ansat - og det er sikkert rimeligt vanskeligt at få inkluderet nogle patches som på en eller anden måde ville gå imod RH's interesser.
Tilsvarende har Intel, IBM og andre der betaler størstedelen af regningen, rimelig stor indflydelse på den retning udviklingen af Linux-kernen tager.
Hvis man er tilstrækkeligt utilfreds med den måde et projekt maintaines på må man forke eller tlibyde et uofficielt patchset eller lign. Det er ikke anderledes for Qt end for GTK.
Men det forekommer vist ikke rigtigt i virkeligheden, da GTK såvel som Qt selvf. er meget interesserede i at modtage bidrag og forbedringer.
Der kan dog muligvis tænkes at være nogle irrationelle knee-jerk-reactions der gør sig gældende i visse corporate kredse.
Slåskamp - Hurra!
Jeg
Slåskamp - Hurra!
Jeg hører til dem der ikke ser noget problem i, at enkeltfirmaer hælder kassen i linux udvikling - heller ikke når firmaet hedder Nokia. Sålænge licensbetingelserne er i orden, er jeg med på vognen.
Men BG har jo ret i, at der altid vil være firmaer der afviser at benytte noget der er udviklet af en konkurrent. Det er jo blot ikke specielt for QT, men gælder for en masse opensource projekter - der er grænser for, hvor sårbare firmaer ønsker at være.
Min pointe er, at jeg som bruger kan være ligeglad. Ting udviklet til Gtk fungerer fint med KDE, så hvorfor skulle det afholde mig fra at bruge QT (i forbindelse med KDE)?
For mig er bottom-line, at jeg mener QT (og KDE i det hele taget) benytter en teknologi, som jeg tror på sigt giver baghjul til Gnome. Og her taler vi ikke kun QT - når KDE slipper af med sine 3 database servere (virtuoso, MySql og Sqlite) til fordel for kun Virtuoso, samt får ryddet op i deres kodninger (en proces der bliver central i KDE 4.5 og 4.6), så er der tale om et hurtigt og effektivt system der kommer til at ændre vores måde at interagere med computer og internet.
Der bliver skældt meget ud på Nepomuk, Akonadi osv pt. men jeg har set nok til at danne mig min egen konklusion - når det kommer til at spille optimalt vil det rykke grænserne for, hvordan vi opfatter computeren.
Nå øv, det var det egentligt ikke så meget Flame-war over. Jeg synes Gtk/Gnome er udmærket (jeg har selv benyttet dem gennem flere år). Jeg tror bare KDE/QT er fremtiden.
Re: QT vs GTK (afsporet debat)
Ret mig hvis jeg tager fejl, toolkits er (heller) ikke min stærke side, men roder i ikke tingene sammen?
Går debatten ikke på om man skal benytte gtk eller qt og IKKE på om kde har nogle spændende teknologier og gode programmer skrevet med toolkittet qt?
Både qt og gtk er udgivet under en gpl licens, det er nok for mig...
Jeg er ikke helt sikker på hvad forskellen er på at Nokia står bag qt og da Ximian stod bag Gnome, men det er meget muligt jeg tager fejl.
Re: QT vs GTK (afsporet debat)
Edit: Fejl post.
Edit 2: Et eller andet er gået galt i opdateringen af min post og har fjernet den. Følgende tekst skulle stå mellem the slayer og marx kommentar:
Jeg tror også problemet er mere teoretisk, end det er reelt, men så må man som tilhænger af Qt's forretningsmodel, på en eller anden måde dokumentere at deres valg, skaber flere penge, mere udvikling og mere stabilitet til Qt-projektet. Hvis ikke dette kan vises, kan man vel lige så godt gøre sig uafhængig af ejerskab (Nokia) først som sidst, inden man slækker på principperne om fri software og uafhængighed.
#0:
Hvad Nokias motivation for at købe QT var, ser jeg som underordnet.
Jeg ser det som en meget vigtig ting. Ikke for mig som bruger, men hvis man var mulig bidrag yder. Jeg tror, man som konkurrerende firma til Nokia, tænker sig om en ekstra gang inden man begynder at ansætte folk der skal bidrage med kode til Qt, og måske stille spørgsmål som: Vil man blive accepteret lige så meget som, hvis koden kom fra Nokia? - kan man stole på projektet bliver styret demokratisk blandt bidragyderne, eller vil Nokia bestemme mere? Etc.?
Jeg tror mange firmaer vil se det som for risikofyldt at satse på Qt.
Og så kommer vi til det som jeg synes er det springende punkt i argumenteringen mellem GTK's og Qt's forretningsmodel:
Er den bedste metode GTK's, hvor alle bidragydere indgår i et fællesskab, styret demokratisk og selve projektet er non-profit. (Edit: bill gates gør opmærksom på at GTK er styrret meritokratisk)
eller Qt's, hvor alle kan bidrage, men projektet styres af en enkelt aktør (Nokia), og derfor måske skræmmer potentielle bidragydere væk. Til gengæld kan Qt tjene penge på at sælge licenser, og dermed betale for ekstra udvikling.
Jeg er selv ikke overbevist om hvad der er bedst for udviklingen af et projekt, men ideologisk er jeg dog for GTK's model.
Re: QT vs GTK (afsporet debat)
Styringsmodellen er fuldstændigt ligegyldig. Koden er LGPL-licenseret; er du utilfreds med hvordan koden bliver styret, kan du lave en fork. Færdigt arbejde.
Hvorfor diskuterer folk stadig det her?
Hvorfor diskuterer folk stadig det her?
#8:
Hvorfor diskuterer folk stadig det her?
Jeg synes til hver en tid det er relevant at diskutere, hvilken styringsmodel der er mest optimal for udviklingen af et projekt.
Det er jo ikke en diskussion om hvis tissemand der er flottest, men om hvordan den flotteste tissemand kunne se ud. Der er jo ikke noget rigtigt svar givet på forhånd, men forhåbentlig kan man lære af hinandens synspunkter. Man kan jo kun håbe på at de bedste argumenter er dem der spreder sig mest.
- Tænk hvis Nokia får den opfattelse, at det er bedst for alle (inklusiv dem selv), hvis Qt bliver overdraget til Free Software Foundation. Jeg gætter på at ingen herinde vil være kede af et sådan træk?
Derfor synes jeg diskussionen til hver en tid er vigtig og relevant.
Re: QT vs GTK (afsporet debat)
Neffer, lige en hurtig kommentar.
GTK og linux er ikke demokratiske, de er meritokratiske. Dem der kan og vil, får automatisk mere indflydelse. Det kan muligvis minde om demokrati men hver stemme er ikke lige meget værd, nogle har mere tyngde.
Det er som et Tour de France, hvor de forreste ryttere bestemmer ruten :-)
Det er som et Tour de
Det er som et Tour de France, hvor de forreste ryttere bestemmer ruten :-)
Med den kommentar kan det kun gå NED AD BAKKE for cykelsporten .......
Takker for info
#10:
Tak for info. Hvordan bliver stemmevægten så afgjort? Hvor meget man har bidraget til projektet, eller hvordan?
#12Der er vel næppe nogen
#12
Der er vel næppe nogen der kan/vil anfægte at Qt udvikler sig hurtigere, kan meget mere, er bedre dokumenteret osv. end GTK og co. Så ud fra de præmisser du opsætter er det allerede "bevist" at Qts model er bedre.
Men Nokias forretningsmodel er ikke at sælge Qt-licenser. Med LGPL'ing af Qt er den proprietære version kørt ud på et sidespor til nogle få corner-cases og firmaer med copyleft-paranoia og for mange penge.
Nokias forretningsmodel er derimod at sælge telefoner o.l. Og til det formål skal de bruge et ordentligt cross-platform framework, og en masse (applikations)udviklere - og derfor investerer de meget kraftigt i Qt. En af deres folk udtalte på et tidspunkt at de ønskede en tidobling af udbredelsen af Qt - og der er handling bag de ord.
Re: QT vs GTK (afsporet debat)
Det er efter min mening naivt at se QT isoleret. Hele Nokia's ide med at frigive QT som opensource er jo ikke selv at stå for alle udviklingsomkostningerne. Et konkret eksempel er, at Nokia har meddelt at de vil bruge Koffice som officeprogram i deres mobiltelefoner.
Ved at åbne QT har Nokia altså næsten "gratis" fået udviklet et officeprogram. De har så været utilfredse med, at Koffice ikke understøtter docx, hvorfor de selv har valgt at lave docx filtre til Koffice - som altså selv får en fordel ud af Nokia's interesse for Koffice.
QT er ved at udvikle sig til et skoleeksempel på, hvordan virksomheder kan få strategiske fordele af at arbejde med opensource og vise lederskab indenfor opensource projekter, såsom QT. Man kan vel kalde det en kobling mellem trsaditionelt opensource community og en mere traditionel forretningsmodel, til fælles gavn.
Re: QT vs GTK (afsporet debat)
Qt var jo fri/open source software længe inden Nokia købte det.
De har "bare" tilføjet den mere "permissive" LGPL-licens og i øvrigt åbnet udviklingsprocessen mere.
cb400f (#15)
Præcist. Det
cb400f (#15)
Præcist. Det hører jo også med, at KDE udviklerne har meldt om mange problemer med QT under udviklingen af KDE 4.x (især de første versioner). Der har de jo rost det gode samarbejde (som naturligvis skyldes den fælles interesse i, at QT fungerer optimalt).
Svar til Bill Gates
Hej Billy
Jeg beklager det lidt sene svar, men udover familie har jeg også et arbejde
(hvor jeg programmerer lukket kommerciel (windows) kode - og alligevel sover jeg godt om natten).
Jeg hader ikke kommerciel og lukket software. Dog kan jeg godt lide Linux - og så kan jeg også se fordele i 'open source'. Nu ser jeg så bare QT som en kæmpe fordel for Linux (og dermed også open Source). Ærgeligt at du ikke deler det synspunkt! :|
Nå, inden du falder i søvn, må jeg hellere få svaret dig :) ....
Suk. Forstår du virkerlig stadig ikke forskellen ...
Den slags 'argumenter' bruger jeg også altid selv, hvis jeg begynder at mangle det saglige ... :)
Under dette store pres må jeg dog helt erkende, at jeg har lidt svært ved at forstå dit bananflueknepperi :)
Jeg bemærker at du før har skrevet:
Qt er til, fordi det er et kommercielt produkt.
GTK er til, fordi det er et åbent projekt.
Nu skriver du
Du understreger jo min pointe med dit link...
Nå! Den må du vidst lige uddybe. Du valgte selv at sammenligne Linux med GTK. Jeg vil blot fremhæve, at Linux ikke er nået dertil hvor det er nu 'fordi det er et åbent projekt',
men pga kommercielle interesser! Mao. Linux, GTK og QT er alle styret af kommercielle interesser.
Forskellen (for fluekneppere :) ) er så Nokia alene står bag QT - mens Linux bliver til med støtte fra flere firmaer (der ofte bruger Linux kommercielt).
Du tror så på magisik vis at flere firmaer vil sikre, at et projekt trækkes i den rigtige retning. Nu mener du, at denne forskel er meget væsentligt, men lad mig lige spørge dig:
a) Hvordan kan du nogensinde ønske at firma laver open source løsninger (med helt korrekt licens), hvis den slags løsninger generelt bliver nedgjort med at de 'styres af et firma'?
b) Nu købte Nokia Trolltech og frigav QT under LGPL så man frit/gratis kan lave lukkede kommercielle programmer med QT (ligesom GTK).
Hvor præcis er det store problem i at de også har den kommercielle licens (med udvidet rettigheder + support) ?
Lad mig sige det på den måde. Hvis Nokia startede med at fjerne den kommercielle licens, ville de virkelig tage røven på Trolltechs kunder!
Ville du have at Nokia skulle bruge 1 mia på at gøre eksisterende kunder i butikken utilfredse? Og hvilken gavn ville det have for QT og open source?
I mange andre sammenhænge har du ikke problemer 'open source' bruges kommercielt, men lige ved QT er du utilfreds med styrringen, men hvis
du eller andre er det - så har vi flere gange givet dig/jer svaret. Driv et nyt projekt! Eftersom Nokia har copyright er det selvfølgelig kun dem,
der sælge kommercielle QT-licenser, men det synes du jo er netop er en af svaghederne i løsningsmodel.
Hvad med at komme i gang i stedet for at sidde at spilde tiden her på debatten? ;)
/Thorbjørn
PS: Nogle af Nokias konkurrenter vil måske ikke bruge QT, men licensen sikrer dem jo. Om de ser spøgelser eller de er bange for at gøre QT populært, hvad indirekte kunne støtte Nokia, er både uvedkommende for mig
og 'open source'-verdenen. QT er overlegent og helt open source (L)GPL. Længere er den ikke.
Tak for støtte i debatten, cb400f,stig65 (og flere andre) :)
Hvor er alle de andre toolkits?
For lige at sætte diskussionen på spidsen, så kan man undre sig over hvorfor der kun er ét toolkit der har QT's forretningsmodel.
GTKs forretningsmodel lægger op til at der kun er ét et løst koblet framework, da der ikke er nogen firmaer der har fordel frem for andre (licensmæssigt). Så al kode der bliver produceret vil med overvejende sandsyndlighed blive en del af denne fælles mængde af kode.
Istedet kunne man kalde GTK frameworket for GPL-only frameworket. Dvs al kode der er GPL only, er i en eller andet forstand med i GTK lejren.
Med QT forholder det sig anderledes da de kun kan bruge kode som er blevet overdraget til Nokia, som så kan bruge det til kommercielle formål.
Så det er ikke underligt at der er to frameworks open source verdenen. Det man kan undre sig over er at der ikke er flere konkurrenter til Nokia. Hvad er der sket historisk siden at der kun er ét framework i dobbelt licens lejren? Har QT været de eneste med deres produkt, eller har de udkonkurreret alle andre? Har markedet være for lille?
#18
Mit bud er at ingen har
#18
Mit bud er at ingen har villet konkurrere med Trolltech udover GPL-ekstremisterne, fordi QT i forvejen har alt det de unge vil have, og tager rigeligt imod patches -- når der allerede findes en open source udgave af det optimale toolkit, hvorfor så skrive noget nyt fra bunden? Med mindre man selvfølgelig er så forblændet af FSF-propaganda at man ikke kan sluge at der er et firma bag.
#19Der er ingen
#19
Der er ingen FSF-propaganda mod Qt - og har ikke været det så ligeså længe som Qt har været fri software - dvs. en ti års tid eller deromkring.
Desværre bliver FSF ofte sat i forbindelse med alle mulige crackpots der overhovedet ikke er på linje med FSF's officielle standpunkter.
BillGates har intet med FSF's synspunkter at gøre - han har sine helt egne regler, som ingen andre rigtigt kan finde hoved og hale i.
#19:
hvis man vidste den
#19:
hvis man vidste den mindste smule om "fsf-propaganda", ville man vide at FSF intet har imod firmaer, og endda opfordrer til kommercielle aktiviteter, så længe koden er fri.
Re: QT vs GTK (afsporet debat)
Bill Gates har jo ret for syv søren.. Jeg kunne ikke sige det bedre selv.. GNOME <3
Bare lige for at sætte det på plads
Dette emne berører kun periferien 'Gnome'. Det handler egentligt om QT vs GTK - og om hvorvidt Gnome måske burde bruge QT.
Re: QT vs GTK (afsporet debat)
#23 hvorfor er det så lige at gnome skal bruge QT???
Det er det samme som at sige alle skulle spise flæskesteg om søndagen og tage til grissefest på malorca hver sommer!! og alle biler skal være hvide og der skal kun være en model og et mærke.. Det er da totalt langt ude i hampen..
#24
Det er cirka ligeså
#24
Det er cirka ligeså langt ude i hampen som at give Bill Gates ret i at QT's eksistens holder GTK tilbage -- Bill Gates er jo rent faktisk, i modsætning til os andre, af den overbevisning at der kun må være ét populært toolkit.
Hvor må det være rart at kunne blænde sig selv for nuancer med så fanatisk fanboyism.
Not
#23
Den sammenligning holder ikke helt.
Lad os i stedet sige at Gnome vælger at køre i Citröen fremfor BMW. Min påstand er at BMW'en er bedre (begge biler er gratis). Derudover mener jeg at hvis Gnome begyndte at bruge QT ville det give synergi.
For de 2 store projekter ville det være lettere at låne af hinandens kode. Aktuelt laves der rigtig meget dobbelt-arbejde fordi programmer næsten skal skrives i både GTK og QT.
Derudover må jeg da indrømme, at det bekymrer mig at vi har et helt frit og kraftfuldt framework i QT, men alle (pånær KDE) bibeholder alligevel det (i mine øjne) ringere GTK - og det tror jeg vil skade Linux' konkurrence-evne på desktoppen.
#24
Måske. Gnome må da godt bassere sig på GTK - det (relativt dårlige) - men selv uden Gnome ville adskillige mindre DEs stadig bruge GTK, og GTK som framework vil dog til enhver tid forhindre mig i at prøve at patche fejl (eller eventuelt lave udvidelser til det ...)
Jeg erkender blankt at jeg er QT fan og ikke bryder mig sønderligt om GTK+. Mht Gnome vs KDE vil jeg ikke rigtig udtale mig. Dog så længe Gnome lukker helt af for QT, så tvivler jeg på den store fremtid i projektet - og derfor holder jeg mig sandsynligvis til KDE ...
#26
Det er altså langt fra
#26
Det er altså langt fra kun KDE der bruger Qt. Førende programmer til GNU/Linux (og andre platforme) indenfor deres områder såsom VirtualBox, VLC, SMPlayer, Scribus, Qutecom, PSI og Rosegarden bruger Qt og selvf et hav af mindre kendte programmer. Proprietære programmer som de fleste vist kender såsom Skype og GoogleEarth er også Qt.
Qt er da i fin fremdrift, men det er da nok sådan at en del GNU/Linux-firmaer har giftet sig med Gtk for længe siden af forskellige (ikke-tekniske) årsager, og ikke sådan uden videre vil kunne ændre kurs.
Tillæg til #27
Der er en
Tillæg til #27
Der er en masse Qt-baserede apps på http://qt-apps.org/
Så er der selvfølgelig Nokias egen platform Maemo som har en Qt-stak. Og Nokia er gået sammen med Intel om Meego som er en blandning af Moblin og Maemo.
Der var også et projekt om at udvikle en letvægts WM med Qt4, Antico, men desværre har udvikleren droppet Linux til fordel for OSX. Det var ellers et meget lovende projekt. :(