jb… a weblog by Jonathan Buys

How Long Will macOS Be Unix?

I’ve started to worry about the Unix core of macOS. Possibly unnecessarily, but there have been a few troubling signs over the years, the biggest of which is obviously the lack of access to a decent development environment on iOS. On iOS, web development is possible, but only in the barest, most basic sense of the term. As soon as you need to do anything even remotely complex, like build a Django project, run the server locally, and browse the site for testing, you are out of luck. That’s fine, because it’s iOS and I don’t need to do development on my phone, but for years Apple has been saying that they thought iOS and specifically the iPad was the future of computing. In the past few months we’ve seen other signs that point towards Apple looking to simplify their products to the point where they’d no longer be usable for me.

Another obvious sign is that Apple has deprecated what they call “scripting languages”.

Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include scripting language runtimes by default, and might require you to install additional packages. If your software depends on scripting languages, it’s recommended that you bundle the runtime within the app. (49764202)

Well, fine, for years we’ve needed to download the Xcode Command Line Tools to install git and a compiler. I imagine (hope) that future versions of the download will include the scripting languages needed to bootstrap Homebrew.

What bothers me the most though is that Apple has removed the man pages from their online documentation. Even the old archived links no longer work. In fact, if you start at developer.apple.com/opensource, and follow the link at the bottom to “View Unix Documentation”, you are brought to an extremely out of date archive page with five (5!!) links, none of which are relevant. I’ve been listening to Swift and Objective-C developers complain on podcasts about how the language documentation is incomplete or out of date, but that’s nothing compared to what’s been done to the Unix documentation. So far, the best we can get is doing a search on the open source repository… until that goes away.

I use a Mac because I love the simplicity and reliability of the user interface coupled with a solid Unix core, and because the indie developer community produces some of the best software in the world. The text editor I’m using now for example, BBEdit. Personally I think it’s clear that the Mac’s model for a software ecosystem is the best we’ve been able to come up with. Provide a person with the ability to craft an application themselves, and be able to make a living off of doing so by selling to a global audience. This results in high quality, sustainable software built by people who care deeply about their work and are motivated to continue developing it. Not to mention that the community built between writers, developers, artists, and hobbyists is welcoming, friendly, and inclusive.

One of the reasons for the Mac’s success in the 2000’s and 2010’s is because it made such a great developer or sysadmin machine because of the Unix architecture. Being a Mac, if you never needed to know about it, you would never see it, but if you did need it, the Terminal app was always right there in the Utilities folder, pop it open and you’re off to the races. Unfortunately, given recent moves by Apple, I’m not sure how much longer I’ll be abel to stay with the mac as my primary work machine. If I literally can’t get my job done, I’ll be forced to go somewhere else. That really doesn’t sound appealing to me.