Linked by Thom Holwerda on Tue 18th Jan 2011 22:18 UTC, submitted by alinandrei
Ubuntu, Kubuntu, Xubuntu De kogel is door de kerk. After years of focussing entirely on Gtk+ and GNOME, Ubuntu will finally start evaluating Qt applications for inclusion in the defaukt Ubuntu installation. Mark Shuttleworth announced the policy change on his blog today.
Thread beginning with comment 459023
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: De kogel is door de kerk
by lemur2 on Wed 19th Jan 2011 09:14 UTC in reply to "RE[4]: De kogel is door de kerk"
lemur2
Member since:
2007-02-17

Yep, they must. All Qt programmers that do not use dconf will be arrested and executed.

Oh wait, the only downside to not implementing dconf is that you won't see your application installed by default on the Ubuntu live CD. So no, nobody must do anything.

All Canonical is doing is creating a new piece of software that allows Qt application to integrate better into GNOME and Ubuntu. Yes, not just Ubuntu, this will also benefit other distros that combine GNOME with Qt applications. And everybody is free to use or ignore it.

I don't get all these comments saying "I have wanted Qt apps in Ubuntu for years, and now they are doing it. Those bastards!"


I'm sorry you missed the sarcasm tag, I actually did put one right there in that post for you.

Anyway, my point is this ... why should authors of Qt applications be falling over themselves to re-write their apps just for the "honour" of being included on Mr Shuttleworth's Ubuntu default install CD?

Why would it be so hard for Mr Shuttleworth to arrange to do the work of integration, if he wants to include these best-of-class Qt applications on his default CD?

There are two methods which come to mind, neither of which would require Qt authors to leap to Mr Shuttleworth's bidding (for Mr Shuttleworth's benefit):

1. Ubuntu writes a replacement qtconfig
http://doc.qt.nokia.com/latest/qtconfig.html
The qtconfig tool allows users to customize the default settings for Qt applications on a per-user basis, enabling features such as the widget style to be changed without requiring applications to be recompiled.
and a replacement for QsettingsClass in the QtCore module, both of which integrate with dconf, all other parts of Qt remain untouched,

http://doc.qt.nokia.com/4.6.2/qsettings.html
Detailed Description

The QSettings class provides persistent platform-independent application settings.

Users normally expect an application to remember its settings (window sizes and positions, options, etc.) across sessions. This information is often stored in the system registry on Windows, and in XML preferences files on Mac OS X. On Unix systems, in the absence of a standard, many applications (including the KDE applications) use INI text files.

QSettings is an abstraction around these technologies, enabling you to save and restore application settings in a portable manner. It also supports custom storage formats.

QSettings's API is based on QVariant, allowing you to save most value-based types, such as QString, QRect, and QImage, with the minimum of effort.


or

2. Ubuntu writes an expanded dconf module which edits both the dconf database and the qtconfig and QsettingsClass storage.

Either way, it seems to me, suddenly Qt applications running on Ubuntu will see the same settings changes as dconf does, without any requirement for said Qt applications to be re-written or even re-compiled.

Surely this is an infinitely better solution for everybody, even for Mr Shuttleworth?

Edited 2011-01-19 09:24 UTC

Reply Parent Score: 3

saynte Member since:
2007-12-10

dconf has technical advantages over flat-file storage, including notice of changes, and a quite fast retrieval/loading mechanism (as it is more likely that settings are read than written).

Having the author of dconf write bindings for Qt, so there is the choice of using it, is a good thing!

Reply Parent Score: 2

lemur2 Member since:
2007-02-17

dconf has technical advantages over flat-file storage, including notice of changes, and a quite fast retrieval/loading mechanism (as it is more likely that settings are read than written).

Having the author of dconf write bindings for Qt, so there is the choice of using it, is a good thing!


But only Qt applications which were re-written to explicitly call those bindings (probably making them a dependency, and also therefore bringing in dconf as a dependency) would be able to work.

However, modifying dconf to also provide a replacement QSettings class and a replacement qtconfig would provide the desired mechanisms for Qt applications running under Ubuntu's GNOME to use the dconf database WITHOUT having to modify said Qt applications!

Better for everybody!

Reply Parent Score: 2

geertjan Member since:
2010-10-29

Wait, I thought the sarcasm tag just applied to that last sentence you wrote. Are you saying it applied to your entire post? So this part:

...all authors of Qt applications must re-write parts of their application in order to be aware of qt-dconf settings, unique to Ubuntu?


was sarcastic as well? So you agree with me that it's not true that all Qt applications must be re-writen and that it will only work on Ubuntu?

Anyway, I think here is where your problem lies:

Anyway, my point is this ... why should authors of Qt applications be falling over themselves to re-write their apps just for the "honour" of being included on Mr Shuttleworth's Ubuntu default install CD?


Seems to me you are just creating this problem in your head. There is no matter of "honour" here. Nobody is being forced to do anything. Here's how I see it for example:

For years people have been asking for the inclusion of Qt apps in the default Ubuntu install. Canonical didn't want to do this at first because of poor integration in GNOME. But now it seems they have some room in their budget for helping that integration, making Qt apps in the default install possible. Apart from being good for Ubuntu in the long run, this is a favor for those who wanted Qt apps in Ubuntu. For those that are not interested in this, *nothing* changes.

If you don't like their dconf solution, that's fine. Your solution with QSettings sounds good too. Perhaps you should collaborate with Canonical on it, or try to implement it yourself.

But as long as they are implementing something with their time/money - something which has no down-sides because it doesn't affect anybody that is not interested - than that can only be a good thing in my book. You can say it's not good enough, but I don't see how you can view this as a bad thing.

Reply Parent Score: 2

lemur2 Member since:
2007-02-17

Wait, I thought the sarcasm tag just applied to that last sentence you wrote. Are you saying it applied to your entire post? So this part:

...all authors of Qt applications must re-write parts of their application in order to be aware of qt-dconf settings, unique to Ubuntu?

was sarcastic as well? So you agree with me that it's not true that all Qt applications must be re-writen and that it will only work on Ubuntu?


Qt applications must be re-writen under Mr Shuttleworth's proposed scheme in order to work in an integrated fashion ONLY on Ubuntu. Yes indeed, that is what I meant.

Anyway, I think here is where your problem lies:

Anyway, my point is this ... why should authors of Qt applications be falling over themselves to re-write their apps just for the "honour" of being included on Mr Shuttleworth's Ubuntu default install CD?

Seems to me you are just creating this problem in your head. There is no matter of "honour" here. Nobody is being forced to do anything.


Your misunderstanding, not mine. Indeed nobody is being forced to do anything ... so nobody will do anything to make their Qt application depend on Ubuntu. That's crazy.

Here's how I see it for example:

For years people have been asking for the inclusion of Qt apps in the default Ubuntu install. Canonical didn't want to do this at first because of poor integration in GNOME. But now it seems they have some room in their budget for helping that integration, making Qt apps in the default install possible. Apart from being good for Ubuntu in the long run, this is a favor for those who wanted Qt apps in Ubuntu. For those that are not interested in this, *nothing* changes.


So why not simply do it in a way that Qt applications can run in an integrated fashion under Ubuntu without requiring changes to Qt applications? All it requires is for Ubuntu's GNOME desktop to replace a few small parts of Qt, in a very similar way that KDE desktops currently replace a few small parts of GTK in order to achieve the GTK integration. What exactly would be wrong with doing that? It is no more work for Ubuntu.

If you don't like their dconf solution, that's fine. Your solution with QSettings sounds good too. Perhaps you should collaborate with Canonical on it, or try to implement it yourself.


Canonical say they have already employed someone to do it the boneheaded wrong way. It won't work guys, it will fall in a heap for lack of Qt application authors willing to make their applications dependent on Ubuntu's GNOME.

But as long as they are implementing something with their time/money - something which has no down-sides because it doesn't affect anybody that is not interested - than that can only be a good thing in my book. You can say it's not good enough, but I don't see how you can view this as a bad thing.


It is not that so much as that I am making the observation that it could very simply, with a sensible approach, be made a very much better thing for everybody concerned.

Edited 2011-01-19 10:33 UTC

Reply Parent Score: 2

shocked
by ngaio on Thu 20th Jan 2011 02:14 in reply to "RE[5]: De kogel is door de kerk"
ngaio Member since:
2005-10-06

Anyway, my point is this ... why should authors of Qt applications be falling over themselves to re-write their apps just for the "honour" of being included on Mr Shuttleworth's Ubuntu default install CD?


I am shocked at aggression and anger directed toward Ubuntu in so many of the comments in this discussion. It seems a small but very vocal minority is interpreting Canonical's actions in the most negative light possible, and sharing their negativity with the rest of us.

FOSS development, just like practically any field in which people-to-people cooperation is essential, requires people be -- at minimum -- civil and respectful of each other.

Unfortunately much of the discussion in the last day or two has been anything but civil.

Reply Parent Score: 2

RE: shocked
by lemur2 on Thu 20th Jan 2011 03:14 in reply to "shocked"
lemur2 Member since:
2007-02-17

"Anyway, my point is this ... why should authors of Qt applications be falling over themselves to re-write their apps just for the "honour" of being included on Mr Shuttleworth's Ubuntu default install CD?
I am shocked at aggression and anger directed toward Ubuntu in so many of the comments in this discussion. It seems a small but very vocal minority is interpreting Canonical's actions in the most negative light possible, and sharing their negativity with the rest of us. FOSS development, just like practically any field in which people-to-people cooperation is essential, requires people be -- at minimum -- civil and respectful of each other. Unfortunately much of the discussion in the last day or two has been anything but civil. "

I'm shocked as well. Utterly shocked to my core.

I'm shocked that no-one has bothered to answer the perfectly civil question ... "why should authors of Qt applications be falling over themselves to re-write their apps just for the "honour" of being included on Mr Shuttleworth's Ubuntu default install CD?".

There is no insult in the question, there are no angry words, no-one is accused of anything, and it is a perfectly valid quetion after all. Why should authors of Qt applications go to all the bother that Mr Shuttleworth is asking of them? What incentive is there?

Why shouldn't it be a vastly more preferable approach that Ubuntu itself is modified slightly instead, in order to better accomodate Qt applications as they already are?

Hmm?

Why can no-one answer these questions?

Edited 2011-01-20 03:16 UTC

Reply Parent Score: 3