News for hackers. Stuff that matters.
Re:Qt 5.10 released by Koshkin on Thursday December 07, 2017 @11:09AM (#15871250)
As good as QT and KDE are, I cannot really explain the fact that the most popular Linux distributions seem to show preference for Gnome; is Gnome more stable? is the user experience provided by Gnome more "polished"? or, is it the K-isms that push them away? is Gnome less resource-hungry?
Re:Qt 5.10 released by octorian on Thursday December 07, 2017 @11:47AM (#15871586)
While the official story is that it was a political issue (or "licensing hissy-fit" depending on your point of view), I often can't help but wonder if that was really somewhat of a cover for a bunch of stuck up C developers who simply hated C++.

Of course the one time I attempted to write something with Gtk+, it very much felt like a "We hate C++, so we're going to implement everything C++ does as conventions and macros on top of C" project.

In the early days, Linux/gcc also had some dynamic linking performance issues with complex C++ libraries. As a result, KDE apps actually did take a lot longer to start up than Gnome apps. However, once launched, the KDE stuff always felt like it actually ran faster. Thankfully those issues are long since fixed.

Re:Qt 5.10 released by blattimwind on Thursday December 07, 2017 @02:38PM (#15873274)
KDE is mostly developed by Europeans (Qt as well), Gnome (and GTK) mostly by Americans, though this has somewhat diminished over the years. The Gnome Foundation is registered in California, while KDE e.V. is a German non-profit.

KDE, in a sense, was the original free desktop.

> K Desktop Environment (KDE) was founded in 1996 by Matthias Ettrich, who was then a student at the Eberhard Karls University of Tübingen. At the time, he was troubled by certain aspects of the Unix desktop. Among his concerns was that none of the applications looked, felt, or worked alike. He proposed the creation of not merely a set of applications but a desktop environment in which users could expect things to look, feel, and work consistently. He also wanted to make this desktop easy to use; one of his complaints about desktop applications of the time was that it is too complicated for end user.

Gnome could be considered an American "but-its-not-all-under-my-gpl" response.

Personally I always found glib and friends always quite ugly from a technical standpoint, and the poor documentation and support for platforms other than Linux made me move to Qt quite early on when I started.

Re:Qt 5.10 released by digi_owl on Thursday December 07, 2017 @04:18PM (#15874347)
Dunno about KDE, as i can't say i have followed it much since the whole KDE4 mess. But Gnome/GTK is looking more and more Anglo-germanic, and not in a good way...
Re:Qt 5.10 released by flukus on Thursday December 07, 2017 @06:32PM (#15875375)
> But Gnome/GTK is looking more and more Anglo-germanic, and not in a good way

That's weird, AFAIK KDE development is predominately German, Scandinavian and Anglo and I was under the impression that many key gnome developers were South American.

Re:Qt 5.10 released by Fnoord on Thursday December 07, 2017 @05:14PM (#15874872)
Qt has always been available under a dual license. A commercial one, and... "one intended to be open source". If you wanted to make your application open source you could use Qt, and if you wanted to keep your application proprietary you could buy a commercial Qt license.

Back when KDE was being developed (which was open source), although the Qt source was available Qt wasn't free software nor OSI compatible. Back then it was owned and developed by Trolltech ASA, a Norwegian company (it was eventually bought by Nokia). Because it wasn't considered free software nor OSI compatible, certain distributions such as Debian didn't include it in their free repository and the FSF claimed it was incompatible with the GPL. So you had to grab it from non-free. I remember compiling 1.4x myself, same with KDE. It was eventually released under the QPL which wasn't considered GPL compatible by the FSF. Eventually it was also released under the LGPL. However while all this relicensing was going on (and it took various years), GNOME was already being developed, which was taken under the wing of the FSF as the free software desktop. By the time Trolltech had released Qt under the QPL and GPL, we already had a fractured "Linux" or open source desktop.

During the early versions of GNOME and KDE (before Web 2.0) ie. KDE 1, KDE 2, KDE 3 and GNOME 1 and GNOME 2 KDE was seen as a Windows esque desktop environment with lots of bells and whistles. As you say, it had large support in Germany and SuSE. Meanwhile, GNOME was regarded as a more Apple-esque desktop environment (like OSX or macOS as its called now) and the other main large commercial Linux distribution RedHat and main competitor of SuSE had GNOME as default desktop environment. GNOME also had HIG when KDE didn't yet.

Meanwhile, as you put, GNOME's libraries were LGPL and were therefore more proprietary-friendly because it doesn't require the fee for a commercial license which Qt has. For bigger companies that might not be a large barrier of entry, and you can find an ample amount of high commercial quality applications based on Qt.

A comprehensive history is written on Wikipedia [1]

Incomplete lists of software using Qt (doesn't contain discontinued software such as e.g. Opera for Linux) [2] [3]

[1] https://en.wikipedia.org/wiki/Qt_(software)#History_of_Qt

[2] https://en.wikipedia.org/wiki/Qt_(software)#Applications_usi...

[3] https://en.wikipedia.org/wiki/Category:Software_that_uses_Qt

Re:Qt 5.10 released by AceJohnny2 on Thursday December 07, 2017 @02:40PM (#15873296)
> Of course the one time I attempted to write something with Gtk+, it very much felt like a "We hate C++, so we're going to implement everything C++ does as conventions and macros on top of C" project.

The original reason for that was ABI compatibility, and being able to provide bindings for various languages which was considered a primary goal. As I recall at the time, there was no C++ ABI standard (or GCC didn't implement it), and it was considered hard to provide bindings of the library to various other languages.

GTK was written in C mainly for that reason.

This also explains why common object-oriented concepts are reimplemented in C in GTK, because them rejecting C++ for ABI reasons didn't mean they rejected the concepts.

This also explains Vala, Gnome's OO language that pre-processes to C, in order to get the best of both worlds. (anyone getting CFront flashbacks?)

History puts everything in context...

Re:Qt 5.10 released by foldr on Thursday December 07, 2017 @02:57PM (#15873467)
Writing bindings for Qt is still a major undertaking compared to writing bindings for Gtk. There are okish gtk bindings for lots of languages, but Qt bindings are only available for massively popular languages.
Re:Qt 5.10 released by user5994461 on Thursday December 07, 2017 @06:30PM (#15875365)
There isn't and has never been a standard C++ ABI. To interface with a C++ dll, you need to compile the executable with the same compiler version and the same flags.
Re:Qt 5.10 released by AceJohnny2 on Thursday December 07, 2017 @08:49PM (#15876090)
You're right, it turns out what I was thinking of was just the Name Mangling convention, which looks like it isn't standardized either.
Re:Qt 5.10 released by user5994461 on Saturday December 09, 2017 @09:38AM (#15885957)
The name mangling is part of the ABI. It's super complicated in C++ because the functions can be overloaded and have variable amount of arguments. The rules are compiler and version and flags specific.

P.S. Name mangling is what define that the function "int print(char*)" will become "___4print@4" in the compiled DLL. All the functions in a DLL are listable and have a name, that's how they are found.

Re:Qt 5.10 released by digi_owl on Thursday December 07, 2017 @04:24PM (#15874403)
A bit of A, a bit of B, a bit of C.

It was a "Look at me!!!" project by De Icaza, the same guy that would later do Mono and now works for Microsoft, using the Gimp derived GTK toolkit, and using the Qt license as a pretense.

Looking back at it, it is really "funny" how much alike the path of Icaza and Poettering is.

Re:Qt 5.10 released by pjmlp on Thursday December 07, 2017 @02:01PM (#15872921)
> Of course the one time I attempted to write something with Gtk+, it very much felt like a "We hate C++, so we're going to implement everything C++ does as conventions and macros on top of C" project.

As I replied in a sibling comment, yep that was part of the issue.

Re:Qt 5.10 released by wenc on Thursday December 07, 2017 @11:24AM (#15871386)
It started out as a political issue (KDE being dependent on Qt, and Qt not being GPL at the time). The history is here: https://www.kde.org/community/history/qtissue.php

I've always preferred KDE to GNOME because I feel it is higher quality desktop environment, but I will be the first to acknowledge KDE mucked up around KDE 4 and even today there are weird glitches in the vastly improved KDE5. That said, I still run Kubuntu because I feel it continues to be better than Ubuntu (GNOME), and I can live with the little annoyances.

Re:Qt 5.10 released by whateveruser on Thursday December 07, 2017 @12:09PM (#15871768)
Could also be that Red Hat has a lot of devs on Gnome. That means more contributions, which means greater control over project's direction, the only way that can happen in OSS. And with corporate backing comes faith from many people. Also Debian defaulted to Gnome since v1(?). So did Ubuntu(mostly). KDE is very much a community project despite considerable resources from SUSE and few other corporate entities. Add to it Gnome's almost fixed 6 month churn and it becomes a pretty enticing choice for organizations having to support that piece of software for 5+ years.
Re:Qt 5.10 released by digi_owl on Thursday December 07, 2017 @04:28PM (#15874440)
And you will also find that while KDE devs stay without their on sphere for the most part, Gnome devs "dives the stack".

Meaning that you will just as often find them working on something under the Freedesktop banner, but with a massive Gnome slant, as on Gnome proper.

In other words while KDE devs have a clear understanding of where the DE ends and the rest of the OS begins, Gnome devs seems to consider everything above the kernel (and is likely biding their time for the day Torvalds steps down) the domain of Gnome.

Re:Qt 5.10 released by blattimwind on Thursday December 07, 2017 @02:42PM (#15873317)
Debian was initially released before either Linux desktop.
Re:Qt 5.10 released by whateveruser on Friday December 08, 2017 @07:37AM (#15878269)
Hence the question mark. What did Debian have for v1 then?
Re:Qt 5.10 released by vram22 on Thursday December 07, 2017 @12:08PM (#15871763)
What Kubuntu version do you use? I've had the same thoughts as you about KDE vs. GNOME in the past (at earlier versions though, don't know about how they stack up currently).
Re:Qt 5.10 released by wenc on Thursday December 07, 2017 @01:08PM (#15872433)
I run Kubuntu 16.04 LTS.
Re:Qt 5.10 released by vram22 on Thursday December 07, 2017 @01:11PM (#15872465)
Thanks for the info.
Re:Qt 5.10 released by shaan7 on Friday December 08, 2017 @10:24AM (#15879255)
I use KDE Neon, it has the latest Ubuntu LTS as base but with latest KDE. See http://neon.kde.org/
Re:Qt 5.10 released by vram22 on Saturday December 16, 2017 @11:16AM (#15940146)
Just saw this now. Thanks, will check it.
Re:Qt 5.10 released by Santosh83 on Thursday December 07, 2017 @12:08PM (#15871761)
Several reasons. Many years back a lot of distros chose to default to Gnome because of licensing doubts/FUD surrounding Qt. That decision's momentum still continues, the result being that Gnome remains default, if for no reason than to not to undergo a big shift in defaults. Secondly the ripple effects from a few major distros adopting Gnome is more pervasive than we imagine. Two of the largest, RedHat and Debian, have long used Gnome as their default desktop. And in RedHat's case, they actively contribute to and fund Gnome development. A huge number of derivative/downstream distros either go with these stock choices or have chosen to implement their own "shells" around the GTK/Gnome base. One reason for this was the historical requirement to stick to C++ for extending or modifying KDE; in Gnome's case the language support is wider when developing for it, or taking its components and building on top of it, like Cinnamon and Budgie have done. Gnome and GTK were advocated by orgs like the FSF, which has done a lot to popularise their mindshare among FOSS developers. Historically (no longer the case but momentum once established...) Gnome was also lighter on system requirements and the DE was split into small modules which could be adapted into other indie DEs. This was more difficult with KDE previously.

Am sure there are more subtle reasons. But recently there's a noticeable swing towards Qt. The next version of Budgie will build upon Qt, as did the aborted Unity8. LxQt is the future LXDE. But GTK has an entrenched mindshare in FOSS that Qt just doesn't.

Re:Qt 5.10 released by pjmlp on Thursday December 07, 2017 @01:59PM (#15872912)
It goes back to the C vs C++ war, and to the old issues with Qt license.

So not only there was the license issue, usually C devs would side with Gtk+/GNOME and C++ with Qt/KDE.

I remember a few language flame wars when Gtk--/Gnome-- were started, nowadays Gtkmm/Gnomemm.

Back in the day SuSE and Mandrake were the best KDE distributions for desktop users.

As they kind of faded way, KDE lost a bit of momentum.

Then there was the whole mis-understanding with their reboot, which was supposed to be dev only and distributions took it as if it was ready.

Re:Qt 5.10 released by pfranz on Thursday December 07, 2017 @01:44PM (#15872764)
I keep hearing about all the cool, dynamic things you can do with KDE, but the Gnome UI looks more consistent and polished. KDE has just seemed thrown together. However, my needs are minimal. I spend all my time inside large applications or in the terminal. So I just need a simple window manager, terminal app, and occasionally a file browser. I was frustrated when Gnome paired down their UI.

On the programming side (via Perl and Python), I never liked GTK and have always preferred Qt.