Unix Pioneer Ken Thompson Announces He's Switching From Mac To Linux

The closing keynote at the SCaLE 20x conference was delivered by 80-year-old Ken Thompson (co-creator of Unix, Plan9, UTF8, and the Go programming language).

Slashdot reader motang shared Thompson's answer to a question at the end about what operating system he uses today:

I have, for most of my life — because I was sort of born into it — run Apple.

Now recently, meaning within the last five years, I've become more and more depressed, and what Apple is doing to something that should allow you to work is just atrocious. But they are taking a lot of space and time to do it, so it's okay.

And I have come, within the last month or two, to say, even though I've invested, you know, a zillion years in Apple — I'm throwing it away. And I'm going to Linux. To Raspbian in particular.
 
It is sad that Apple has pretty much lobotomized their OS in such a way that a guy who we all owe so much to, no longer has access to something he deems worthwhile to use.

What Microsoft and Apple are doing to their consumer operating systems doesn't seem ethical in so many ways.

It is good to see him go to the Raspberry Pi. He provides a decent example of if you simply cut out the bloated sh*tware that beginners tend to compulsively feel they need to use, then you simply don't need such a powerful machine. If anything the Pi is a super computer compared to what he is proficient with.
 
It is sad that Apple has pretty much lobotomized their OS
Lobotomized how exactly? It still has all the command tools, it's been constantly improved. The quote in original post does not provide any details, and all you can hear from mac users is "the dock looked better previously" (the grass was greener).

And what "unethical" Microsoft is doing to its OS?
 
Lobotomized how exactly?

And what "unethical" Microsoft is doing to its OS?

Probs best to ask Ken why he switched. He knows more than you and I.

But, some off the top of my head:

  • Mandatory online DRM activation during macOS (Ventura+) installation (when your OS is least protected)
  • Mandatory macOS developer DRM for executing your own code on aarch64/m1/m2. An executable compiled by you cannot run on my mac, even if I wanted to or disable gatekeeper unless you rent a developer license from apple (complex, read bottom here).
  • Windows (and macOS) arrogant spying on users and selling to highest bidder is unacceptable.
  • Windows requires online DRM during installation (when your OS is least protected)
  • Windows requires online account during installation (they are preventing bypasses each new release).
  • Windows programs can add themselves to firewall rules. Firewall rules aren't ordered which makes it quite unfit for purpose. So much so that I even suspect foul play in terms of preventing users from controlling internal spyware.
All of these combined either remove freedom from open computing. Or they open up users to major security and privacy concerns. Or they completely destroy lifespan of software via planned obsolescence. This is unethical.
 
It is sad that Apple has pretty much lobotomized

Surely you have enough experience (and/or examples?) with macOS to justify this sentiment? Other than some UX/UI iOS-ification, it's still the most stable (and usable) Unix desktop in the market. In fact, it has many great desktop features that are still absent in any open source alternative.

On another note though, It's kind of disappointing seeing all the Unix pioneers congregating around a crappy implementation of a Unix-like system. BSD is still home of proper Unix development and innovation!
 
Other than some UX/UI iOS-ification, it's still the most stable (and usable) Unix desktop in the market.

Anything that requires renting of a DRM development license from a central company just to run your *own* code on a fleet of workstations is not classed as stable in my opinion.
This is pretty much why Windows RT failed.

Have you tried using it outside of a home desktop context? These days you can't even get it to skip booting into its gross UI.
 
Lobotomized how exactly?
Try running anything that listens on a port. Mac OS will pop up Windows-like dialogs asking you "Do you really want to allow /some/stupidly/long/path/full/of/random/characters/redis to listen on port 7001?" Particularly awesome when you're trying to run a six-node local Redis cluster.

File attributes designed to pop up a warning asking you if you want to run some binary you downloaded from the Internet, even if that binary is signed by a developer you trust.

Ditching Opengl and refusing to implement Vulkan in favor of their own shitty Metal thing.

Do a cat /etc/resolv.conf for shits and giggles.



And what "unethical" Microsoft is doing to its OS?
The relentless gathering and selling of your activity data? I've tried to debloat Windows, and it's quite a game of whack-a-mole.
 
It is sad that Apple has pretty much lobotomized their OS in such a way that a guy who we all owe so much to, no longer has access to something he deems worthwhile to use.

What Microsoft and Apple are doing to their consumer operating systems doesn't seem ethical in so many ways.

It is good to see him go to the Raspberry Pi. He provides a decent example of if you simply cut out the bloated sh*tware that beginners tend to compulsively feel they need to use, then you simply don't need such a powerful machine. If anything the Pi is a super computer compared to what he is proficient with.
Ahhh... These days, I am finding Windows difficult to avoid:
  • Discord, ESPN, Tenor.com and a LOT of web sites that I kind of need to use for my daily functioning (like banking, medical care portals, online classes)- they work best on www/firefox... and that port has horrendous memory management that crashes my FreeBSD machine (Lenovo Ideapad 720s-13ARR, with a Ryzen 5 2500U, 8GB of RAM). Not to mention that I've seen some info on either cgit.freebsd.org or bugzilla or somewhere - I can't find it any more, but I swear, I have seen info saying that a FreeBSD dev tried to implement memory management for Firefox, and gave up.
  • net-im/zoom is several versions behind what's available for Windows, and the conferencing infrastructure demands that I have an up-to-date client to even connect.
  • Skype is another thing that is unfortunately stuck in the Windows/Mac world. On FreeBSD, Skype only works on Firefox, but it's iffy at best. Chatting using a keyboard is OK, but video calls, even if I have compatible hardware - that is a problematic proposition that requires an engineering degree to troubleshoot and resolve on FreeBSD.
  • I do need Turbotax (Yeah, taxes still need to be paid). Even if I used www/firefox and did them online, I can't exactly afford to have my system crash and freeze on me while I'm doing my taxes... 🤷‍♂️
  • SANE (Scanner support) is still crappy. My model of scanner is still not supported, and I spent a couple years trying to figure it out. The scanner itself is fine, I can still get the windows driver for it, and get decent scans... but I'm not willing to shell out time and money looking for a compatible scanner just to appease RMS.
  • Wi-fi support: There's not that many cards that FreeBSD can use. Intel-branded stuff is something I had success with, but these days, laptops are not the easiest thing to disassemble, even if I find the manual and instructions on how to do it.
If I wanted to do stuff like programming, watching movies, analyze data, make movies/pictures/sounds, organize, search and serve up files, backups, firewalls, advanced mathematical computations, even some games (and I'm not a gamer), FreeBSD is great for that. On Windows, capabilities like that tend to be something you pay extra for.

Right now, the way I see it, just knowing that FreeBSD is there, and can be a viable option on several fronts when Windows gets to the point of being ridiculous - that knowledge is power.
 
In fact, it has many great desktop features that are still absent in any open source alternative.
such as?

Yeah, I'm not familiar with macs, but I find it hard to believe that a convenient feature that I don't know about would not be found on ANY open source DE or WM...
 
Ahhh... These days, I am finding Windows difficult to avoid

I do get that. I am fortunate that my usage of Windows (Rational Rose, TurboTax, printer driver, VHS tape converter driver) is pretty adequate with Windows 2000 (a fine operating system!).

However, it is hard to deny that current releases of Windows aren't getting pretty scummy these days.
 
Anything that requires renting of a DRM development license from a central company just to run your *own* code on a fleet of workstations is not classed as stable in my opinion.
Oh my. I knew things had got bad with Apple but I had no idea they were that bad.
About four years ago, I was trying to get a debugger I wrote working in macOS (Intel). Ptrace has been effectively removed on macOS and it wouldn't let me use Mach kernel calls (to read another process's virtual memory) even if I disabled system integrity protection and ran the debugger with sudo!
In the end I found out I had to sign a certificate to even run my own code, which required about 20 steps in the GUI each with its own accompanying screen shot.
I just quit. I couldn't be bothered.
This is so terribly sad that Apple has decided to do this to what was a very functional OS.
 
The Mac I am typing this on runs my own programs, that of brew (package manager) and an Xcode app I wrote just fine. I am not logged in with my developer account.

I play a game where the developers refuses the Apple dance and release unsigned code. I can run it just fine after allowing that in the security preferences for that specific installer.

I have some firmware security turned off so that I can run DTrace.

I am very annoyed that they removed 32 bit binary support altogether.
 
The Mac I am typing this on runs my own programs, that of brew (package manager) and an Xcode app I wrote just fine. I am not logged in with my developer account.

I play a game where the developers refuses the Apple dance and release unsigned code. I can run it just fine after allowing that in the security preferences for that specific installer.

I have some firmware security turned off so that I can run DTrace.

I am very annoyed that they removed 32 bit binary support altogether.
Oh my. I knew things had got bad with Apple but I had no idea they were that bad.
About four years ago, I was trying to get a debugger I wrote working in macOS (Intel). Ptrace has been effectively removed on macOS and it wouldn't let me use Mach kernel calls (to read another process's virtual memory) even if I disabled system integrity protection and ran the debugger with sudo!
In the end I found out I had to sign a certificate to even run my own code, which required about 20 steps in the GUI each with its own accompanying screen shot.
I just quit. I couldn't be bothered.
This is so terribly sad that Apple has decided to do this to what was a very functional OS.
This only confirms my resolve to never touch a Mac with a 10-foot barge pole 🤮
 
Anything that requires renting of a DRM development license from a central company just to run your *own* code on a fleet of workstations is not classed as stable in my opinion.
This is pretty much why Windows RT failed.

Meh, that's more of an accessibility thing than stability. I agree it's dumb but you get a lot more with their developer program. Pro's outweigh the cons IMO.

Windows RT failed because Microsoft provided a shitty architecture transition strategy for their developer base. Not to mention the whole Windows 8 UX/UI disaster they put people through. Microsoft is just bad a making software. period.

such as?

Yeah, I'm not familiar with macs, but I find it hard to believe that a convenient feature that I don't know about would not be found on ANY open source DE or WM...

To name a major few:

- Quartz ( Wayland wants to be this, but has failed for over a decade. Quartz was released in 2005(!) )
- AirPlay/AirDrop/AirPrint
- Continuity
- By-default app sandboxing
- Dynamic memory compression
- Thunderbolt GPU offloading
- Automatic GPU switching
- APFS (yes, the only stable filesystem comparable to ZFS)

As far as DE's are concerned. The desktop was already a solved problem when Apple inherited NeXT. Most (if not all) modern ideas came from NeXTSTEP.
 
cracauer@ A couple of questions (I am genuinely interested in what level the restriction is).

The Mac I am typing this on runs my own programs
Can you copy that program across and still run it on a friend's Apple laptop? It should fail. The ad-hoc local code signing is only for *your* machine. Think of it as a provisioning profile on the iOS toolchain. Having your app work on your iOS machine, doesn't mean it can run on others without them added (via an Apple developer license rental).

The codesign / DRM stuff happens invisibly within their Clang (actually the ld linker) extensions.

I play a game where the developers refuses the Apple dance and release unsigned code. I can run it just fine after allowing that in the security preferences for that specific installer.

This enforced restriction is only for non-intel machines. On Intel builds, you can disable it. So to test, are you running on a machine with Apple's aarch64 based processor? (its also not a problem on PowerPC and m68k obviously ;))

Meh, that's more of an accessibility thing than stability.
Its an absolute dealbreaker in the enterprise I imagine. Think of it as instant (and unresolvable) technical debt.
 
cracauer@ A couple of questions (I am genuinely interested in what level the restriction is).


Can you copy that program across and still run it on a friend's Apple laptop? It should fail. The ad-hoc local code signing is only for *your* machine. Think of it as a provisioning profile on the iOS toolchain. Having your app work on your iOS machine, doesn't mean it can run on others without them added (via an Apple developer license rental).

The codesign / DRM stuff happens invisibly within their Clang (actually the ld linker) extensions.



This enforced restriction is only for non-intel machines. On Intel builds, you can disable it. So to test, are you running on a machine with Apple's aarch64 based processor? (its also not a problem on PowerPC and m68k obviously ;))

I just copied a (commandline) binary from my Intel Macbook to my M1 mini and it runs fine. Same with copying to another Intel Mac. I dunno what happens with GUI apps built from GUI XCode.

I don't have that game installed on my M1, but I know others have. To clarify, I don't turn signed apps off, I approve installers one by one. That seems to work the same on M1 for that game.
 
I just copied a (commandline) binary from my Intel Macbook to my M1 mini and it runs fine. Same with copying to another Intel Mac. I dunno what happens with GUI apps built from GUI XCode.
How is that running in your case? Is it a "fat" binary, i.e contains executable for both architectures. Or is it running via translation/rosetta2?

Apple's statement regarding enforced iOS-style codesign is:

This new policy doesn’t apply to translated x86 binaries running under Rosetta, nor does it apply to macOS 11 running on Intel platforms.

Some info here:


I don't have that game installed on my M1, but I know others have. To clarify, I don't turn signed apps off, I approve installers one by one. That seems to work the same on M1 for that game.
OK. Interesting. My understanding is that, like iOS, you can't approve apps / installers unless they have been signed either by an Apple provided asymmetrical key or by a locally generated asymmetrical key which matches the current host.

Unless I am wrong about this, I think potentially people don't realize how much of an issue this restriction actually is yet.
 
How is that running in your case? Is it a "fat" binary, i.e contains executable for both architectures. Or is it running via translation/rosetta2?

Apple's statement regarding enforced iOS-style codesign is:



Some info here:



OK. Interesting. My understanding is that, like iOS, you can't approve apps / installers unless they have been signed either by an Apple provided asymmetrical key or by a locally generated asymmetrical key which matches the current host.

I think potentially people don't realize how much of an issue this restriction actually is yet.

I only have one Arm Mac so I can't check right now. Yes, that binary I transferred runs under Rosetta on M1.

A friend with a M1 Mac will visit in a few days, I'll try then. So far I see no problems.
 
Back
Top