qgil said:

qgil

Wondering about GNOME/Qt, trying to get somewhere between utopic dreams and mental endless loops.

11 months, 3 weeks ago.

15 comments so far

  • atmasphere

    sorta hoping you'd have it more focused by now ...

    11 months, 3 weeks ago by atmasphere

  • qgil

    I'm talking about the GNOME project and community, not about the GNOME components in Maemo.

    11 months, 3 weeks ago by qgil

  • xan

    What is there to wonder about GNOME/Qt exactly?

    11 months, 3 weeks ago by xan

  • qgil

    The position of the GNOME desktop if Qt gets the boost of application developers that Nokia expects to get with the move to LGPL and open development.

    The investment in the GTK+ revamp when most of the "mobile" supporters of the GNOME Foundation have ongoing projects with other toolkits as well.

    The fact that even if it would be technically possible to put Qt on top of the GNOME principles and HIG, who would code that and why.

    I'm a happy GNOME user and I think the GNOME community has all the human elements of success. But I can't avoid thinking the Qt bomb will also impact the GNOME project. No idea how, but I hope for good. But no idea how and... damn, once again in a mental endless loop.

    11 months, 3 weeks ago by qgil

  • xan

    Do you really think Qt will get a boost of application developers? I'm sure it will get more people doing closed apps due to it being LGPL, but there has never been a huge intersection between those guys and the free software guys. And anyone really willing to do closed applications and not caring about developing the platform (ie, most of them) were already paying the Qt license anyway. So, yes, maybe Qt will get a huge boost, but I'm not 100% sure. (For example, I think Nokia making a succesful platform with Qt would be much much more relevant, because it would open Qt to a new universe of people. And here Qt being LGPL really would count. But without that?...)

    About GNOME somehow using Qt or GNOME giving up completely because of Qt being LGPL (as I've heard): I think people thinking these things just don't get how free software in general works, and the reasons or motivations people have to do things. Hackers are not "individual units of work" you can shuffle around due to changes in the environment, and expecting all, or most, GNOME hackers to stop using their technology and move to something completely different is just an abstraction with no basis in the real world IMHO. Besides, projects exist in some sort of "ecological equilibrium", and even if you somehow convinced all GNOME hackers to move to KDE you wouldn't give the project a 2x boost in development speed: there's always a core team of people that do most of the work, and dumping a zillion newcomers into any project will usually do more harm than good (even in the long term if you dump too much people I'd say) because of personal tensions, disputes over the ownership of code or direction of the project...

    My personal opinion is that GTK+ has been failing to catch up with Qt in "classic" toolkit technology since pretty much forever, so I can't really see how it could get much worse in this regard. I think GNOME still has some strengths, like its binding technology (gobject-introspection is only stretching the gap), and with things like gnome shell (core written in C, bulk of the project in javascript, extensive use of opengl/clutter) it's starting to move away from traditional conceptions and possibly making GTK+ less relevant in the not so far future.

    So, yes, dunno, things are surely going to get interesting, that's for sure :)

    11 months, 3 weeks ago by xan

  • xan

    That was too long and barely makes sense I think, sorry :p (anybody can recommend good nootropics?)

    11 months, 3 weeks ago by xan

  • segphault

    I can relate. I've been trapped in the same loop ever since I found out. The license change obviously raises a lot of tough choices for the companies that are using these toolkits and funding toolkit development.

    Purely on the basis of functionality, Qt is indisputably the more advanced toolkit. A lot of the stuff that the GTK+ community is just beginning to work on today is stuff that is already fully functional and mature in Qt, including WebKit integration, embedded scripting, animation, CSS widget theming, cross-platform portability, and input redirection. I've worked with GTK+ long enough to know that it's got serious weaknesses in those areas and it's going to be a huge investment to bring GTK+ to the same level as Qt, especially if the large companies that are currently funding GTK+ development decide to adopt Qt instead.

    In the long run, I think that GNOME would be much stronger if the community adopted Qt and improved it to accommodate the requirements of GNOME 3, but that's a huge change in direction and we all know that it would entail technical and cultural challenges that are almost insurmountable. So we end up back where we started, wondering how to move forward.

    So far, nobody has been bold enough to start a conversation about it in the broader GNOME community. It seems like the shock is still setting in.

    In my opinion, the most pragmatic first step would be to start talking about how to make Qt applications fit more seamlessly into the existing GNOME environment alongside GTK+ applications. The Qt developers have done some great theming work with QGtkStyle (which will be included in Qt 4.5) and it should be possible to further improve Qt integration with GNOME in other ways. That could be a starting point for an organic and incremental transition.

    11 months, 3 weeks ago by segphault

  • xan

    Saying that it's in the best interest of GNOME 3 to use Qt is like saying to all europeans that it's in their best interest to teach the next generation to speak Mandaring as their first language. Is it true? Well, maybe. Is it an attempt to impose an abstraction into a society/community without any consideration about what it would actually mean, what would be the consequences, what it would actually take to do it...? I think so. That's why no one is talking about it, it's a futile exercise.

    (Another analogy is that you'd be better off if you had a brain transplant. Ok, maybe it's true, but then I'd be no longer myself, so it'd be just as good (and easier) to start from scratch with a new person)

    11 months, 3 weeks ago by xan

  • segphault

    @xan: Talking about a Qt migration is not a futile exercise. It's entirely possible that GNOME could be marginalized in the future if the rest of the desktop Linux ecosystem converges on Qt and makes it the dominant technology. The additional functionality that Qt offers is certainly going to attract the companies that are best positioned to fund toolkit development. The extent of Qt's technical superiority is going to expand even faster as additional commercial software vendors become involved in improving it. The GNOME community should definitely be looking at the consequences of not adopting Qt. And the consequence could be getting left in the dust or displaced entirely.

    I'm also not convinced that a "brain transplant" would necessarily be a bad thing for GNOME. The recent "decadence" meme on d-d-l and PGO seems to demonstrate that there is a clear need for some kind of drastic shakeup. Some of the experiments that are being undertaken today by the GNOME community are just as drastic in scope as a Qt migration. Things like GNOME Shell are already moving the desktop towards a fundamentally different paradigm and identity.

    11 months, 3 weeks ago by segphault

  • qgil

    > Do you really think Qt will get a boost of application developers?

    It's reasonable to think that yes, in this way:

    1. Wave of closed source developers benefiting from LGPL bring more apps and buzz around the toolkit. They might very well push more users around those Qt apps.

    2. Also thanks to the relicensing and change in development mode, Qt sees more platform development and gets more/better features, more/better bindings, tools, docs...

    3. Free software application developers that didn't consider Qt in the past accummulate more and more reasons to do it after 1 and 2.

    Anyway most of this native development will be happening more and more in professional circles since the average app developer will be jumping on top of accessible runtimes and they will be looking at whatever makes their life easier to deploy in several platforms, have little hassle to have their little app in the desktop and mobile, and so on.

    But Xan, I agree with you on the Mandarine and the brain transplant. Maybe another option in this line is to convince KDE on adopting the GNOME design and usability principles. :)

    11 months, 3 weeks ago by qgil

  • xan

    gnome shell uses already existing gnome technologies and it's basically a replacement for the wm and the panel. It certainly can serve as a model for further changes, but it's by no means as drastic as porting all of gnome to Qt.

    And maybe gnome needs a new vision, but porting everything to a new toolkit is exactly the wrong kind of "revolution": you rewrite everything, spending years in the process, to end up exactly in the same place where you started. FWIW I think KDE has fallen in a minor version of this, where they don't have time to talk about decadende because they are too busy rewriting everything from scratch for the nth time to get marginal gains in end-user results. I think our time would be better spent hacking on truly new things that matter to people instead of starting from scratch, dumping years of work, because our free version of motif is not as good as the other guy's free version of motif ;)

    Besides, in 5 years everyone will be using web apps exclusively, haven't you got the memo.

    11 months, 3 weeks ago by xan

  • segphault

    @xan: I think a lot of people in the GNOME community underestimate the advancements that KDE has made during its transition to version 4. The KDE developers definitely made big mistakes along the way and I think that we can learn a lot from what they got wrong, but I think it would be a mistake to ignore all the things that they got right. Nepomuk and Plasma are a really big step forward that bring significant value to the KDE ecosystem.

    Web applications are a very powerful emerging trend... But in reality, I don't think that the browser will take over everything. What we are starting to see instead is convergence, where web content is exposed through desktop applications and desktop applications are increasingly built using web standards and web technologies. You can see evidence of this is the growing popularity of Rich Internet Application frameworks such as Adobe AIR.

    My microblogging program Gwibber is one of the few GTK+ applications in existence today that extensively leverages WebKit and integrates with web services, so I think that I have an inkling of the role that web technologies will play in the evolution of toolkits.

    The truth is that Qt is far, far ahead of GTK+ in this area. The Qt WebKit component already supports seamlessly interspersing native Qt widgets with HTML content and makes it easy to expose native application functionality in WebKit through JavaScript. Qt also extensively leverages existing web-oriented standards and technologies. For example, they fully support CSS theming, trivially designing new widgets with SVG, support for building and extending applications with JavaScript, and other similar things. The growing prevalence of web apps and web technology is really just another compelling reason to adopt Qt, because their strategy in that area is already very mature and forward-looking.

    11 months, 3 weeks ago by segphault

  • segphault

    @xan: you probably know much better than I do what the current status is of the GTK+ WebKit port. In your view, how long do you think it will take for it to have functional parity with what already exists today in Qt?

    11 months, 3 weeks ago by segphault

  • jobi

    I agree with Xan that changing the underlying toolkit at the very moment when toolkits as we know them are becoming ever more irrelevant would be a very bad move. I think the GNOME platform has the best components in all the areas that matter (GIO, GStreamer, pulseaudio, WebKit all immediately available in all JavaScript, C#, java ...) to build a desktop as they should be today, just a window over web and multimedia content. Qt is for sure better than GTK+, and if the license had been LGPL from the start I don't think GTK+ would have even existed. But that was then, when desktops meant using spreadsheets and word processors.

    11 months, 3 weeks ago by jobi

  • xan

    @segphault: precisely my point is that cool things like Plasma or Nepomuk could have been in the hands of users a long time ago if they hadn't been mixed with rewriting everything from scratch. I think in this regard GNOME got it very right with its incremental approach to everything.

    About WebKit/GTK+, well... my hope is to try to make Epiphany 2.28 usable (ie, 'stable' and 'feature complete') and have some kind of alpha/beta by 2.26. But predicting the progress of volunteer-based projects is even harder than predicting the progress of normal software projects, so take that with a grain of salt. (That being said, I'm happy with the progress in the past two months or so, and I think ephy trunk is coming along nicely).

    11 months, 3 weeks ago by xan

Sign in to add a comment