[gtk-osx-users] Support for ancient MacOS versions?

A post yesterday from someone actually trying to build Gtk on a Tiger system raises a question I've been 
mulling for some time:

Is it time to pull the plug on the older versions of MacOS?

When I took over the project from Richard in 2009 Snow Leopard was the current OS X release, and Tiger, which 
was and still is the minimum "supported" version for gtk-osx, was 5 years old. It being only two versions 
"out of date", it made some amount of sense to continue to support it. There were still a lot of PPC macs 
around and Snow Leopard didn't support them.

That was almost 8 years ago, and much has changed. In particular, Xcode 7 and MacOS10.9.sdk introduced a new 
linkage system that allows one to build binaries that run on any system from 10.6 on by passing the oldest 
version you want to --macosx-version-min. Clang has matured into a pretty good compiler, especially compared 
to the buggy llvm-gcc compilers of Xcode 4.x. Packages which include mac-specific code often require patching 
to be able to build with the older SDKs and compilers. Maintaining all of that takes effort and I don't think 
that there are a lot of users who benefit from it.

In fact given today's security environment I think that supporting ancient and no-longer updated MacOS 
versions is a disservice to users, who might get the message that it's OK to expose their insecure systems to 
the internet because someone out there still supports their system. 

So I'm inclined to change the support policy to 5 years, effective on the fifth anniversary of Mountain 
Lion's release on 16 February; meaning that after that gtk-osx won't actively support building on systems 
older than Mountain Lion; on 10 June 2018 the minimum supported system will be Mavericks, and so on.

The immediate impact will be removing all of the ppc-related and pre-10.8 special case code from 
jhbuildrc-gtk-osx. Over time I'd also weed out patches and modules which enable building on now unsupported 
versions of OS X.


John Ralls

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]