On Fri, 24 Jan 2025, Joshua Root wrote:
This year marks the 20th anniversary of the release of Mac OS X 10.4 Tiger.
It's had a good run, but it's long been getting harder and harder to support.
Upstream projects are understandably reluctant to add fixes for it. The very
few users who open Trac tickets for Tiger issues are opening them
considerably faster than they can be fixed. Maybe it's time to call it quits.
10.4 is of course already unsupported in the sense that we have no
expectation that maintainers should fix any problems on OS versions older
than current-2. So practically speaking, this would mean removing all
workarounds for 10.4 from base in the next major MacPorts release, closing
all 10.4 specific tickets as "wontfix", and beginning the process of removing
workarounds for 10.4 from ports as they are updated.
What does everyone think?
I'm never a fan of dropping something just because it's "old". You're not
very specific about "workarounds for 10.4" in base, but if any code
specifically related to *any* OS version isn't well-segregated, then
that's a bad design. And aside from base, what you're proposing boils
down to *prohibiting* maintainers from supporting 10.4, which is rather
heavy-handed.
I've made 10.4-related fixes to a number of ports myself, and they usually
haven't been hard. Most of the issues fall into the "can't be bothered"
category rather than the "this is hard to fix" category.
Although dropping 10.4 isn't a "hard drop" of any hardware besides the G3,
a number of programs run noticeably faster under 10.4 than under 10.5 (and
I don't just mean the GUI). I suspect that 10.5 involved a "POSIX
compliance by any means necessary" mandate, without regard to performance
impact. Also, when I "upgraded" my (CPU-upgraded) Quicksilver from 10.4
to 10.5, it became significantly less stable. Apple weasels out of this
by calling all machines with CPU upgrades unsupported, but the 7457
upgrade was quite valuable.
In legacy-support, there's only one feature I can think of (and a fairly
new one at that) that doesn't work on 10.4. There are a couple where the
10.4 version is deficient, though not necessarily in a show-stopping
manner. Everything else works just as well on 10.4 as it does on 10.5+,
and anything using those features via legacy-support doesn't need to worry
about it.
There used to be some nontrivial extra code in legacy-support for 10.4,
but I got rid of almost all of it just by organizing the code better.
I don't actually *use* 10.4 for anything myself, but I do support it and
test it, just for the benefit of people who do. When the PowerBook that I
used to use for PPC testing died, I spent my own money on a used G4 Mini,
as well as upgrading its HDD so that I could comfortably dual-boot 10.4
and 10.5 for MacPorts testing.
One positive aspect of supporting anything old is that one doesn't have to
worry about fixes colliding with updates. :-) Usually, once something is
fixed, it stays fixed. Except of course when someone decides to inflict a
new compiler on it when the old one was working fine.
Fred Wright