There’s a storm brewing in the world of Qt and KDE, as the parent company of Qt, The Qt Company, is contemplating restricting new Qt releases to paying customers (i.e., not releasing them as open source) for twelve months. This obviously affects the KDE project considerably, who have been negotiating with The Qt Company for years now.
An announcement made by The Qt Company in January derailed said negotiations, however. As KDE’s Olaf Schmidt-Wischh"ofer explains:
They announced that LTS releases of Qt will only be available for paid license holders. It is still unclear what this implies for contributions to Qt and for the sharing of security fixes between the various parties (including The Qt Company, the many Qt experts contributing, the KDE community, and Linux distributions).
It seemed the two parties were working on a path forward acceptable to all parties involved, but then came the announcement earlier today that The Qt Company was contemplating restricting all releases to paid customers for twelve months. It seems bad blood has been brewing for a while, as Schmidt-Wischh"ofer states:
The Qt Company says that they are willing to reconsider the approach only if we offer them concessions in other areas. I am reminded, however, of the situation half a year ago. We had discussed an approach for contract updates, which they suddenly threw away by restricting LTS releases of Qt instead.
All software changes in Qt will still be available at as Open Source as required by our contract – maybe with a delay of 12 months if the company decides to part ways with the communities. We will continue to work on a contract update that helps all sides. But even if these negotiations were to be unilaterally stopped by The Qt Company, Qt will stay Open Source, and KDE will be able to use it. I am also absolutely sure that the Qt + KDE communities will continue cooperation on new features, bug fixes, and security fixes, even should The Qt Company decide to forgo the benefits of cooperation.
Luckily for the future of KDE and Qt, there is an agreement in place between KDE and The Qt Company that states that “[…] should The Qt Company discontinue the development of the Qt Free Edition under the required licenses, then the Foundation has the right to release Qt under a BSD-style license or under other open source licenses.”
This is a serious issue that I hope can be resolved, as nobody will benefit from a serious rift between The Qt Company and the KDE project.
yaaaay.
We’re going to be in for another fork, with 2 competing projects fighting for supremacy. Remember the rift between Openoffice and Oracle, which cause OpenOffice to branch into LibreOffice? I’m confident the same will happen here with Qt, with a community lead fork and a corporate “paid for ” fork running in tandem.
No one will win. Well, maybe in the long run, the community will win. But in the short term it will a messy disaster that will put Qt, and KDE, back a few steps.
Sad! KDE has been the DE the best potential. Mate and Xfce have a slow development and are increasingly viewed as “legacy software”, Gnome is unusable, Cinnamon just an improved Gnome, window managers alone are not enough for “normal people”.
I guess it depends on your tastes and needs. I use both daily (Qt on mobile, Gnome on desktop) and am very happy with them both.
I agree with @The123king that this is not a good development. No doubt Qt (the framework) has benefited greatly from companies investing in it over the years, and Qt (the company) has to offer a product its customers are willing to pay for, but the benefits that come from the community and the open source nature of the code are also obvious. I hope the company and the foundation are able to agree to something that works for both.
Yeah, not really though. Just terrible negotiation tactics.
I don’t know who are the top managers, but they seem to be overplaying their hands.
Granted, Qt is a great multi-platform toolkit, in my opinion the best, but they are hardly alone in the field and things changed a lot on last 10+ years. Many open-source projects are using Qt currently and, should the confrontation start, a fork is more than possible and I would bet that a foundation would be rapidly created around it with lots of contributors. I also believe that it would suppress doubts around the benefit to contribute to Qt.
I say it, specially, because one of the weak points of Qt up to now was how small was the influence of other members of the community have on its development and politics, despite large contributions and active error reporting. A fork would erase such concerns.
I bet, if Qt Company insist on their politics, a fork around a foundation would flourish, the way it did with Libreoffice and other projects, and it would be the original Qt that would lag behind.
I’m not saying that parted ways is the best solution, only that if Qt managers think they can give hostages to fortune, they may very well have to face a rude awakening.
Anyway, for Qt toolkit itself, be maintained/improved around a foundation is the best option long term, I believe.
It was just a list of options thought up off the top of his head when negotiations broke down, it wasn’t meant as a list of things the Qt company would do, just as possible alternatives to a deal with the free Qt foundation. It wasn’t even meant as a threat, just exasperation at the discussion. It was then presented as threat by the KDE representatives in the free Qt foundation. Which I can understand, but it has really gotten out of hand.
I hope you are right. It takes a long time to become proficient on complex toolkits, even nice ones as Qt.
Whenever I see someone complaining about the pace of evolution of C++, I remember them that the language syntax is not the main difficulty and it is something you can grasp on few weeks, big libraries, though, is a different story.
acobar,
I don’t have a problem with the lexical syntax of C, however things got worse with C++. C++ templates are notoriously difficult to parse. In C++, we take it for granted that you have to declare function prototypes and class definitions before you can write the code, but once you’ve used other modern OOP languages that don’t require you to do any of that busy work it makes one realize just archaic this practice is. An intelligent IDE can compensate for some of this by automating the most tedious bits, but I still think it’s an area where C++ is worse than modern languages. And no forward references? Who the hell thought that was a good idea? The preprocessor was a clever hack, but it’s a very poor alternative to a language supporting proper modules – something we find in all modern languages.
However I agree with you completely about the libraries, many languages use their own unique libraries and if you’re anything like me the more languages you learn the more difficult it becomes to remember which libraries you are supposed to be using in a language. sometimes I draw blanks and have to look things up. If I had only learned one or two languages, it would be easier to memorize their libraries.
I finally started learning Dlang, which cleans up a lot of the mess in C++, and wow does it make a difference…it is so much more pleasant to use than C++, all the while using a familiar C syntax. They’ve successfully tackled the biggest complaints! It’s what C++ should have been, almost… The one thing that makes me squeamish about dlang is the reliance on a garbage collector. Apparently it’s possible to write code that doesn’t use it, but the standard libraries do and you end up with memory leaks if you disable it. I understand why they did it, but IMHO it should be optional and the official libraries should work without it. I find it regrettable that they pinned the standard library on GC because that gives ammunition to those who say C++ is better than Dlang for system programming. This is the one thing that I think causes programmers to put the breaks on dlang for low level system programming and real time applications.
I think rustlang may be the best language in terms of good low level support and code correctness, but ironically I wish it used more of a C-style syntax, haha.
Not long ago I gave node.js a go, which runs google’s javascript engine on the server. I really appreciate the ability to consolidate languages between the browser and server, but the performance was worse than expected, enough that we contemplated rewriting portions in C. Alas, events being what they are, the project got pulled and it’s not clear I have a job to back to now.
How’s everyone else doing?
Alfman,
I’m a bit suspicious because I happen to like C++ and had the bad habit of exploiting the tricks that preprocessing allows. What bothers me more than other things is the lack of a proper exponential operator, it could be “^^” as “^” is a binary operator and there is no risk of tainting old code creating it (if you can think of valid construction, let me correct my instance). This alone has the potential to make lots of algebraic code looks more pleasant. Also, the new additions to C++20 do helps a lot by eliminating the huge number of boilerplate declarations/definitions we had to handle by hand.
Could not agree more with you about D and Rust. I bet D would be very popular was not for their decision to go with GC. At the time they did it, it was one of that moments in technology were people bet on dubious premises.
True, things are a lot more complex these days, and to handle almost any project now I have to resort to Zeal (with Dash docs) or DevDocs. No way to keep on my mind the meaning and order of many parameters, returns and whatnot for so many languages and libraries.
About the present conjuncture, many of my clients are going out of business if the current situation persist for more than 2 months. I’m not worried with myself, but I know many of their employees by name and a good percentage of them lack the level of education that would allow them to find new jobs. So, if the death toll was not already horrible, the problem we may be facing with poverty exploding may make things reach epic proportions.
To make things even worse, we have crap “leaders” on many places, Trump on USA, Bolsonaro on Brazil and so on, and, to guarantee that things can always go under, economy advisers that are not up to the task helping them.
We are seeing also the old blame shifting, nationalistic discourse, demonizing of the “others”, conspiratorial theories running rampant, and all that crap that we saw on other bleak periods of human history, only that this time they are amplified to unprecedented levels by hordes of connected noodles that lack the undermost grasp of science.
I don’t pray, I’m agnostic, and I’m furious with what seems to be on the horizon.
Please, Americans, do the right thing and get the orange guy out of the equation by November.
acobar,
I’m also ok with **, but it could be problematic in C because it could be ambiguous with pointer de-referencing.
I know…I think they did a very respectful job. I have no qualms using dlang as an alternative to C#, Java, but I still wish someone who had their ear would have given them an a bigger nudge to say “hey, I know you think this is a good idea, and it is, but it will be a point of contention that prevents future developers from taking d-lang seriously for low level systems development.”
Yeah. I’d nominate PHP as the most internally inconsistent language with parameter ordering and naming conventions. Some developers put a lot of effort into designing clean & well thought out languages & libraries but you can tell this wasn’t the case for PHP. It’s had a lot of growing pains over the years caused by amateur mistakes and the lack of quality control. Yet it’s the most used language for web development, I don’t really know how they pulled that off.
I hear that, his authoritarian tendencies and disregard for checks and balances are extremely dangerous to western democracy. It’s that time in the discussion to invoke Godwin’s law.
I sense Electron gaining yet more popularity in the future. Not good for QT.
I actually see Android as the big winner here. If Android-x86 gets enough manpower to keep pace with Google’s releases, and the launcher handles multihead properly, GNU/Linux will be relegated to the subset of creative or engineering tasks that can’t be done better on Android or MacOS. That’s… not a very large piece of the pie.
Google has no interest in Android gaining any sort of meaningful desktop functionality (like right clicking), because this is ChromeOS’s job. And it even runs Android apps.
IIRC AOSP desktop mode allows right click to map to long press already. I know that’s how Android-x86 has worked for years, but they use custom patches. The cat is out of the bag already.
This is yet another example of how when Torvalds encouraged multiple window managers instead of standardizing on one for desktop for Linux, he made a decision based on ideals and not one based on good business sense. 5 or 6 main desktops competing for the 1-2% market share of Linux has duplicated efforts and asked things to compete which can’t ever technically lose.
For the majority of daily Linux users it’s not that big of a deal. I use Linux a lot, but fortunately the power comes from the OS itself, not whatever shell you are using. I use a graphical desktop on my Linux Laptops, but it doesn’t make that big a difference which one. I use Raspberry Pi’s (and other clones) a lot, but mostly they are just providing a serial console to a shell for another device – my Oldies collection. Once you have access to a login shell, you can do anything you want. Desktop and Window Managers are a nicety, but certainly not an essential for most regular Linux users.
Linus had nothing to do with there being multiple window managers on Linux, since he’s only responsible for the kernel, and not userspace (which I consider to be a major weakness of the development model, especially with an OS with poor extensibility like Linux or any other conventional Unix). Linux has many different window managers because it has traditionally used X11 (which predates the first version of Linux by several years) as its window system and X has always encouraged proliferation of window managers.
There is an email chain out there in the early days of Linux where this exact topic was being discussed, and he endorsed competition of window managers instead of standardizing on one for the desktop. Unfortunately Google isn’t good at finding old mailing list entries about this as it’s results prefer more recent stories. He was specifically asked about it, he made the wrong business decision and encouraged that way of doing things. It lead to dependency hell, and problems that plague the average end user to this day. Desktop Linux could have easily been as good as OSX or Android early on if those people had understood they were talking about the need for and SDK and by extension a single desktop for desktop Linux.
In the early days of Linux there was hardly any business to do business decisions for. Free Software developers do what they want to do, or what they get paid to do. Whatever Linus says, or would have said 20+ years ago, is of very limited influence on the birth of yet another window manager.
I’m happy about this situation. Any other situation wouldn’t work anyways in a world of Free Software. Only a walled garden, a proprietary business, can force people to use only the one they condone. It’s the very power of Free Software (and the nature of the human mind) that someone who does not like the status quo can create his own thing, no matter whether it pleases the others.
No other field of human creativity is limited. Who would want there to be only two car manufacturers? or three global beer brewers? When markets aggregate, we call it a monopoly and ask it to be split up. No author, musician, or painter would say: there should only be a limited number of creators of art, it’s too difficult to teach them all to students, to write about them, and no two people have the exact same references.
Obviously, art is not like engineering and there is a balance to be found for practical reasons. But in reality this balance is found – there are a few popular graphical environments and a vast amount of small ones.
FOSS, specifically Linux, isn’t a business, and not everything has to be about money, competition, or marketshare.
There are businesses based on FOSS, and GNU/Linux, and they have generally chosen GNOME as the de facto DE for Linux distros.
Things can just exist for the sake of existing.
I work at a small shop that doesn’t sell software. (we sell expensive low volume hardware) We use QT, and I looked into paying something even though the open source release is sufficient for our needs.
But the per seat subscription pricing is so expensive that it made no sense.
I wish they had more pricing tiers that would allow us to contribute financially without breaking the bank.
> But the per seat subscription pricing is so expensive that it made no sense.
It seems they have changed there something.
https://www.qt.io/buy-product/
Normally it costs $5508.00 per person and year.
But if you check “We are a small business with <$250K annual revenue/funding", then it costs only $499.00 per person year.
theuserbl,
Wow, I had no idea QT was so expensive per seat, pear year. Even a small outfit with a handful of employees will likely have to pay the much higher rate. Some companies must have the cash to pay it, but not in my circles. My biggest client has canceled projects and cut IT salaries this year. I’ve lost most of my income and it’s not clear what’s going to happen next. Anyways, I agree with Joshua Clayton, that’s too much for the the small companies I work with.
“Normally it costs $5508.00 per person and year.”
And I thought CAD-software was overpriced…
I read the Qt announcement and the main thrust is that the offline installer will become available to commercial customers only. In my experience, their installers are unreliable and have a tendency to hang in the middle of installation. I often end up having to compile the library myself. That’s how I always used to do it, anyway (I never use the installers on Linux, only on the Mac which doesn’t have inbuilt repository access).
The other detail is that LTS releases will only be supported for open-source users up until the release of the next minor version. That obviously makes Linux distro makers’ lives a lot more difficult as they tend to prefer LTS versions for their own fixed or LTS releases.
For those who were not around back then… this is THE reason why GNOME exists.
It was because there were those who were afraid that the non-GPl license of Qt would one day cause something like this. Qt has been owned by many companies through the years, and but what was weird was that even though Nokia owned them for a time, a large majority of their Linux stuff was still gtk.
It’s unfortunate, then, that GNOME3 is crap.
Gnome3 isn’t crap, it is just different. The philosophy is more about getting out of your way to get work done, instead of being the ultimate in configuration options.
I actually much prefer it, but then maybe that is because on of my favorite operating systems was GEM/TOS on the Atari ST, that mostly just staued out of your way and let you get work done.
No, GNOME3 is buggy, fugly, and until recently it was dog slow. That said, given JavaScript I’m impressed they managed to speed it up. in short, it’s crap. I had hoped that Ubuntu’s changes might make it more sensible, but (and in hindsight, given Unity this shouldn’t have been a surprise) the changes they made don’t go nearly far enough. Plus Ubuntu-proper’s default colour scheme is an acquired taste, to say the least. Yes, you can change it, but again, that’s more tweaking required before you can use it.
Also, while you *can* spend all day tweaking Plasma, Xfce and perhaps to a lesser extent MATE (though certainly to a greater extent than GNOME3), you don’t have to, because they just work sensibly in the first place. With GNOME3 you have to change a bunch of stuff just to make it semi-usable, at best. It most certainly does not “just stay out of your way”. It actively impedes getting work done.
This is not about the eternal desktop wars. This is about KDE’s vulnerability due to the dependence on the goodwill of one private company. This is a threat that needs to be curbed. I guess the solution would be to create a free fork of Qt, but then, the big if is whether the community will be strong enough to maintain its own fork.
Things like this is why I explicitly recommend projects which aren’t tied to some company. Eventually, the company will need to make money, and a popular FOSS project is ripe for squeezing.
If it’s a company picking the project, they need to build some expertise with the code and presence in the project. Otherwise, they’re going to get hosed when someone leaves with the ball.
Basically, don’t build things on other people’s IP you know nothing about.
I just can’t see how this will generate additional revenue for the company. Honestly, this looks like a stupid decision to me.
Indeed, I wanted to make the very same remark. Early releases of GNOME looked half-baked, they were a rapid response to KDE’s licensing problem. In the early days, KDE was always way ahead, but due to Trolltech’s licensing policy, there was always a threat hanging over its head. That’s how I became a GNOME user around 2002, having initially run KDE. I have recently switched to KDE again for my main laptop, and in terms of UX I am quite content. But this is a blow. I wonder whether the community would be strong enough to maintain its own Qt fork.
yahya,
Just fork it; the license allows it.
Yeah, it’s probably time.
Just seen this post on the Qt Co’s blog. https://www.qt.io/blog/qt-and-open-source
It just says they are committed to open source and the claims on “various internet forums” do not reflect the views of Qt Co.