← Back to context

Comment by 1vuio0pswjnm7

20 hours ago

"I get what they mean, but macOS is even Unix certified."

What do they mean?

To me the blog author is primarily focused on the issue of _control_, i.e., being able to control the hardware that he purchased as opposed to letting a company control it, e.g., through pre-installed software, remotely installed "updates", default settings, etc.

He cannot control its default behaviour hence he wants to "slim MacOS down"

"UNIX" was a pun on the name of another OS that allegedly was accused of being too large and complex. That OS, Multics, was designed to run only on specific hardware from GE and later Honeywell

UNIX was a smaller, less complex alternative that, after its rewrite in C, could more easily run on a variety of hardware and be modified by the people using it

Apple does not allow people using MacOS to modify it

MacOS is proprietary; unlike AT&T's UNIX it has not been released into the research community resulting in non-commercial, open source "MacOS-like" OS projects (HackIntosh notwithstanding)

A user cannot write programs for MacOS without restriction by the company, e.g., prior approval, "developer" fees, etc.

MacOS cannot easily be used on a variety of hardware, only on Apple's proprietary hardware

Compared to non-commercial UNIX-like OS, MacOS is larger and more complex

https://eclecticlight.co/2023/12/04/macos-sonoma-is-setting-...

> To me the blog author is primarily focused on the issue of _control_, i.e., being able to control the hardware that he purchased as opposed to letting a company control it, e.g., through pre-installed software, remotely installed "updates", default settings, etc.

Which has absolutely nothing to do with the OS being an UNIX or not. It's a bit weird to see the allusion to UNIX to be fair: Howard Oakley is deep enough down the rabbit hole that I would expect him to know that History is full of proprietary and closed UNIXes.

NB. The blog refers to (a) the "Unix purist" and (b) MacOS not being Unix. Arguably, (a) is more important, irrespective of whether (b) is true (IMO it's ambiguous)

For example, the "Unix purist" might refer to someone who identifies with the "ideals" associated with that OS, e.g., relatively small, portable to potentially any hardware, free to study and modify, etc. And (b) might refer to MacOS not conforming to those "ideals" (despite having a limited license to use a "UNIX" trademark)

At this point, (b) is ambiguous; what is "Unix". It might mean different things to different people

Ironically, Apple took the "Unix" parts of MacOS from open source, non-commercial "UNIX-like" OS projects such as NetBSD and FreeBSD that are not "Certified UNIX"

> MacOS is proprietary

Some of the drivers are. The core is open source, though. macOS' particular choice for its graphical user land is proprietary as well, but AT&T's UNIX had no such equivalent, aside from some experiments, so that doesn't make sense to use as a point of comparison. Not to mention similar systems in the UNIX-esq space, like SunView, NeWS, VUE, NeXTSTEP, etc. were proprietary too. That has always been par for the course in the world of "graphical UNIX". The so-called "Linux desktop" is the aberration.

You can, of course, run an open source graphical user land, like Gnome, instead on top of macOS' UNIX-y fashioned bits if you so wish.

  • > The core is open source, though. macOS' particular choice for its graphical user land is proprietary as well

    I ran into a kernel panic specific to my macbook's hardware. How do I compile a new kernel with some extra debug printlns and boot it to figure out the panic?

    On any actually open source operating system, this is doable, but I'm not holding my breath for any working instruction here. As far as I know, there's no way to modify the source code of, and then boot, the macOS kernel.

    Perhaps "the core is open source" doesn't mean that I can run a modified kernel to you?

    • > I ran into a kernel panic specific to my macbook's hardware. How do I compile a new kernel with some extra debug printlns and boot it to figure out the panic?

      1. You can find panic logs in Console.app. macOS writes them into NVRAM and stows away into files on its next boot. That will give you the process and kernel extension that was the culprit, and a stack trace.

      2. sudo nvram boot-args="debug=0x122" or something like this will increase log output from the kernel. Those debug prints are probably there already. You can even attach a debugger running from somewhere else, presumably over Thunderbolt on newer machines.

    • > How do I compile a new kernel with some extra debug printlns and boot it to figure out the panic?

      First, explain how you are doing it with the AT&T UNIX kernel. We can then help you adapt the process to Darwin.

      > On any actually open source operating system, this is doable

      I suspect you forgot to read the thread. While the grandparent comment considered AT&T UNIX to be "open source", that doesn't mean open source in the way we think of the term today. AT&T UNIX was very much proprietary in its own right. Today, we'd probably say "source available". Whether or not that is doable was dependent on what kind of agreement you had with the owner. They might have let you for a substantial fee, but Apple might let you for a substantial fee too. Have you asked?

      1 reply →