Closed Bug 1130266 (xp-eol) Opened 9 years ago Closed 9 months ago

[meta] Remove support for Windows XP/Vista

Categories

(Core :: General, task, P1)

All
Windows XP
task

Tracking

()

RESOLVED FIXED
Tracking Status
relnote-firefox --- 53+

People

(Reporter: at.light, Unassigned)

References

(Depends on 2 open bugs)

Details

(Keywords: meta)

I'm not suggesting that we drop support for XP any time soon. But it will happen one day, so we can use this tracking bug to track things to do after support for XP is dropped.
This probably should cover both XP and 2003 server (EOL July 2015). XP 64bit share same code with 2003 and overall its same code (NT5.x) base for both with not much difference before vista (NT6) introduction.
Component: Tracking → General
QA Contact: chofmann
Google dropped support for XP and Vista in Chrome 50 (April 2016).
Alias: xp-eol
Blocks: 660367, 713680
No longer depends on: 660367, 713680
Keywords: meta
Priority: -- → P3
Summary: Dropping support for Windows XP (tracking) → Drop support for Windows XP
Depends on: 1303827
Depends on: 1303821
Depends on: 1305453
Priority: P3 → P1
Summary: Drop support for Windows XP → Drop support for Windows XP/Vista
Blocks: 1281448
(In reply to Chris Peterson [:cpeterson] from comment #2)
> Google dropped support for XP and Vista in Chrome 50 (April 2016).

How is this relevant to Mozilla?

Windows XP is surely long past dead and support should go but I really see no huge reason to drop Vista support.. There aren't that many substantial differences between Vista and 7 from a kernel/win32 api stance.

So what is the actual development impact of NOT targeting NT 6.0?

As a matter of record.. Windows Vista's end of life is April 11th, 2017 and Firefox 52 is set to release on March 7th, 2017.
(In reply to Matt A. Tobin [:BinOC] from comment #3)
> (In reply to Chris Peterson [:cpeterson] from comment #2)
> > Google dropped support for XP and Vista in Chrome 50 (April 2016).
> 
> How is this relevant to Mozilla?
> 
> Windows XP is surely long past dead and support should go but I really see
> no huge reason to drop Vista support.. There aren't that many substantial
> differences between Vista and 7 from a kernel/win32 api stance.
> 
> So what is the actual development impact of NOT targeting NT 6.0?
> 
> As a matter of record.. Windows Vista's end of life is April 11th, 2017 and
> Firefox 52 is set to release on March 7th, 2017.

We're currently leveraging Google's chromium sandbox library for content security, and they decided to drop Vista support from their library at the same time they dropped XP support from it. So we've had to rope Vista in as well.
Looking at the patch (https://chromium.googlesource.com/chromium/src/sandbox/+/b8fd298eb077fcb2e56f1ab95484771abc7ffa12%5E!/) it looks like the vast majority was mostly dealing with XP checks using Vista as a version point.. ie less than Vista..

Since from a programing standpoint Vista and Windows 7 are nearly identical.. I would at LEAST suggest you target NT subsystem version 6.0 and give it a test to see if the Windows 7 targeted code actually works on Vista. It very well may. If not you could always patch for what would likely amount to a very minor change.

In any event, you guys should investigate.
Vista does not support Direct2D 1.1 that our Direct2D support depends on.
Doesn't the code in the case of Driect2D 1.1 not being there simply fall back to cairo? So why is this an issue?

Historically, Mozilla, the codebase, has been very resilient to multiple generations of target platforms. Or are you saying Direct2D which of course only exists in NT 6.1+ is a hard requirement now?
I just disputed your "Vista and Windows 7 are nearly identical" argument. Keeping Vista support is not so easy as you imagine.
I like how you did not even attempt to answer my question. Nearly identical means nearly identical. The qualifier exists.

Regardless, Direct2d 1.1 shouldn't even be a hard requirement and falling back to cairo is perfectly acceptable for an OS that is on it's way out but not quite there yet. You guys supported Windows XP for two years after the /second/ XP End of Life.. Why is Vista being treated differently.

Yes there may be some snags to work out but it shouldn't be a huge major developmental burden.
(In reply to Masatoshi Kimura [:emk] from comment #8)
> I just disputed your "Vista and Windows 7 are nearly identical" argument.
> Keeping Vista support is not so easy as you imagine.

I think that if Vista wasn't so close to 7, they wouldn't have been able to pull the API level forward to Windows 7 level with a simple platform update. I have to agree with Matt A. Tobin here that the differences, from a programming point of view, between NT6.0 and NT6.1 are definitely not so great that it becomes "very difficult to keep support for it" which you seem to be implying.

BTW: The rolled-in Vista culling in the referenced chromium sandbox patch seems to be limited to only HardenProcessIntegrityLevelPolicy() and some DEP/ASLR flags. Is that so breaking?

Mind you, I'm not a proponent of Vista, myself; I find it a terrible OS - but that aside, I don't think just culling this support for no clear reason (beyond "Google does it" or a few minor differences) is a good way to go.
(In reply to Matt A. Tobin [:BinOC] from comment #9)
> You guys supported Windows XP for two years after the
> /second/ XP End of Life.. Why is Vista being treated differently.

Vista has never been as popular as XP, so the justification for putting resources into maintaining support is much weaker. Today XP still has about nine times as many users as Vista.
Then why not revert the patch and continue to support XP and Vista until such time XP usership falls to the level of just Vista which btw XP+Vista is about the same or slightly higher than Windows 8 and 8.1.
(In reply to Matt A. Tobin [:BinOC] from comment #12)
> Then why not revert the patch and continue to support XP and Vista until
> such time XP usership falls to the level of just Vista which btw XP+Vista is
> about the same or slightly higher than Windows 8 and 8.1.

Because supporting XP is much more expensive. You can't look just at the age, just at the market share, or just at the support cost. All those aspects need to be taken into account.
Alright.. World Wide Total usership of Windows XP and Vista is 10.14%
While Mac and Linux usership is only at 9.47%

Seems to me the developmental burden for two additional and completely different platforms would be much greater than that of older versions of the same platform. Much greater in fact. A lot of conditional code and mostly if not completely different implementations for many components.

So why are two platforms with unique and extensive developmental costs being retained when the comparatively minor development cost of older versions of the same platform are being culled?
One reason would be that we want to support competing and alternative OSes rather than contributing to a future where Windows would be the only viable desktop OS choice.

Also, XP and Vista are dying while Mac and Linux are not. To compete with multi-billion dollar companies like Microsoft, Apple and Google, we need to focus on the future rather than burning resources by clinging to the past.
(In reply to Matt A. Tobin [:BinOC] from comment #14)
> Alright.. World Wide Total usership of Windows XP and Vista is 10.14%
> While Mac and Linux usership is only at 9.47%
> 
> Seems to me the developmental burden for two additional and completely
> different platforms would be much greater than that of older versions of the
> same platform. Much greater in fact. A lot of conditional code and mostly if
> not completely different implementations for many components.
> 
> So why are two platforms with unique and extensive developmental costs being
> retained when the comparatively minor development cost of older versions of
> the same platform are being culled?

Supporting XP is actually become quite a problem for our releng teams in that data center testing hardware doesn't support XP anymore. So for example we currently use AWS for most of our testing, but have XP tests running on old hardware we have to maintain ourselves in a data center. It's issues like this that push us to move XP out to an extended support release where we can decommission most of our automated testing associated with it.
Feel free to reopen https://bugzilla.mozilla.org/show_bug.cgi?id=1059840 when ready.
Depends on: 1059840
Blocks: 1310836
Blocks: 1312085
Depends on: 1315153
Depends on: 1317569
(In reply to Yuhong Bao from comment #17)
> Feel free to reopen https://bugzilla.mozilla.org/show_bug.cgi?id=1059840
> when ready.

We will drop support for all WinXP versions at once. Nothing special about SP2.
No longer depends on: 1059840
Blocks: 1317569
No longer depends on: 1317569
Depends on: 1317780
Blocks: 1318025
Depends on: 1318671
Blocks: 1318619
Just to put things into prospective, I figured out the reason Chrome dropped Vista was probably due to some unfortunate choices they made years ago that basically got XP to share its same codepath (first only for gpu acceleration, then for basically everything else)
https://groups.google.com/a/chromium.org/d/msg/chromium-dev/UMwGGgP0P9c/IxwtfTCZ4H8J
https://bugs.chromium.org/p/chromium/issues/detail?id=315199
https://bugs.chromium.org/p/chromium/issues/detail?id=426573
Of course if you think 1-2% of net users is negligible (when dropping decrepit and burdensome XP) it's just easier to remove both altogether. 

Afaik FF isn't in a similar odd situation though. 
And Direct2D and DirectWrite (the only things different from 7.. unless you are ever going to need DXGI 1.2 or DX 11.1?) are already broken (or disabled if you prefer) in current release builds. 
Thus I fail to see a sense in the inclusion of Vista in the "to drop" list. 

I mean even if nobody was using it, only the bare work needed to put warnings/barriers in place seems to outweigh whatever benefit one might hope to obtain. Especially if W7 platform update (==Vista) isn't ever going to be considered mandatory (bug 1211920 calm seems to suggest so).
Depends on: 1318920
Depends on: 1318921
Depends on: 1318922
Depends on: 1315083
Depends on: 1319162
Depends on: 1319164
Depends on: 1319167
No longer depends on: 1318922
No longer depends on: 1318921
No longer depends on: 1319162
No longer depends on: 1315153
Blocks: 1319942
Depends on: 1322546
Depends on: 1322646
No longer blocks: 1317569, 1318025
Depends on: 1322752
Depends on: 1322831
Blocks: 1323522
No longer blocks: 1281448
Depends on: 1323695
Blocks: 1323810
Depends on: 1324790
Blocks: 1323055
No longer depends on: 1323055
Depends on: 1325217
Depends on: 1325299
No longer depends on: 1322546, 1322752, 1322831, 1323695
Depends on: 1325368
Depends on: 1325503
Depends on: 1325897
Blocks: 1318558
No longer blocks: 1318558
Depends on: 1318558
Blocks: 1330001
Depends on: 1330146
Blocks: 1331205
Blocks: 1325299
No longer depends on: 1325299
Blocks: 1318558
No longer depends on: 1318558
No longer depends on: 1325368, 1325897, 1330146
Depends on: 1334860
Depends on: 1334862
Depends on: 1334866
Depends on: 1334868
Depends on: 1334870
This bug was originally about "dropping" support for XP/Vista, meaning it tracked the release engineering work necessary to announce XP/Vista are no longer supported. That announcement was a prerequisite for removing XP/Vista code, so I made this announcement bug *block* code removal bugs. But more recently filed bugs have been inconsistent in blocking or being blocked by this, so I will consolidate all the code removal bugs to *block* this meta bug so we are consistent.
No longer blocks: 1323522, 1324316, 1325368, 1325897, 1330146
Summary: Drop support for Windows XP/Vista → Remove support for Windows XP/Vista
No longer blocks: 1325299
Depends on: 1325299
No longer blocks: 1331205
Depends on: 1331205
Depends on: 1334898
Depends on: 1336778
(In reply to Dão Gottwald [:dao] from comment #15)
> One reason would be that we want to support competing and alternative OSes
> rather than contributing to a future where Windows would be the only viable
> desktop OS choice.
> 
> Also, XP and Vista are dying while Mac and Linux are not. To compete with
> multi-billion dollar companies like Microsoft, Apple and Google, we need to
> focus on the future rather than burning resources by clinging to the past.

I would simply like to point out that the statement "XP and Vista are dying while Mac and Linux are not" is a self-fulfilling prophesy.

In this day and age, the full usefulness of a personal computer is generally dependent upon having an up-to-date Web browser that can handle the content of the sites currently out there on the Web.
Windows NT, Mac OS X, and GNU/Linux are all robust operating systems more than capable of handling the Web of today.

By this I mean to say that none of them are traditional personal computer OSes like the Classic Mac OS or MS-DOS-based Windows, fashioned to the hardware limitations of the personal computers of the '80s.

Despite Mozilla being the only organization to have continued Windows XP support to this point, the OS enjoys wide support for all other kinds of programs, including antivirus and Microsoft Office security updates.

Windows XP continues to have a large market share in the current year, because its dumbed-down, user-hostile successors are unacceptable to traditional PC users (now often termed "power users") who require a large degree of program compatibility, customization, and control over their OS, but are not computer programmers (and so don't fancy GNU/Linux, which it beats in market share by over four TIMES!)

If Mac OS X and GNU/Linux had no up-to-date Web browser, it could be said that they are "dying operating systems" as well.


I fully understand that every supported platform costs resources and I truly appreciate the hard work of all the maintainers of this great codebase.  I simply wish to illuminate the people who depend on Firefox or another Mozilla-based browser running on Windows XP as their window to the world whether they be power users, or people who have no access to a computer capable of running a newer OS!
Many people around the world do not have the ability to upgrade their computer hardware every couple of years.  Windows XP will run on an original Pentium processor at 8 MHz, and 20 MB of RAM!
The "recommended hardware" to run Firefox is currently a Pentium 4 CPU or equivalent with SSE support, and 512 MB of RAM.
I don't imagine that users with these recommended hardware specifications will be able to upgrade to Windows Vista or higher, and this limitation in accessibility makes the World Wide Web narrower in reach.

A lot of the problem occurs when Web designers fail to consider the principles or either progressive enhancement or graceful degradation, but especially when done by the major Web-based "platforms" like Facebook and Twitter.

In closing, I would like to bring your attention to the homepage of Mozilla.org.
The page title reads "Internet for people, not profit".
The subtitle reads: "We’re Mozilla, the proudly non-profit champions of the Internet, helping to keep it healthy, open and accessible to all. "

If these are Mozilla's goals then we ought to reaffirm them and redouble our commitment.
If not, these platitudes should be removed so as to be honest with ourselves and the wider world about what Mozilla really stands for.
(In reply to Thomas E. from comment #22)
> I fully understand that every supported platform costs resources and I truly
> appreciate the hard work of all the maintainers of this great codebase.  I
> simply wish to illuminate the people who depend on Firefox or another
> Mozilla-based browser running on Windows XP as their window to the world
> whether they be power users, or people who have no access to a computer
> capable of running a newer OS!
> Many people around the world do not have the ability to upgrade their
> computer hardware every couple of years.  Windows XP will run on an original
> Pentium processor at 8 MHz, and 20 MB of RAM!
> The "recommended hardware" to run Firefox is currently a Pentium 4 CPU or
> equivalent with SSE support, and 512 MB of RAM.
> I don't imagine that users with these recommended hardware specifications
> will be able to upgrade to Windows Vista or higher, and this limitation in
> accessibility makes the World Wide Web narrower in reach.
Even if it is not common, most of them can if they upgrade the RAM, which is pretty easy in most of them
I know people with a Mobility Radeon 7500 (2001) happily running W7 to be honest. Of course they had to upgrade their RAM. 
True that if I only had ~512MB (the smallest power-of-2 amount still "physically" able to keep open latest firefox version and something more than just Google homepage) XP would still be a very hefty contender. 

With a quick search though you can find already openly in the wild code to remotely exploit it down to the LAN level (let's draw a veil for locally). It's not a slim risk, but I can see how "casual" browsing or more careful users may be willing to take it. 
But seriously, by 2018 (when FF 52 ESR will be dropped) I expect script kiddies to really hack you by just knowing your IP. 
And I'll omit the sermon on automatic downloads being enough to compromise you or 0-days. 

Imo, any linux distro with a stacking window manager should do the magic. Possibly while being still supported itself too. 

Then, this could still have been played better, sure. Say -after due code refactoring- putting old one behind ifdefs instead of dropping it altogether. Or instead of going with the flow as I was pointing out in comment 19. 

But cmon, it's not a good reason to go numb. An OS still being maintained and actively updated cannot die.
Depends on: 1339226
Depends on: 1348177
Blocks: 1348419
Blocks: 1391696
Depends on: 1466614
Summary: Remove support for Windows XP/Vista → [meta]Remove support for Windows XP/Vista
Summary: [meta]Remove support for Windows XP/Vista → [meta] Remove support for Windows XP/Vista
Depends on: 1495991
Type: defect → task
No longer blocks: 713680
Severity: minor → S4
See Also: → win7-eol
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Depends on: 1436465
You need to log in before you can comment on or make changes to this bug.