[HN Gopher] KDE Plasma development switches to Qt 6 tomorrow
___________________________________________________________________
KDE Plasma development switches to Qt 6 tomorrow
Author : LorenDB
Score : 153 points
Date : 2023-02-27 17:32 UTC (5 hours ago)
(HTM) web link (mail.kde.org)
(TXT) w3m dump (mail.kde.org)
| smoldesu wrote:
| Hats off to the KDE team for a really great release cycle. I
| understand that there were some licensing issues with Qt in the
| back half, but Plasma 5.27 really pushed the Wayland session into
| excellence. It's unclear what Plasma 6 is going to look like, but
| they've got a damn fine launchpad with the current KWin Wayland
| session.
| LorenDB wrote:
| I personally hope that one of the first new UI changes to land
| in Plasma 6 is support for rounded window corners in _all_
| corners, not just the titlebar ;)
| Jiocus wrote:
| You only seem half-serious, so I suspect there's something
| I've missed about KDE corner history.
|
| Anyway, 'picom' can at least grind down those edges (or
| smooth out, depending on your point of view)
| ################################# # Corners
| # ################################# # Sets
| the radius of rounded window corners. When > 0, the
| compositor will # round the corners of windows. Does
| not interact well with # `transparent-clipping`.
| corner-radius = 5 # Exclude conditions for
| rounded corners. rounded-corners-exclude = [
| "window_type = 'desktop'", "window_type =
| 'dock'", ]
| sho_hn wrote:
| There's an infamous very, very long dev discussion thread
| on the quo vadis of bottom corner trimming (with working
| patches) :-)
| Jiocus wrote:
| Thanks for much hoped for context )
| LorenDB wrote:
| I am mostly serious. I mean, it's not a huge deal, but it
| would look awesome :)
|
| I guess maybe I could look into picom. There was also a
| third party kwin plugin that could do the same thing IIRC.
| Jiocus wrote:
| The picom version is kinda brute, basically crop corners
| right off.
|
| Maybe a KWin plugin would do it more elegantly - but I
| guess such a plugin would also have an upper limit to
| radius... ;]
| babypuncher wrote:
| 5.27 is the first KDE release in a while that has actually
| broken things for me. Fedora recently updated to it and the
| breeze theme broke, causing me constant crashes and glitchy
| window decorations.
| oynqr wrote:
| Whenever I hear about completely broken KDE installs, it's
| Fedora in 90% of cases.
| babypuncher wrote:
| Yeah. In my case, the Discover app didn't fully update all
| of the packages like it was supposed to. Easy enough of a
| fix, though I doubt an average PC user would have been able
| to figure that out.
| LorenDB wrote:
| Discover really has never worked all that well for me
| when it comes to updating packages. I have used the
| terminal to install updates for a long time now, with
| both Ubuntu and openSUSE.
| oynqr wrote:
| I have a feeling PackageKit is to blame here, since I
| remember Gnome Software being just as bad.
| babypuncher wrote:
| That's probably good practice, though I feel that the
| updater which pops up in your tray to let you know
| updates are ready should "just work".
| mariusor wrote:
| I thought that Plasma 6 will look exactly like Plasma 5, the
| only change being the Qt version they depend on.
| bluGill wrote:
| For the short term. Longer term they will make improving
| things and following whatever the next fad is - just like
| everyone else.
| smoldesu wrote:
| Probably, I don't anticipate many changes from what they've
| got right now.
| 0xDEF wrote:
| Does Autodesk still only use the LGPL licensed Qt to avoid paying
| a single cent to The Qt Company?
|
| I think it's weird that big megacorps don't actively support the
| very foundation their software is built upon.
| Pet_Ant wrote:
| Someone has to sign the cheque. That number is going to come
| off of their results. The tragedy of the commons happens within
| companies as well.
| jacooper wrote:
| Hopefully KDE 6 has a modern theme, Plasma is very 2015.
| shrimp_emoji wrote:
| They need to update to modern design, a minimalist Apple GUI
| aimed at tablets.
| jacooper wrote:
| Lol, if you think Gnome is an apple copy, you haven't seen
| any of the new Chinese DEs.
|
| Also from experience, Gnome absolutely destroyes MacOS in
| usability, macOS is really crappy.
| anthk wrote:
| 2015 it's modern enough. I use an IceWM style mimicking Motif
| and a Solaris 8 theme close to OpenLook/Motif, so anything
| which came later than 2008 looks the same to me.
| Am4TIfIsER0ppos wrote:
| Will that finally give me ISO dates in all my kde programs
| (mainly dolphin)?
| filereaper wrote:
| Anyone know how we can provide features and sponsor them for KDE
| 6.
|
| I've wanted to pin virtual desktops to a specific monitor (same
| as i3) and be able to independently switch virtual desktops on
| each monitor.
|
| Its a widely requested feature which hasn't landed, I was hoping
| to get this on their radar and if necessary pay for this feature.
| Its something that's been bothering me since KDE 3 days.
| postcert wrote:
| The one thing holding me back from switching to KDE in full.
| The hacks and Kwin scripts just simply aren't enough.
|
| If you find out more on this (solutions or ticket to sponsor)
| please update!
| bbarnett wrote:
| Take a look at TDE/Trinity.
|
| I do not know if it does as you wish, but it is a fork of kde2,
| with enhancements, and they are actually open to actual,
| usable, needed change.
| yaomtc wrote:
| KDE 3
|
| https://www.trinitydesktop.org/about.php
| milliams wrote:
| Are you implying that the KDE devs are not "open to actual,
| usable, needed change"? That seems disingenuous given the
| multitude of actual, useable, needed changes they make.
| LorenDB wrote:
| I suppose you could mail one of the KDE mailing lists[0] to ask
| about this. Probably you want either kde or kde-devel.
|
| [0]: https://kde.org/support/mailinglists/
| haolez wrote:
| Is this the Qt version that drops the custom metaprogramming
| stuff for QObject and friends and adopts modern C++ in its place?
| If so, it's a very cool development! :)
| jlarcombe wrote:
| Never quite sure why people are so fixated on moc. It's by no
| means the most annoying thing about Qt and it works well in
| practice. The signals/slots mechanism is one of the best things
| about Qt.
| kelvie wrote:
| So like a decade ago I hated using MOC because it would mess
| up auto-formatters and source code parsing in all editors,
| but since clangd/clang-format and its LSP friends, working in
| Qt and having stuff like the autoformatter work perfectly has
| since alleviated any problems I have with using the MOC.
|
| Now they're just equally as annoying as any other macros are,
| which is to say, a lot less annoying than it used to be.
| haolez wrote:
| I think it would be interesting from a C++ perspective. That
| was my point. Qt is awesome as is.
| aw1621107 wrote:
| Nope, Qt 6 still uses moc. I don't think modern C++
| metaprogramming is quite capable of entirely replacing moc. The
| closest thing I'm aware of is [0], but it requires additional
| macros compared to what moc requires, and compilation speed can
| suffer. Chances are moc won't be dropped until full reflection
| lands, if ever, and even then if compilation speed is too bad I
| wouldn't be entirely surprised if moc remains.
|
| [0]: https://github.com/woboq/verdigris
| justin66 wrote:
| Apart from just not having all the widgets, why do you think
| CopperSpice falls short? Getting rid of the moc was pretty
| much the first thing they accomplished.
| richm44 wrote:
| See https://woboq.com/blog/verdigris-qt-without-moc.html
| for detailed breakdown
| aw1621107 wrote:
| jcelerier and jchw basically said what I was going to say.
| All I have to add is that getting rid of moc in and of
| itself is not the end goal here; it's getting rid of moc
| _without needing to change anything else_. Until then, moc
| is providing something that C++ itself cannot.
| jchw wrote:
| It is possible to get rid of moc by manually writing out
| the equivalent code (using macros or not) or gutting out
| features that require it. Qt uses it to do things that
| would otherwise not be possible, like expose QObjects to
| scripting languages. That requires reflection that modern
| C++ doesn't support and thus needs either redundancy of
| some kind (to generate the necessary metadata to do
| 'reflection') or code generation (to generate the necessary
| metadata to do 'reflection').
|
| MOC was never simply superfluous.
| jcelerier wrote:
| > Getting rid of the moc was pretty much the first thing
| they accomplished.
|
| but it's not a proper replacement.
|
| With Qt's moc you just annotate the class:
| class Foo { Q_OBJECT Q_SIGNAL void
| f(int a, int b); Q_INVOKABLE void g(int c, int
| d); };
|
| with CopperSpice (and verdigris, and anything else that
| does not use an external code generator) you have to repeat
| all the names and use much more macros:
| class Foo { CS_OBJECT(Foo)
| CS_SIGNAL_1(Public, void f(int a, int b));
| CS_SIGNAL_2(f, a, b);
| CS_INVOKABLE_METHOD_1(Public, void g(int c, int d));
| CS_INVOKABLE_METHOD_2(g, c, d); };
| jcelerier wrote:
| yep, a big part of moc is about generating reflection info
| and current C++ metaprogramming very simply does not cover
| reflection and even less custom code generation (think
| generating a function called "auto foo_info()" from a
| function "void foo()" automatically - right now the only way
| to do this if one does not want to use macros is through an
| external code generator, e.g. in CMake or whatever).
| dotancohen wrote:
| Is this the Qt version that enables custom date formatting? So
| that one might be able to configure, e.g. YYYY-MM-DD date
| format, week starts on Sunday, H:i:s time 24 hour time with
| leading 0, and with the period (dot) decimal separator?
| shmerl wrote:
| Nice!
|
| I was waiting for this to happen so $HOME/.kde would be finally
| removed for good.
| IYasha wrote:
| I celebrate these news with a bit of unease. I've heard a lot of
| criticism regarding Qt 6 licensing policy. And personally I'd
| rather prefer more stability.
| sho_hn wrote:
| The licensing policy in Qt 6 isn't really changed vs. 5 -- the
| change that upset the community was the commercial-only LTS
| releases, which started with 5.15.
|
| KDE has been maintaining Qt 5.15 by itself with the "KDE Qt
| Patch Collection" since then, as the 5.15.y bugfix releases are
| commercial-only for a year before they get released as open
| source.
|
| In Qt 6 the situation is theoretically better as you get a new
| 6.x feature release faster than that one-year wait period,
| whereas 5.15 was the end of the line for Qt 5. The commercial-
| only also only happens after the first two bugfix releases, so
| there should be no significant waiting periods without
| releases. If the general quality of Qt releases is sufficiently
| high, the Patch Collection effort may no longer be needed.
|
| That said, The Qt Company remains a topic of concern,
| publishing (also on LinkedIn by employees, with lame/thin "does
| not necessarily represent my employer's opinion" disclaimers)
| lots of "why open source software is scary" content lately,
| apparently unaware that the only reason anyone cares about
| their product is its open source pedigree and credibility:
| https://www.qt.io/blog/is-open-source-really-free
|
| This is probably a reaction to competition by the BSD-licensed
| Flutter which has seen a lot of interest from their traditional
| commercial audience. Doubling down on "we're less open source"
| as a differentiator vs. _Google_ of all companies is quite a
| mind-bender. Also considering licensing/open source is why
| Flutter is getting that attention in the first place, and that
| Qt could tell a fantastic story here if it wanted to.
| dkersten wrote:
| The big thing that put me off Qt 6, even though I've been a
| fan of Qt in the past, is that I cannot download the official
| release, even if the LGPL version, without registering an
| account, while before you only needed that if you wanted a
| commercial license or to use their other services.
| sho_hn wrote:
| It depends on what you mean with "official release". This
| is generally true for binaries, but the official open
| source source code releases you can find download locations
| and instructions for on the website sans account
| requirement, even if it does make it a bit hard and scary
| from a navigation POV (you have to click through a page on
| "open source obligations" first and so on).
| LorenDB wrote:
| https://github.com/miurahr/aqtinstall will help you with
| that.
| LorenDB wrote:
| > That said, The Qt Company remains a topic of concern,
| publishing (also on LinkedIn by employees, with lame/thin
| "does not necessarily represent my employer's opinion"
| disclaimers) lots of "why open source software is scary"
| content lately, apparently unaware that the only reason
| anyone cares about their product is its open source pedigree
| and credibility: https://www.qt.io/blog/is-open-source-
| really-free
|
| I don't think that article is really pushing for Qt to go
| closed source; rather, they're just trying to sell commercial
| subscriptions in order to make money (after all, the Qt
| Company has to stay alive somehow). And Schnieder makes it
| clear that building your stuff opensource is _not_ a bad idea
| in many situations; he 's just promoting Qt's commercial
| subscriptions (which IMO really are probably nice for
| corporations who want priority support and who don't want to
| deal with licensing issues).
| sho_hn wrote:
| The version I linked is an outwardly more measured,
| balanced take as it's trying to appear academic and
| researched. Here is what their sales people turn it into:
|
| https://www.linkedin.com/pulse/severe-risks-open-source-
| soft...
|
| https://www.linkedin.com/pulse/total-cost-ownership-open-
| sou...
|
| > Additionally the organization has to look at remarkable
| costs when it comes to hardware and OS porting of the whole
| software product to be more hardware independent eg. to
| react on hardware shortages. Commercial software comes with
| a long list of supported hardware, sometimes with a list of
| more than 25 different hardware platforms.
|
| Yes, open source software has such a terrible track record
| at portability indeed.
|
| You're right that with a lot of goodwill, you can choose to
| interpret all of those publications as "it's good to have a
| commercial license option and that you can buy support if
| needed". Which I would agree with for many reasons,
| including supporting technology you rely on. But the way
| it's presented is in a fear-mongering style that's
| detrimental to the open source project that is also Qt, and
| I believe is vital to its overall wellbeing.
| LorenDB wrote:
| Those LinkedIn posts indeed show a more negative side of
| the issue. Still, I have high hopes for the future of Qt,
| and if they ever go full-on commercial, there is an
| agreement with KDE regarding that situation (but I'm too
| lazy to find it right now).
| milliams wrote:
| > there is an agreement with KDE regarding that situation
|
| https://kde.org/community/whatiskde/kdefreeqtfoundation/
| sho_hn wrote:
| Yes, there's a solid contract in place to ensure Qt's
| open source availability that's worth a lot!
|
| I've been working with Qt for going on 20 years, and
| there's been many episode to its story indeed. There will
| be more; it remains very capable and useful technology.
| Nokinside wrote:
| >that the only reason anyone cares about their product is
| its open source pedigree and credibility
|
| That's not really the case. Paying customers don't give a
| shit about the open source license and the company is
| growing fast. https://www.qt.io/investors/share-and-
| financials
|
| Total return 977% in last 5 years. CAGR 46%.
| https://www.qt.io/investors/share-and-financials/share/
| sho_hn wrote:
| I'm partly responsible for technology selection at one of
| their larger commercial customers, and I do care and
| worry quite a bit (and have also shared these opinions in
| a customer keynote at their last internal sales conf).
| Upsetting the open source community has been shrinking
| the talent pool to hire from considerably; it's where
| your next senior devs/SMEs really get educated on a
| technology. The non-FOSS LTS has increased integration
| cost and complexity for us. The divergence between easy
| to instantiate developer desktops (i.e. Qt from distro)
| and what we carry in the product is also a headache. It
| also makes it harder for internal champions to argue for
| Qt, because open source solutions are very popular and
| this differentiator is now in widespread doubt.
|
| Business has been growing for them, but this isn't always
| necessarily on the strength of the product alone, but can
| also be a combo of inertia and fortuitous circumstances.
| For example, within the automotive industry the trend has
| been to merge multiple ECUs into fewer and consolidate
| technology stacks, and this has counter-intuitively
| probably resulted in quite a few sales as the OEMs move
| e.g. instrument cluster UIs from boutique solutions like
| Kanzi to the Qt stack they already used on the headunit
| (which is swallowing those other ECUs), or adding on more
| licenses for QNX guests. That doesn't mean the same
| customers aren't also already moving part of their HMI to
| Flutter/Unity/Unreal as the next thing rather than
| contemplating the port to Qt 6, however.
|
| It's also that making moves to monetize existing
| customers more does work. For a time.
|
| The effects of strategy changes like this can take many
| years to become apparent.
| powersnail wrote:
| > And personally I'd rather prefer more stability.
|
| Time flies. Qt 6 has been around for more than two years
| already! And from what I understand, the change from Qt5 to Qt6
| is a much smaller transition than the one from 4 to 5.
| jlarcombe wrote:
| Hmm maybe "smaller" but there was more stuff that just didn't
| exist (or work properly) for a year and a half in the 5->6
| transition as there was in the 4->5 transition. I went
| through both transitions and this one was more of a pain.
| Nokinside wrote:
| Don't be. There is legally binding contract that prevents Qt
| Company from unilaterally changing the licensing deal (until
| KDE stops using Qt).
|
| Qt is a great example of how you can force commercial highly
| profitable company to develop open source against their will
| even after it's sold multiple times. Trolltech and KDE jointly
| formed the foundation to make sure that Qt core stays open
| source.
|
| Licensing agreement has not changed. Qt Company just stopped
| doing anything not required by the agreement between The KDE
| Free Qt Foundation and The Qt Company.
| https://kde.org/community/whatiskde/Software_License_Agreeme...
| butz wrote:
| I wonder how long will it take for all major KDE apps to move to
| Qt 6? Or is this trivial, as they are using KDE libraries?
| sho_hn wrote:
| KDE's apps Plasma use the same set of libraries (KDE
| Frameworks), and Plasma only made this move after the Qt 6 port
| of the libraries achieved a certain level of maturity. This in
| turn has also enabled many app ports already. In a way, the
| Plasma bits are a somewhat later step in this campaign as some
| of the hardest to port pieces that need the most supporting
| infrastructure.
|
| You can check up on overall KDE-wide progress here:
| https://iskdeusingqt6.org/
___________________________________________________________________
(page generated 2023-02-27 23:02 UTC)