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

Clasen: Introducing GtkInspector

Clasen: Introducing GtkInspector

Posted May 19, 2014 13:31 UTC (Mon) by rahulsundaram (subscriber, #21946)
In reply to: Clasen: Introducing GtkInspector by jospoortvliet
Parent article: Clasen: Introducing GtkInspector

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.


(Log in to post comments)

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.


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