|
I love the Tiger through Snow Leopard era of Mac OS X, and I feel I could be productive on a G4, G5, or early Intel Mac for lightweight computing tasks, though I’d need to use another device for web browsing and for handling modern file formats. I think one of the major challenges of using modern software on early versions of Mac OS X (and even on current macOS releases) is the fact that Linux has become the de-facto standard Unix-like operating system, and modern Linux with systemd, Wayland, dbus, and other technologies have deviated greatly from POSIX and other classical Unix technologies. Granted, the world has moved on since the last POSIX revision, and commercial Unix (e.g., Solaris, HP-UX, AIX, etc.) is not as commonplace compared to 20 years ago. Still, this has impacted the BSDs; their development communities are more conservative and some people have strong feelings about technologies like systemd and Wayland, but since Linux has a higher marketshare and an increasing amount of software is written for it without regard for the BSDs and other systems, then Linux has become the standard and the BSDs have to deal with a fragmented software base that once cared about portability among *nix systems. I wonder, though, how difficult would it be to replace older versions of Darwin (the open-source BSD and Mach layers of macOS) with updated code while ensuring the proprietary layers running on top of Darwin still work? This might be a good approach for helping older macOS versions run newer software, as well as adding compatibility layers to deal with Linuxisms. I remember reading about experiments updating the kernels of NeXTstep and Rhapsody in a similar fashion. |
Systemd is inspired by/imitating launchd; macOS did it first, to much less fanfare, and therefore much less awareness.
The evolution of Cocoa alongside GCD, XPC, and launchd would probably mean a lot of difficulty in backporting. Things shifting between kernel and userspace and launchd services with restrictive permissions won't be kind to a lot of software of reasonable complexity.