Hi Max,
I get the issues as you present them. Why drop support for the 2nd most popular 
OS version out there?! This also doubles the effort required for Qt developers 
who want to target older systems with Qt 6 apps. That is certainly a pain 
point! There are couple more thoughts I've had after reviewing your excellent 
metrics.

1. Currently Win 7 usage is declining at a little over 1% per month based on 
the articles you shared. This indicates that by the time Qt 6.2 (the next LTS) 
is released next year, Win 7 usage will most likely drop below MacOS, and 
further, it will be mostly gone by the time 5.15 LTS support ends (IF trends 
continue). This leads me to believe that the majority of Qt app developers 
could safely branch, or else delay migration to Qt 6 for a few more months in 
order to give the majority of their customers time to move with the industry. 
As a cross-platform framework, we do have to consider the "most common" usage 
scenarios first. But I can tell you understand this.
2. It may be completely possible for customers to build a version of Qt that 
still works with Windows 7! The key point would be that the onus moves to the 
Qt developers who need this support to do their own build. This is extra 
effort, but there seem to be only a few particular APIs that Qt is looking to 
remove support for. If an app doesn't use these APIs, this would not be a 
problem. Or you could revert a few patches and do a custom build for Win7.

Ok, 3 thoughts. 😊
I think it's worth noting in addition to what Eddy shared, the Qt team did a 
pretty decent job of responding to the concerns raised on that QTBUG in spite 
of the fact that it was not intended as a feedback mechanism. We recognize that 
any big shift in support causes pain for the development community. Some more 
than others. And yet, in order to move forward we must all face the pain of 
evolution (to wax a little philosophical 😉 ). Making the majority of these 
breaks happen with a Major version release makes the most sense as it 
consolidates this pain into one point in time hopefully making the OVERALL 
experience of developing and maintaining Qt projects over time, as smooth and 
painless as possible.

Thanks again to all our great developers for all the insightful discussion 
shared here!
Corey Pendleton
Senior Solutions Engineer, Americas


-----Original Message-----
From: Development <development-boun...@qt-project.org> On Behalf Of Edward 
Welbourne
Sent: Monday, June 15, 2020 5:35 AM
To: Max Paperno <ma...@wdg.us>
Cc: development@qt-project.org; inter...@qt-project.org
Subject: Re: [Development] Windows 7 support will be dropped in Qt 6

Max Paperno (13 June 2020 03:28) wrote:
> I would restate my objection by pointing out again [1] that Win 7 is 
> still the 2nd most popular desktop OS in the world, with 3x more users 
> than all MacOS versions combined.  Never mind Linux, which is on par 
> with Win XP users (the previous "known good" Windows version prior to 
> 7).

How many of those Win 7 users are routinely upgrading the software on their 
systems ?  Given that they're not updating the O/S, it seems reasonable to 
presume that they are, at least, somewhat conservative about upgrades; they 
don't want the shiny new features the folk you dismiss as "cool kids" are 
upgrading for, so why would they care if the Qt apps they're using are upgraded 
to Qt 6 ?  Surely such conservative users are likely to *prefer* to have such 
updates as they do take in contain only security fixes - i.e. the sorts of 
change that happen on an LTS version of Qt, rather than the radical change that 
comes with a new major version.

For reference, at home I'm one of those conservative users - albeit on Linux - 
using Debian/stable and often sliding into Debian/old-stable rather than 
update, just because there's a newer stable available.  I like the stability 
and don't care so much about the shiny new things; so don't try accusing me of 
looking down on those who stick with the tried and trusted things they have; 
and don't try telling me that software developers should make sure their newest 
versions work on those stable systems, because I - like many such conservative 
users - don't want shiny new versions, I only want security fixes to stable 
versions, sacrificing shiny new features in favour of reliability.

Meanwhile, at work, I use shiny new things so that I can deliver shiny new 
things to those who *do* want them; and I fix bugs in old things so that those 
who want stability get it.  Because software developers should cater to what 
their users want - some of them care more about stability, others about shiny 
new things.  In the end, giving the latter what they want today is the way to 
ensure the former get what they'll be wanting in a few years time (once the 
shiny new things have been tried, tested, fixed and made stable, while those 
using them have found which of them live up to their shininess and which fade 
too fast to be worth caring about).  So we have stable versions and we make new 
versions that break old stuff in order to deliver new things - and stay 
relevant.

> Any software publisher not catering exclusively to the "cool kids"
> with the "latest and greatest" mentality would be shooting themselves 
> in the foot by dropping Win 7 support at this point.  That's millions 
> of potential users.  Depending on one's market, of course.

And Qt won't be dropping support for Win 7, it'll still be supported by 5.15, 
which will have the types of change that conservative users and sysadmins are 
willing to take in on the machines whose O/S they're not willing to upgrade.

> I would bet Qt could save a lot more resources by dropping MacOS/Linux 
> support entirely.  Not saying that's a good idea, but dropping the 2nd 
> most popular OS instead doesn't make any sense to me either.

Any saving is only meaningful in terms of what it lets you get instead.
A platform with more *users* isn't necessarily a platform with more downloads 
of software previously absent from that platform, or upgrades of software 
previously in use.  A platform whose users routinely upgrade their O/S is also 
a platform on which one can reasonably expect users to routinely upgrade their 
other software.  Numbers of users are only relevant via their contribution to 
numbers of downloads / installs / upgrades.

> Yes, anyone needing to support Win 7 can still use Qt 5, which is 
> what's going to happen for several more years at least.

... and that's what most users of Win 7 are likely to want; the only updates 
they want are security fixes.  If they wanted shiny new features, they'd be 
upgrading the O/S, too.

> I though one of the goals for Qt 6 was quicker adaptation than the Qt
> 4 -> 5 migration.

That's adaptation by the app developers in their "new release" versions; we 
understand perfectly well that app maintainers (in so far as *they* care to 
continue supporting legacy versions of any O/S) also *want* to have a stable 
version, whose security and stability they know well from experience; which 
means sticking with LTS versions of the libraries they use.  Just as we have 
our stable branches and our shiny new version, app maintainers who care about 
supporting legacy platforms used by conservative users have their stable 
versions, that they maintain atop stable versions of their prerequisites.

> From this move, and everything I've seen discussed on the devs list 
> lately, I just don't see that happening. Seems like one breaking 
> change after another (even if each individual one is relatively minor, 
> they add up quickly).

If we *never* allow ourselves breaking changes, we'd still have a nice stable 
product that worked great on an O/S or two from the last century.
Qt would thus be irrelevant.  So we have major versions, at which we are 
prepared to make breaking changes, though we do try not to over-do them, and to 
make them easy to sort out, for those they affect (e.g. by ensuring the 
compiler will tell them what they need to change, as far as possible).  Fossils 
get buried; if you want to stay current, you have to be ready to change and 
leave some of your past behind.

By the time the current Win 7 users are interested in apps that (are stable 
and) make use of the shiny new features of Qt 6, there shall be an LTS version 
of Qt 6, in use by the (by then) tried and tested versions of apps catering to 
conservative users; and the versions of their O/S more recent than Win 7 shall 
have seen a few years of use in the field, so they'll be able to see which of 
those is stable enough for their needs, thereby allowing them the benefits of 
the newer O/S and app versions at only a modest price in risk from the upgrades 
- some of which, at least, shall be compensated for by the fact that they'll be 
back (for a while) to using a supported version of the O/S.

> There was plenty of negative feedback left on QTBUG-74687, but it was 
> all either ignored or dismissed. Why bother even asking people's 
> opinion if the decision had already been made?

Just had a quick look at that issue; and I note that it *didn't* ask your 
opinion, it set out to evaluate how practical it would be to drop Win 7.  It 
wasn't a popularity contest; and such a Jira ticket would not be a 
statistically meaningful way to conduct one - way too much selection bias.  The 
folk who want shiny new features, and are willing to upgrade the software on 
their computers to get them, aren't watching our Jira for mentions of a legacy 
O/S, so that they know to jump in and say what they think of dropping it.

        Eddy.
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to