User: Password:
|
|
Subscribe / Log in / New account

Clasen: Introducing GtkInspector

Clasen: Introducing GtkInspector

Posted May 17, 2014 17:52 UTC (Sat) by raven667 (subscriber, #5198)
In reply to: Clasen: Introducing GtkInspector by donbarry
Parent article: Clasen: Introducing GtkInspector

Not obliteration but promotion of one toolkit as the primary default with other toolkits which are used for legacy, unmaintained software or experimentation as secondary. I for one would like to see the GNOME project create some of their utilities using Qt just to take it out for a spin and to get some skin in the Qt game. Supporting Qt as a first-class citizen on the GNOME desktop, by using it, would do a lot to end the idea that you have to pick a camp in the Linux desktop wars and get siloed into this bifurcated technology universe. Maybe this would be the beginning of a "Linux standard desktop" where there is a default technology stack you can rely on, rather than two competing stacks which share only a few components.

I think that you are right in that the creation of Gtk in competition to Qt helped greatly in getting Qt where it is today in terms of technology and license, but now that we've all won it may be time to stop competing and start working together and if one of these projects is going to become legacy, it should probably be Gtk, the Qt stack seems to have consistently more resources maintaining it, and more shipping software using it. From my leather armchair smoking a cigar and sipping bourbon it seems like the winner. 8-)


(Log in to post comments)

Clasen: Introducing GtkInspector

Posted May 17, 2014 19:19 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

I might agree with you except that Qt still requires you to a sign a CLA to contribute. If the assets were controlled by a non-profit foundation with commercial support by multiple vendors, that would be a more natural alignment with GNOME.

Clasen: Introducing GtkInspector

Posted May 17, 2014 19:23 UTC (Sat) by raven667 (subscriber, #5198) [Link]

That's a good point. I still think that direct participation in the Qt ecosystem, which would require using it and developing it, would give more leverage to make these kinds of changes, as you go from being one of "them" to one of "us".

Clasen: Introducing GtkInspector

Posted May 17, 2014 21:31 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

Not necessarily. c.f Suse, Sun and OpenOffice.org. I don't recall any counter examples.

Clasen: Introducing GtkInspector

Posted May 18, 2014 15:57 UTC (Sun) by raven667 (subscriber, #5198) [Link]

That's another good point. Even in that case though the effort wasn't split across two unrelated code bases so even though the community split they were still able to take advantage of their pooled efforts. I think LibreOffice still has more man-hours of effort put into it than AbiWord and Gnumeric for example, how much time and how many people who are working on something does make a difference in quality and features.

Clasen: Introducing GtkInspector

Posted May 18, 2014 16:42 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link]

Now consider this: If Suse and Red Hat had invested in OpenOffice.org but one that wasn't burdened by Sun's restrictions, all the energy we see around libreoffice.org, we might have seen a decade back. Governance matters to any large open source project and one that is frequently overlooked till there is substantial damage already done. This isn't limited to legal restrictions (Ex: Xfree86) but one important piece is whether the governance model, allows multiple commercial vendors to participate without ceding control to one company. Projects that are neutral (Linux Kernel, OpenStack) generally do much better than projects that don't (Hudson) in attracting such contributions. There are some limited exceptions (OpenJDK is not doing too bad despite Oracle's lawsuits) but in almost all such cases, having a non-profit foundation at the center helps.

Clasen: Introducing GtkInspector

Posted May 19, 2014 8:36 UTC (Mon) by jospoortvliet (subscriber, #33164) [Link]

Qt's Open Governance is working quite well. The restrictions due to CLA aren't that bad, nothing like OpenOffice or MySQL, as you like to compare to. More like how it is here at ownCloud - I haven't met a single person who has had a problem with our CLA and our business model.

Qt, unlike GTK, also has a very healthy ecosystem with a wide variety of companies contributing and offering consulting - about 40% of contributions comes from other companies and individuals (see http://www.macieira.org/blog/qt-stats/ ) and that alone is far more than GTK gets in total.

I would count the ecosystem argument as a pro for Qt, not GTK. And so do others, considering the contributions and projects moving over to Qt ;-)

Not that I don't think a non-profit could improve things at some point, but with the protection from the KDEFreeQtFoundation and the business alignment and relationships between Digia and the other partners in the ecosystem, things are quite secure.

Clasen: Introducing GtkInspector

Posted May 19, 2014 13:31 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

I have a problem with any CLA that given a unequal advantage to a single commercial player and if Digia and OwnCloud does that, it is as bad as any other CLA out there and things might look secure for now but I don't trust that sort of model anymore and a non-profit foundation is a way to preserve that neutrality without the need to look at one company's financial statements which might not even be public since these are private companies.

Clasen: Introducing GtkInspector

Posted May 19, 2014 13:37 UTC (Mon) by mpr22 (subscriber, #60784) [Link]

It turns out to be the case that Digia plc is listed on the Helsinki Stock Exchange.

Clasen: Introducing GtkInspector

Posted May 19, 2014 20:09 UTC (Mon) by jospoortvliet (subscriber, #33164) [Link]

Yes, you have every right to not want a CLA in place. But as I argued below, the CLA doesn't take anything away from the ecosystem. There isn't a single business model limited by one company in the ecosystem having a CLA agreement - the code is LGPL.

That is, as long as development is under a proper open governance and you have a guarantee that the product stays open. And it is. So while you can be against it for personal reasons, there is no objective downside to it.

And yeah, Digia is a public company.

Clasen: Introducing GtkInspector

Posted May 19, 2014 20:38 UTC (Mon) by mjg59 (subscriber, #23239) [Link]

> But as I argued below, the CLA doesn't take anything away from the ecosystem.

Sure it does. You have a single entity who's able to compete in ways that nobody else can. If I write a significant body of work based on Qt then my choices are either (a) sign the CLA, giving Digia a significant competitive advantage over me when it comes to selling my code to other companies who want to ship proprietary forks of Qt, or (b) not signing the CLA, ensuring that most of the ecosystem never gets to use it. In the absence of any incentive to pick (a), the ecosystem suffers.

Clasen: Introducing GtkInspector

Posted May 19, 2014 21:05 UTC (Mon) by jospoortvliet (subscriber, #33164) [Link]

Yes, in a CLA ecosystem, one party can do something which in a non-CLA ecosystem, simply NOBODY can. That means that unless you're that one company, your options are the same as in a non-CLA ecosystem. For you, nothing is different.

Oh, wait, somebody has an unfair advantage. That is how they pay for all the Qt developers to work on the toolkit, which we all benefit from. Including you. Bigger pie beats fighting over the pie, if you ask me.

The result is a toolkit that has hundreds of paid developers. If you prefer to fade into nothingness because you don't have the resources to build a first-class toolkit that's fine. At least nobody has a competitive advantage over you! not that there's any market to fight over left...

Really, I'm not a huge CLA fan myself, but if it is done properly and reasonably, it simply works. And I care more for actually bringing FOSS to people than some barely relevant "I don't like the unfair advantage" thing.

Pragmatism, baby.

Clasen: Introducing GtkInspector

Posted May 19, 2014 22:07 UTC (Mon) by mjg59 (subscriber, #23239) [Link]

It means Digia can pay for Qt developers. It means nobody else is as likely to. You may feel that this is the optimal situation for the ecosystem, but don't pretend that there are no downsides. Other projects manage to support commercial development without CLAs, so it's clearly not impossible. It's just not the business model that Digia have chosen.

Clasen: Introducing GtkInspector

Posted May 19, 2014 22:15 UTC (Mon) by raven667 (subscriber, #5198) [Link]

> It means nobody else is as likely to.

To elaborate on this point in case it isn't clear, many businesses won't have their paid developers work on code to then sign over the rights with a CLA to another company, so you are likely to only get contributions from unpaid volunteers, who can't help work on the code full-time like paid developers from other companies can. To put a finer point on it, the commercial Linux distributers and consultancies are unlikely to put any full-time paid development resources into a CLAd community for this reason alone.

Clasen: Introducing GtkInspector

Posted May 20, 2014 2:27 UTC (Tue) by torquay (guest, #92428) [Link]

Yes, one would think that this would generally true, but the GUI toolkit situation under Linux shows that a different set of dynamics and realities is at work.

Specifically, the amount of paid contributors to GTK is tiny (mainly Gnome folks from Red Hat), and pales in comparison to the large number of unpaid volunteers contributing code to QT. What's more, QT also has paid developers (Digia), which outnumber the unpaid volunteers. The end result is that GTK is developer starved, while QT is a well funded professional effort.

Having a CLA allows Digia to create a stable environment for developers, which ends up being a virtuous circle. The better QT gets, the more money Digia brings in, which pays for the developers and brings in more volunteers. QT is still open source, with a guarantee of always being open source.

This all goes to show that there is more than one business model for creating, maintaining and profiting from open source software. Having a non-profit foundation is certainly one way, but not the only way.

Red Hat brings in money through subscriptions, and enforces this through asserting and defending its trade marks. We're not complaining about how Red Hat is paying people to develop open source software, and neither should we be complaining about how Digia is paying people to develop open source software. They obtain their money in different ways, but the end result is more open source software.

Clasen: Introducing GtkInspector

Posted May 20, 2014 3:35 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

"We're not complaining about how Red Hat is paying people to develop open source software, and neither should we be complaining about how Digia is paying people to develop open source software. They obtain their money in different ways, but the end result is more open source software."

Who is we? Didn't you start the thread on a news post about a new GTK development with your opinions on how development of GTK itself is pointless and has no benefits compared to Qt. If you are going to characterize the replies pointing out the benefits of GTK in comparison to Qt as complaints, that applies equally if not more to your original post. So heed your own advice.

Clasen: Introducing GtkInspector

Posted May 20, 2014 7:26 UTC (Tue) by jospoortvliet (subscriber, #33164) [Link]

That seems quite a different thing - he said GTK offers nothing over Qt. I agree that Free Software would be better off if projects moved to Qt, just like we let FLTK die in peace. You brought up that you don't like the business model of one of the contributors to Qt and I said that at least it WORKS and it seems quite irrelevant in the big picture...

Clasen: Introducing GtkInspector

Posted May 20, 2014 14:01 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

" That seems quite a different thing - he said GTK offers nothing over Qt. I agree that Free Software would be better off if projects moved to Qt, just like we let FLTK die in peace"

Wishing that alternatives to your favorite toolkit just die doesn't seem to be the right mindset. I don't see such posts on news regarding new Qt features.

". You brought up that you don't like the business model of one of the contributors to Qt and I said that at least it WORKS and it seems quite irrelevant in the big picture..."

Now you are downplaying the issue. Qt trademark and copyrights are aligned with one company that controls it via a CLA. So it is not merely a business model of just one company and it isn't the company that matters as much as the problems associated with the CLA based development model. We all I think agree that there are problems but we might have different perspectives on the impact in this case which is fine but it certainly isn't irrelevant especially when you consider the big picture.

Clasen: Introducing GtkInspector

Posted May 20, 2014 14:04 UTC (Tue) by HelloWorld (guest, #56129) [Link]

> Wishing that alternatives to your favorite toolkit just die doesn't seem to be the right mindset.
Having multiple GUI toolkits is actively harmful, and given that Qt beats the pants off GTK in almost every way, it's clearly GTK that needs to go away.

Clasen: Introducing GtkInspector

Posted May 20, 2014 14:51 UTC (Tue) by raven667 (subscriber, #5198) [Link]

That is hyperbolic, to the point of absurdity, as is often the case. There is no inherent harm in having some specialty toolkits if people want to work on them but that doesn't mean there shouldn't be a standard default toolkit that is relied upon as part of the basic API of any desktop, that all desktop environments should be able to consider native and not foreign even if the desktop compositor itself does its own thing.

Clasen: Introducing GtkInspector

Posted May 20, 2014 16:22 UTC (Tue) by HelloWorld (guest, #56129) [Link]

> There is no inherent harm in having some specialty toolkits if people want to work on them
There is. Having two completely separate toolkits means I can't use custom widgets developed for GTK in my Qt application or vice versa. It means that many applications will look inconsistent on my desktop. It means that tools such as graphical GUI builders cannot be shared. And there are many, many more problems caused by this...

Clasen: Introducing GtkInspector

Posted May 20, 2014 16:26 UTC (Tue) by raven667 (subscriber, #5198) [Link]

I can't stick a whole banana in my ear either but I'm not claiming this failure is inherently harmful.

Clasen: Introducing GtkInspector

Posted May 20, 2014 18:39 UTC (Tue) by HelloWorld (guest, #56129) [Link]

That comparison is so lame it needs a wheelchair.

Clasen: Introducing GtkInspector

Posted May 20, 2014 18:43 UTC (Tue) by mjg59 (subscriber, #23239) [Link]

I can't cut and paste python into my C code either. We seem to cope.

Clasen: Introducing GtkInspector

Posted May 20, 2014 19:05 UTC (Tue) by HelloWorld (guest, #56129) [Link]

We can call C from Python and vice versa. How do I embed a GTK widget in a Qt application?

Clasen: Introducing GtkInspector

Posted May 20, 2014 19:13 UTC (Tue) by mathstuf (subscriber, #69389) [Link]

Conceptually: in Qt, implement a GtkDrawable with a QPainter to draw on and in GTK, implement a QPainter with a GtkDrawable in it and add Qt widgets to the QPainter. Or something like that. Size hint and event translation is likely going to be the killer though.

Clasen: Introducing GtkInspector

Posted May 20, 2014 20:08 UTC (Tue) by HelloWorld (guest, #56129) [Link]

Has anybody ever actually done this and used it productively? Is it documented?

Clasen: Introducing GtkInspector

Posted May 20, 2014 6:19 UTC (Tue) by boudewijn (subscriber, #14185) [Link]

And Qt has paid developers in other companies -- like KDAB.

Clasen: Introducing GtkInspector

Posted May 20, 2014 15:07 UTC (Tue) by raven667 (subscriber, #5198) [Link]

That's great but I think the original point wasn't to list all the companies which are deeply in the Qt ecosystem and support Digia, it was to point out the companies which have no-CLA policies, that this is a real thing which is blocking some areas where Qt could grow into. Is the point to say f**k-em if they don't like a CLA and bifurcate the marketplace or to try and grow and incorporate all the parties because there are influential members of the larger Linux community that won't participate under those terms.

I don't think any proprietary-CLA'd software can take a place as a standard component on Linux because of this, but maybe I'm wrong. It doesn't seem to be working out for Canonical though...

Clasen: Introducing GtkInspector

Posted May 21, 2014 3:31 UTC (Wed) by torquay (guest, #92428) [Link]

    I don't think any proprietary-CLA'd software can take a place as a standard component on Linux because of this

QT is open source, not proprietary. Also, QT is already a standard component in Linux-based OSes, via the LSB. It's also in Fedora, Debian, Ubuntu, etc since forever.

This entire ideological aversion to CLA'd software is bordering on insane. The software is still open source, which is of primary importance, not secondary. Using GTK when there is a known and significantly better alternative is cutting off one's nose to spite the face (ie. self destructive). By choosing GTK, a developer in effect cuts themselves off from a considerably more vibrant development community, a better maintained toolkit, more stability, saner use, better documentation, etc etc.

You can't chage reality: GTK, despite the lack of a CLA, is in a much worse state than QT, whose main developer (Digia) has a CLA. The onus is hence on the anti-CLA brigade to practically demonstrate (not just theoretical mumbo jumbo) that CLA is actively harmful in this case. The evidence is pointing in the other direction: CLA is actually very useful in this case.

Clasen: Introducing GtkInspector

Posted May 21, 2014 14:34 UTC (Wed) by raven667 (subscriber, #5198) [Link]

> QT is open source, not proprietary.

But the point is that with a CLA it can be taken proprietary at any time, that's the whole point of having one.

> You can't chage reality: GTK, despite the lack of a CLA, is in a much worse state than QT, whose main developer (Digia) has a CLA. The onus is hence on the anti-CLA brigade to practically demonstrate (not just theoretical mumbo jumbo) that CLA is actively harmful in this case. The evidence is pointing in the other direction: CLA is actually very useful in this case.

That seems like a claim that software, without a gatekeeper company with a CLA selling proprietary versions, can't be successful. That is a different discussion. The point I've been trying to make, that I haven't seen acknowledged, is that, even given the number of contributors to Qt, there are an even wider array of potential contributors who abstain because of the CLA, and even provide roadblocks preventing Qt from achieving the market dominance it may be capable of, by funding competing projects.

Look at the recent sweep of systemd across the major distributions, if it was CLAd to RedHat do you think it still would have been successful? It was successful because the project did the hard work of adjusting to the needs of all the participants, supporting Debian and SuSE-isms when needed, instead of claiming they were doing it wrong and that their contributions weren't welcome.

Clasen: Introducing GtkInspector

Posted May 21, 2014 14:53 UTC (Wed) by mathstuf (subscriber, #69389) [Link]

> But the point is that with a CLA it can be taken proprietary at any time, that's the whole point of having one.

And if that happens, the KDE Free Qt contract triggers and we get a BSD release of the last non-proprietary Qt release. Where do you think companies would go then?

Clasen: Introducing GtkInspector

Posted May 21, 2014 15:33 UTC (Wed) by raven667 (subscriber, #5198) [Link]

That is an interesting question, I'm not sure there is a general answer, it might be very situation dependent. If the proprietary fork takes the bulk of the senior, full-time development staff with it then any ISV which is depending on Qt has to decide whether they take ownership of the whole toolkit, switch to something else or suck it up and buy proprietary licenses. This will split the community as different projects will make different decisions. The different versions may become incompatible with one another, the Free version may just bitrot over time.

If the core developers do leave then they might form another company or disperse into other companies and continue to work on a fully-functional, Free toolkit. If one group or the other can't recruit a critical mass of developers then maybe all available versions bitrot or go on life support with a slow trajectory of features and fixes.

Maybe the worst case is if the development community splits into multiple proprietary forks, since with BSD license there is no enforcement of a software commons to collect contributions, then they probably all die over time, failing to achieve a critical mass of developers or customers, with features maybe folding in when individual forks go belly-up, or being lost.

Almost any scenario I can think of involves there being less developers working on any particular fork so as a consequence development must slow down (or stop), compared to a non-forked scenario, and upheaval for anyone who has a core dependency on the toolkit. It's probably a stronger dependency and harder to switch than MySQL/MariaDB to PostgreSQL for example.

If you are lucky then if there is a fork like this the bulk of the developers go to the Free software version, which then supplants the proprietary fork and becomes standard like LibreOffice vs. StarOffice, but you can't always rely on being lucky.

Clasen: Introducing GtkInspector

Posted May 22, 2014 8:20 UTC (Thu) by niner (subscriber, #26151) [Link]

The point still is: Qt does have more independent contributors than Gtk has in total! So you're arguing that people should choose a toolkit that is barely maintained by few developers because the in almost any sense superior alternative might in theory at some time in the future have fewer contributors than it has now. And this does not make any sense at all.

The Gtk developers may loose interest in their toolkit anytime as well. Same as they have already lost interest in really supporting non-Gnome applications and other operating systems than Linux.

I agree that the optimal situation would be to have a CLA-free Qt. But that's right now not an option. Even with the CLA Qt has better technology, better documentation, better maintenance, more independent contributors and more contributors overall. The choice is pretty much obvious.

Clasen: Introducing GtkInspector

Posted May 22, 2014 15:31 UTC (Thu) by raven667 (subscriber, #5198) [Link]

I clearly have not been clear, I am not advocating for GTK or arguing that people should choose it, quite the opposite in fact, but I am pointing out the fact that there are various reasons some are choosing GTK and that he CLA is one of those reasons so if you want to pick up those users/organizations which are currently backing GTK the CLA is one reason why this hasn't happened.

Clasen: Introducing GtkInspector

Posted May 22, 2014 17:31 UTC (Thu) by boudewijn (subscriber, #14185) [Link]

Which organizations? Who is choosing to port to GTK or start a new project in GTK because of Qt's CLA?

Clasen: Introducing GtkInspector

Posted May 22, 2014 8:43 UTC (Thu) by jospoortvliet (subscriber, #33164) [Link]

See, and that is where an ecosystem is important. If all the senior contributors to a project would work for a single company, this would be a risk.

Reality is different, again: 40% of contributions to Qt come from outside of Digia. Which, as was pointed out before, on its own already represents more contributions than GTK gets as a whole - making a Qt-without-Digia still a healthier ecosystem than GTK ever will be.

Sorry, but this is frustrating. You and Rashul are arguing that due to a hypothetical and unlikely risk, which if taken place would still put Qt far ahead of GTK, we should not rely on Qt. You argue that the CLA has all kinds of horrible effects (resulting in 'nobody else would want to contribute to it') while the current reality CLEARLY proves you wrong, I can keep quoting it: about 40% of the code in Qt comes from outside of Digia. That number makes all these hypothetical anti-CLA arguments moot. There is a huge business around Qt and I can so name you three independent parties which would be able to maintain Qt all on their own if all Digia offices would be simultaneously hit by a meteor tonight (or tomorrow, rather, there's a great shower coming, you're lucky if you're in the US. Watch it around 3PM Eastern time and tell me what a sucker I am for living in Berlin).

If Digia hadn't bought Qt from Nokia, don't you think KDE, KDAB and the many other companies and communities building on top of it would've set up a foundation and kept the LGPL version alive? There are 500.000 developers using Qt out there. If only 5% of those gave a crap that Qt would go proprietary, the project would have orders of magnitude more resources than GTK.

I have a feeling you're still stuck in the unclear Qt licensing situation in the end of the 90's. But things have changed. Qt is a hugely successful open project now, GTK can't even see the tail lights anymore. KDE is splitting up its libraries, having upstreamed half to Qt and making the other half available as independent parts to Qt developers, hoping to ride the wave of Qt success.

Meanwhile, today, GTK just makes Linux look bad.

This is NOT against GNOME: GNOME SHELL doesn't make Linux look bad, not by a long shot. I don't use it, it isn't for me, but that does not mean I don't recognize that it is a great looker, exploring new interaction patterns, building innovative interfaces. I appreciate and applaud that. Of course I can't for the love of $DEITY imagine why that requires a custom-build toolkit, but fine. Just stop telling the rest of the world to build anything on Shell or that toolkit, really, it is a BAD IDEA.

Clasen: Introducing GtkInspector

Posted May 22, 2014 15:48 UTC (Thu) by raven667 (subscriber, #5198) [Link]

> Reality is different, again: 40% of contributions to Qt come from outside of Digia.

This is not a point that I am talking about, I agree that the Qt ecosystem has a lot of developers. Clearly I haven't been able to communicate what hair I am splitting here. The point is that there clearly exists an ecosystem around GTK who haven't chosen to use Qt and that if you want to convert those users and bring them into the Qt ecosystem then you will have to find out what their concerns are which are preventing them from joining and address them. One of those concerns seems to be the CLA. Talking about how big the Qt ecosystem currently is and how successful it has been doesn't change the fact that there is another (smaller) ecosystem out there blocking any kind of universal consensus in the Linux desktop space.

Maybe an analogy can help (or make it less clear 8-). A desktop software application which is only in English can have a large, vibrant development and user community and be wildly successful, but there will always be a part of the marketplace where telling potential users/developers to "learn English" is not going to be helpful, so there will always be a percentage of the marketplace you are cutting out by that decision.

Clasen: Introducing GtkInspector

Posted May 22, 2014 18:46 UTC (Thu) by HelloWorld (guest, #56129) [Link]

> The point is that there clearly exists an ecosystem around GTK who haven't chosen to use Qt and that if you want to convert those users and bring them into the Qt ecosystem then you will have to find out what their concerns are which are preventing them from joining and address them.
I doubt that the CLA is one of the reasons. There are nowadays two reasons people pick GTK: Gnome and legacy code. Addressing those is close to impossible for the Qt developers.

Clasen: Introducing GtkInspector

Posted May 22, 2014 20:09 UTC (Thu) by boudewijn (subscriber, #14185) [Link]

"I doubt that the CLA is one of the reasons. There are nowadays two reasons people pick GTK: Gnome and legacy code. Addressing those is close to impossible for the Qt developers."

Actually, is there any recently started project that picked GTK? Any project that felt, "Yo! users are in need of XYZ, let's give it them asap, so, the obvious choice is to start coding it in C and GTK!"?

Or even, "Yo! We're not giving our users what they need, we're not making progress as quick as we could, let's port to GTK, yay!"?

Clasen: Introducing GtkInspector

Posted May 22, 2014 20:37 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

Uzbl is pretty small, but WebKitGTK just provides lots more access than QtWebKit, so we're stuck with GTK. I was looking forward to WebKitNix (an OpenGL port), but that has died off already :/ .

Clasen: Introducing GtkInspector

Posted May 31, 2014 14:36 UTC (Sat) by Velmont (guest, #46433) [Link]

Question, have you looked into Chromium at the content API layer? There's quite some compartmentalization going on, and making the project more useful for outsiders.
We're even doing some of that work in Opera (where I work), because it's obviously helpful for us :)

Clasen: Introducing GtkInspector

Posted May 26, 2014 15:00 UTC (Mon) by jospoortvliet (subscriber, #33164) [Link]

But the point is that with a CLA it can be taken proprietary at any time, that's the whole point of having one.

... and this piece of nonsense keeps irking me every time I read it. What crazy business model would that be, developing something for years in the open just so you can, some day, suddenly (after a super special code commit or something) close it up?

You don't seem to get the business model of companies like Qt (and others). Some of their customers' legal departments insists on not having any (l/a)GPL software. Fine, they pay for that 'privilege', that helps keep Digia paying hundreds of people to work on that software. But they do not, ever, intend to stop developing in the open. Why would they abandon a successful, smart business model where they work with a wide community of contributors to build great software? Again, Qt - 40% contributions outside of Digia. How stupid does one have to be to loose that?

I totally get that there is a fear that a potential, future owner would do that. Eg a Oracle that buys Qt. But THAT is exactly where the KDE Free Qt Foundation comes in so that risk is mitigated. And it could still be a realistic fear if this was throw-over-the-wall open source, like Android. But it isn't - Qt is developed fully in the open. Quite some sections are now maintained by people outside of Digia - Digia engineers have to engage these community members to get their code into Qt. Just as it should be.

You're just spreading FUD with this. And I'm quite sure you're aware of that, too, I'm sure I didn't tell you anything new.

Clasen: Introducing GtkInspector

Posted May 20, 2014 7:29 UTC (Tue) by jospoortvliet (subscriber, #33164) [Link]

I'm not saying there are no downsides, but you are sure wrong about businesses not paying developers to contribute code to Qt despite the CLA.

There is more paid Qt contributions outside of Digia than all of GTK (free and paid) combined - so reality renders your argument moot.

Clasen: Introducing GtkInspector

Posted May 18, 2014 3:07 UTC (Sun) by torquay (guest, #92428) [Link]

    I might agree with you except that Qt still requires you to a sign a CLA to contribute. If the assets were controlled by a non-profit foundation with commercial support by multiple vendors, that would be a more natural alignment with GNOME.

I don't disagree that having a foundation + backing by multiple commercial vendors would be better. This certainly works for the Linux kernel and gcc. However, given that there is far less interest in desktop technologies on Linux (not counting Google's Chromebook), we have far less interested commercial parties to provide associated backing. The reality is that there is only one company: Digia. In contrast to the amount of effort put in by Diga into QT, the amount of effort put in by Red Hat into GTK and Gnome is miniscule. Canonical, with its Unity/Mir efforts within Ubuntu is quite likely a rounding error in contrast to QT.

An idealogical stance along the lines of "must have more than one commercial backer before we use it" does not square with the reality of the present situation. Having one commercial backer for an open-source project is better than no backers. Having any commercial backer is also a rare luxury: the vast majority of open source projects is run entirely by volunteers.

Clasen: Introducing GtkInspector

Posted May 18, 2014 3:50 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link]

Digia is not the only organization interested in desktop toolkit development but setting side that, the key part is not multiple commercial vendors. That will happen organically if the governance is setup to encourage that and there is enough industry interest to do it. The more relevant part is that assets such as copyrights (via CLA) and trademarks shouldn't be controlled by a single commercial organization in a major open source project that we all rely on. We have learned repeatedly what happens when we choose to overlook this (ex, OpenOffice.org, Hudson etc etc). I don't consider this ideology. Just prudent risk management. Digia is welcome to setup a non-profit foundation or work with an existing foundation like SFC and drop the CLA. Until that point, it is far from a clear win and GTK is the best alternative that the community has.

Clasen: Introducing GtkInspector

Posted May 18, 2014 8:34 UTC (Sun) by niner (subscriber, #26151) [Link]

It would be, if it weren't for the KDE Free Qt Foundation: http://www.kde.org/community/whatiskde/kdefreeqtfoundatio...

Clasen: Introducing GtkInspector

Posted May 18, 2014 12:41 UTC (Sun) by torquay (guest, #92428) [Link]

An extract from the above site:
    This agreement ensures that the Qt will continue to be available under both the LGPL 2.1 and the GPL 3. Should Digia discontinue the development of the Qt Free Edition under these licenses, then the Foundation has the right to release Qt under a BSD-style license or under other open source licenses. The agreement stays valid in case of a buy-out, a merger or bankruptcy.
That's either the next best thing to having a dedicated non-profit QT foundation, or as good as having it. This leaves pretty much no reason to write new software in GTK.

Clasen: Introducing GtkInspector

Posted May 18, 2014 16:25 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link]

Sorry but no, it is nowhere as good as a non-profit foundation. The current situation is that unlike a non-profit foundation, a single commercial company retains the trademarks, the copyrights via CLA. This is enormous difference in the level of control one company has. The agreement only helps in the worst case scenario of a merger or bankruptcy. It doesn't help with day to day governance of the project at all and I am sure you are already aware of this and don't consider it a substantial risk to the project. I do.

Clasen: Introducing GtkInspector

Posted May 19, 2014 6:51 UTC (Mon) by torquay (guest, #92428) [Link]

I consider relying on a poorly maintained and haphazardly developed toolkit (GTK) as the greater risk. One can wax lyrical about various foundations, trademarks and CLAs ad nauseam, but what it comes down to in the end is that QT is clearly more suitable for Getting Stuff Done™. QT will always be available as open source (no matter what Digia does or doesn't), so the issues mentioned above are of virtually no practical consequence. Instead, they can be interpreted as attempts to prop-up a declining framework, which should have been taken out the back and shot a long time ago.

Clasen: Introducing GtkInspector

Posted May 19, 2014 22:46 UTC (Mon) by ovitters (subscriber, #27950) [Link]

> I consider [..] haphazardly developed toolkit (GTK) as the greater risk

You're not going to be taken seriously if you make statement like above. You dislike GTK, cool. But "switch because I dislike it" is not much of an argument.

Clasen: Introducing GtkInspector

Posted May 19, 2014 23:39 UTC (Mon) by HelloWorld (guest, #56129) [Link]

Why? GTK *is* poorly maintained. Watch at Dirk Hohndel's talk about switching subsurface to Qt. Look at the projects who are switching to Qt such as VLC, Wireshark or LXDE. Switching toolkits is a lot of work, so the fact that people are nevertheless willing to take this kind of pain tells something about GTK.

Clasen: Introducing GtkInspector

Posted May 20, 2014 19:07 UTC (Tue) by lambda (subscriber, #40735) [Link]

I watched Dirk Hohndel's talk, and my takeaway was that most of the issues were based on cross-platform use. In Gtk, running on platforms other than Gnome on X (or Wayland in the future) is a somewhat secondary goal, so while it works OK, there are a variety of platform integration issues and it doesn't really look or act very much like a native application. Cross platform application is precisely what Qt is designed for, and is much more of a core goal. As Dirk pointed out, most of Subsurface's users are on Windows and Mac OS X; it only has as high a percentage of Linux users likely due to Linus's involvement in the project.

I tried looking at a few of the issues they had mentioned where they had talked to Gtk developers and been snubbed, but I couldn't find much. One of them was asking about help on doing custom placement and changing the delay of tooltips, as they wanted to use tooltips to display information about what you were hovering over in the graph. They got a few answers about a few customizations you could do, but the response that to do it really well they'd probably have to implement a custom widget rather than using tooltips. What did they do in Qt? They wrote a custom widget for it.

The other major issue they mentioned was not being able to edit a dive right on the view screen, but having to pop up a separate window for editing. I never quite figured out what problem they ran into there. It would be helpful to point out the actual threads where they had trouble and had to give up in Gtk, because I'm curious about how much wasn't possible in Gtk, versus how much was just easier in a rewrite now that they knew about all of the mistakes they'd done in the first UI due to not being experienced UI developers.

Having some familiarity with both Gtk and Qt, though not a ton of experience, I would say that overall I prefer Gtk if I'm going to be writing Linux-native software, and Qt if I want to write something cross-platform.

Clasen: Introducing GtkInspector

Posted May 20, 2014 19:29 UTC (Tue) by rleigh (guest, #14622) [Link]

It's been poorly-maintained for over a decade. When I was using it in commercial projects around 2004-5 I was finding bugs regularly and filing bugs with patches in bugzilla (and bugs with stuff along the lines of "this is the bug, these are the options for fixing it, let me know which you prefer and I'll go and I'll fix it and give you the patches later in the week"). The company I worked for was happy for me to do that; they would probably have felt the same way for Qt. Most never got a reply and the patches were generally just left languishing. At the time these unfixed defects became a massive liability for the projects I was working on. I mean, what more could I have done? I'd found the bug, made the fix, submitted the patches... and then nothing. In the meantime I was hacking around the defects waiting for a new release containing the fixes, which never arrived. In the end, these internal projects never saw the light of day, but depending on it working reliably and also working on non-Linux platforms was dicey then and still is today. At the time, the principal reason to go with GTK+ over Qt was the licensing; it was technically inferior even then, and that was the one factor which swayed things. The (then) lighter resource requirements were a very minor consideration. The main change is the Qt licensing. There's now little reason /not/ to use Qt, GTK+ has few points in its favour today.

Here's one I got a message about this week by coincidence:
https://bugzilla.gnome.org/show_bug.cgi?id=308769
It would have been fixed by July 2005 had there been a reply saying "yes, fix it this way". This is a rare one which actually got a reply, but still no productive outcome. As it is, it's probably still broken (can't confirm, I ditched it soon after since I needed a working tool).

Just as a general comment on the CLA situation. I generally dislike them. But. If a project won't review and apply patches for bugs which are major blockers for their end users in a timely manner, who cares if it has a CLA or not? It's simply not safe to rely on either way. The above example was a non-critical example, but it blocked the use of UTF-8 strings in C sources which blocked the i10n/l10n of an entire project until we replaced the broken tool. There were plenty more serious ones at the time.

Clasen: Introducing GtkInspector

Posted May 20, 2014 6:23 UTC (Tue) by boudewijn (subscriber, #14185) [Link]

The sentence you quoted does not translate as "I dislike it" -- it's a pretty accurate observation and a good reason not to use the library. The development of GTK is haphazard, with a utility appearing here, and a new popup widget there, and then no ports to windows, then a port for windows, now everyone port to GTK3, now please don't, wait for GTK4, here a change to the theming system, there a new, and broken, CSS styling thing. It's not something that inspires confidence.

Mind you, if you closely follow Qt development, there's plenty in there that came about in the same fashion -- often the same things, even, like CCS-like styling. The difference is, it's almost always well-documented.

Clasen: Introducing GtkInspector

Posted May 20, 2014 7:34 UTC (Tue) by ovitters (subscriber, #27950) [Link]

Ok, saying again what I stated before: Just repeating haphazard and saying it is true doesn't make people want to read any further.

It seems you repeat what others are saying. I'm repeating it is pretty useless what you're doing. Theming is NOT guaranteed to be stable. Complaining about that or having to resort to that is pretty pointless. Same for other things that you highlight.

Clasen: Introducing GtkInspector

Posted May 19, 2014 8:42 UTC (Mon) by jospoortvliet (subscriber, #33164) [Link]

Note that GTK does NOT have anything Qt does not: for GTK, there is NO commercial entity which can give out another license if potential customers were interested. For Qt, there is. This is part of the reason why Qt has a lot more code and interests flowing into it, of course, but it doesn't limit anything.

Both code bases are under the LGPL, it is just that in Qt there's an extra option thanks to Digia - for those who pay for it, of course. That payment flows back into Qt as extra money.

This is the same situation as at ownCloud - without ownCloud Inc. there would simply be less development. Otherwise, it would still be aGPL so nobody loses.

Essentially, Rahul, what you portray as a 'problem' is an advantage for the ecosystem. Thanks to the proprietary license, companies like BMW and other large users of Qt contribute (via paying Digia). They would otherwise not or very little, as Open Source just isn't their thing.

Clasen: Introducing GtkInspector

Posted May 19, 2014 8:38 UTC (Mon) by jospoortvliet (subscriber, #33164) [Link]

Luckily, it isn't as bad as Torquay thinks: Digia is by far not the only contributor to Qt. The largest, yes, but not the only. About 40% of code comes from the outside, which, for a project that opened up less than 5 years ago, is quite good.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds