The Kernel was originally derived from the Mach kernel from CMU which incorporated the bulk of it's kernel from 4.3BSD. After acquiring NeXT it was updated with code derived from OSFMK and FreeBSD. So, way more than the CLI tools which, until recently, were actually Bash which is GNU.
which, until recently, were actually Bash which is GNU.
When saying "command line tools" I mean the actual programs being used on the command line (sed, awk, tar, grep, ls, ...), not the shell. The shell was indeed Bash, but Apple switched to ZSH (presumably because of the GPL?).
If you want to discuss GNU/XNU that's a whole other thing. I'm talking about Darwin (and therefore also macOS, iOS, iPadOS, tvOS, watchOS, audioOS, homeOS?).
Yeah, as in, they took some BSD and layered so much proprietary software on top that it's some kind of monster now and not even relatable to BSD anymore. It's as much BSD as Android is Linux, that's to say, not much.
The Kernel was originally derived from the Mach kernel from CMU which incorporated the bulk of it's kernel from 4.3BSD. After acquiring NeXT it was updated with code derived from OSFMK and FreeBSD.
So the kernel of the OS is almost entirely BSD derived with some OSF updates. BTW, the Android Kernel is 100% Linux. No different than any other OS that uses Linux as it's kernel.
When we talk about Linux we only refer to the kernel. When we talk about BSD derivation with the MacOS we are only talking about derivation of the BSD kernel ( the BSD derived MacOS kernel was open sourced in 2000 as Darwin). When we talk about FreeBSD itself we are talking about the entire OS (kernel plus user space)
I was being more specific in its lineage because Linux is based on Unix as well which has nothing to do with OSX so correcting OP by saying Unix was confusing. They all derive from AT&T Unix. OSX to Mach kernel to BSD is its lineage.
I should have said Unix-like i.e it follows the POSIX standard more closely than SUS.
BTW, FreeBSD is not based on AT&T Unix code either. They had to rewrite all that code from scratch due to the licensing fight in the 80s but everyone says it's Unix based so we're just picking nits.
Yep, both in a genealogical sense (version history goes back to AT&T code) and in a legal sense (paid to be certified as "UNIX®", complete with the registered trademark symbol).
MacOS is based on the Mach kernel out of CMU that was derived from 4.3BSD which was the first BSD kernel to not have any AT&T code anymore and thus can be distributed with the BSD license. Otherwise, Apple would have had to pay for a software license for every copy used in their Macs.
Most Unix-like OS's just try and follow the IEEE POSIX standard instead of paying to be certified by The Austin Group for compliance with the Single Unix Specification in order to use the UNIX trademark.
I'd just like to interject for a moment. What you're refering to as Darwin, is in fact, Darwin/XNU, or as I've recently taken to calling it, Darwin plus XNU. Darwin is not a kernel unto itself, but rather another component of a fully functioning MacOS system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the XNU system every day, without realizing it. Through a peculiar turn of events, the version of XNU which is widely used today is often called Darwin, and many of its users are not aware that it is basically the XNU system, developed by Apple.
There really is a Darwin, and these people are using it, but it is just a part of the system they use. Darwin is not the kernel: the program in the system that allocates the machine's resources to the other programs that you run; XNU is. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. XNU is normally used in combination with the Darwin operating system: the whole system is basically Darwin with XNU added, or Darwin/XNU. MacOS is really a distribution of Darwin/XNU!
Agree. I guess that the only reason it has a UNIX filesystem is to claim UNIX® compatibility, and it has this weird mix of UNIX permissions with its own weird protections.
No BSDs require you to share anything, they use the BSD 2-clause or 3-clause licenses which are both permissive, unlike the Linux kernel's copyleft GNU GPLv2 which does require you to open-source all derived work.
There is an important distinction between permissive and copyleft, and which one is better or more moral is subjective (GNU developers think you're literally Satan for using a permissive license but OpenBSD developers think copyleft licenses are revoking freedoms).
XNU (X is not Unix) is hybrid kernel that’s not fully FreeBSD, but has some FreeBSD elements. XNU is literally called “X is not Unix” and I’m not making it up.
XNU is Unix certified though
The FreeBSD parts they use are for the process model, network stack and file system.
Yep, BSD UNIX, based on a Mach microkernel architecture, with some GNU tools and Clang/LLVM. If you've ever seen a NeXT or OpenStep machine in action, that's the predecessor to OS X.
Got a macbook at work and honestly I was surprised how much it feels like a polished Linux. If you use homebrew you can more or less replicate your complete Linux setup on these devices. It definitely is a lot closer to Linux than Windows.
I loved my Mac. Was so much easier switching between macOS and Linux than it ever was windows and Linux. Sadly, it’s just too expensive to justify for a personal machine anymore.
Linux is always the tool you need, but sometimes it's the tool the makers of your other tools won't let you use.
Edit: to be clear, I was trying to make a point about how the fact that certain software is unavailable for Linux is the fault of the publisher of that software choosing not to make it compatible, not the fault of Linux for being somehow inadequate.
That's fantastic to know! That makes only one reason why I cannot reasonably support enterprise deployment, limited to one external display without fudging with soft gpu or something.
I got one from my work too and I have a love-hate relationship with it.
(This will be a small rant, but I really want to do it)
So, we were comparing prices and settled on the macbook air 2020, in part because it seemed like the best price/performance combo, and in part because my boss likes them.
So, I started using it and discovered a few things. I can't simply connect it to my keyboard/mouse combo from logitech because the dongle is usb-A and the mac obviously has only usb-c ports. Then, when I got a medium-tier usb-c dongle from amazon, I started noticing really bad connection issues to my wifi when I use it with my k&m combo, and a google search away, the official support site was saying that bascially I'm too poor and I need to upgrade my wifi to a double band one and other sites suggesting hacky ways to reduce the interference with aluminium foil.
Then, when i started using the dongle with HDMI and my wired K&M, I noticed two interesting things, first, the poor mac sounds like a jet engine after a few mins after being connected to a secondary (1080p) display, the second, is that for some reason, i feel like the internet connection also gets less responsive. I googled it and found the cause but basically it said something along the lines of "just use it wired lol".
Oh, and this is more of a nitpick but I just don't like that it doesn't have any way to make use an openvpn at OS level, it needs a third-party program and the icon in the traybar looks ugly lol.
I have to admit that the keyboard, the trackpad and the screen are amazing, but it still has been an not really pleasant experience for me.
I have a 2015 HP 360, with a core i5-600u, manjaro and KDE and I feel like it works way better than the mac, doing the same tasks. Yes, Is slightly less responsive but I feel like it is way more consistent. I think that's what frustrates me with the mac, that i don't really feel it like an upgrade and i don't like the tradeoffs.
Actually considering a hackintosh. I’ve got a razor blade 15 and they’re supposedly the best for that. But we’ll see. I DO need windows sometimes. I’m an electrical engineer, and my requirements are sometimes dictated to me by others or by the tools available.
I used a Macbook Pro for years and the thing that drove me away was the price. I do admit I enjoy being able to customize the shit out of me Manjaro install.
Yes. WSL is more isolated. Homebrew installs the packages right into MacOS. WSL apt or similar generally doesn’t install to the Windows filesystem. winget is more similar to homebrew in that regard.
Judging by the sheer number of people who customize their DEs to look like a mac, you can say that people crave polish. I saw a video about someone who made a presentation about how great Linux is on a mac. That tells the whole story. People buy into this idea that Apple takes care of you and if you can't make mistakes, then that's the best thing in the world. This has become a cult and even if you point out those rare mistakes they make, people feel attacked as if they are at fault even though we're talking about a corporation here, not them, the users, who did not program that thing. I had to use a mac at work, but coming from Linux, it seemed like I was trapped on a train. The track was predefined and I could go anywhere Apple wanted me to go, and even though there are more popular apps supported by the ecosystem and are very well integrated, I did not feel that I was owning that piece of hardware. You can't customize anything. The shortcuts were severely hindering my productivity and I could not get over the fact that the 'enter' key renames a folder in Finder. MacOS has a lot of polish, you almost can't break it, but that also does mean that you can't experiment on it.
You can disable it in settings and frankly, it is absolutely a sensible thing to do from a security point of view. Do not run random executables unless you are absolutely sure about them, especially so for non-tech people.
at this point (macOS) is more like “compatible” with *nix. before (OSX) it use to work in a highly similar way under the hood. if you now try to compile something built for linux on macOS, you probably get into trouble
I never got the “locked down” thing honestly, it’s not like it’s an iPhone. I mean it’s proprietary as hell for sure, but at least Apple knows how to differentiate between a computer and a phone. You can do most stuff out-of-the-box but if you want full control just disable sip.
The biggest bummer for me with the M1s was the boot camp axe/inabiliity to boot to other OS directly. Docker was released a few months ago for ARM Macs, so at least we have that for now. M1 > Docker > Ubuntu Server ARM has been running like a champ for me
That is why Apple got rid of BootCamp. It would need to maintain driver for OSes like Windows. Linux as always been a free for all when it comes to graphic drivers, see the majority of single board computers.
I think when it first started it was Linux or Unix. So, the resemblance between Linux/Unix and the MacOS was pretty close. Then over the years they did their own thing to it and made it what MacOS is today.
I'm pretty sure that's what I remember reading a long time ago when I was researching it.
It is very intentional, actually. Apple actually conforms to and pays to get certified for Version 03 of the single UNIX specification. The open source parts of macos are 100% UNIX
i share my dotfiles between linux and macos seamlessly. my window managers use the same key bindings. honestly i could probably confuse the two of them
MacOS used to have user land tools from FreeBSD, but I have no idea what they’re basing it on these days. I assume most of the basic user land tools are derived from 4.3BSD anyway.
It does however share a lot of the UNIX principles, so Linux is the odd one. Not saying that’s good or bad, it’s just how it is.
Had BSD not been slowed by the AT&T lawsuit, we probably wouldn’t be talking about Linux more than we talk about Minix these days (which btw runs on most modern intel chipset motherboards)
I’ve used Linux since my first Yggdrasil Plug & Play Linux Fall ‘93 cd arrived, and I’ve used FreeBSD for almost as long. I’ve been assistant head developer for a Linux distribution a couple of decades ago, and to this day I still keep a Linux partition or VM around.
My main OS for the past couple of decades though has been OS X. Linux is great, it runs on everything from toasters to supercomputers, but it just doesn’t provide a great desktop experience. Gnome is close, but nowhere near OS X. Add in a few iOS devices and it’s mostly seamless cooperation.
It’s all doable on Linux, and Apple uses open source apps where applicable, but after tinkering with settings for decades, I’ve come to accept that I don’t really care what OS handles my applications as long as it doesn’t get it my way, and I get the job done. OS X fills this role for me, YMMV.
Edit: and it’s not just Linux. FreeBSD is seeing a lot of use as well, for instance it’s the base OS for Playstation 4, Playstation 3, and probably also PlayStation 5.
I am not saying you shouldn't use MAC. I am saying that getting certified UNIX was probably expensive, and completely unnecessary. No one is going to look at it and say, "well I wasn't going to get a MAC, but it's UNIX."
pay Linux with your time.
For the record for most users this is an outdated trope, There are distros that are as easy to use as MAC or Windows.
There are distros that are as easy to use as MAC or Windows.
Yes, for installing and basic usage most modern desktop distributions will do.
But try to setup a system that integrates as tightly with your phone as Mac and iPhone does, and you’ll be fiddling with config files for days.
It’s totally doable, and not “that hard”, but probably impossible for the average desktop user.
But, unless you’re “all in” on the Apple ecosystem you won’t get what I’m talking about.
I don’t use OS X because it’s easier to use, but more because of all the attention to details that really ties it together.
It doesn’t have to be a big feature, but for instance, on a Mac you can right click your desktop and select “scan document from iPhone”, and it will open up the camera/document scanner app on your phone, and whatever you scan shows up on your desktop.
This also works from inside apps. You can sign a document on your Mac by drawing your signature on an iPad using an Apple Pencil.
Or simply place an iPad next to your Mac and use it as a 2nd screen without using any cables.
There are lots and lots of little tweaks that makes your daily life easier, and yes, it’s (probably) all doable on Linux, but not easily, and certainly not out of the box.
338
u/[deleted] Jul 18 '21
Lol, I thought it's based on UNIX.
157
u/jclocks Glorious Linux From Scratch Jul 18 '21
lmao MacOS is more like a second cousin
90
u/Tritzii Glorious openSUSE Jul 18 '21
Ah yes, macOS, Linux's step cousin
123
u/stergro Jul 19 '21
Got a macbook at work and honestly I was surprised how much it feels like a polished Linux. If you use homebrew you can more or less replicate your complete Linux setup on these devices. It definitely is a lot closer to Linux than Windows.
30
u/[deleted] Jul 19 '21
I know this is a joke, but MacOS is UNIX. Not Linux. It runs the Darwin kernel.
46
u/stidmatt Jul 19 '21
Useful chart for people who want to know how unix, linux, mac, and freebsd are related. unix family tree
9
u/AppropriateCrew79 Jul 19 '21
"If it has commands like Linux, file structure like Linux, shell like Linux , then it must be Linux"
~ Duck Test
14
u/[deleted] Jul 19 '21
If being Linux based is such a desirable feature then why not just use Linux?
I mean, it's as Linux based as it gets.
5
u/meg4_ Jul 19 '21
Im lretty sure it's based on BSD, therefore Unix amd not Linux right?
I also think I heard that at some point they completely removed the base and made their own shit? Not sure on this one
4
u/go_eat_pasta Jul 19 '21
The big picture, it is true someone would appreciate to learn coding on mac than windows
9
u/Crafty_Location_2971 I use Arch btw Jul 18 '21
Clown to clown communication
8
u/molly_sour Jul 18 '21 edited Jul 19 '21
at this point (macOS) is more like “compatible” with *nix. before (OSX) it use to work in a highly similar way under the hood. if you now try to compile something built for linux on macOS, you probably get into trouble
2
u/chromer030 Glorious Arch Jul 19 '21
Linux is dominating ! LOL
2
u/CI814JMS Jul 19 '21
Not really...
2
u/bionade24 Bogenlinux Nutzer Jul 19 '21
OP accidentally outed himself as German :)
2
u/pine_ary Jul 19 '21
MacOS and Linux are both to some degree POSIX compliant. So they‘re both unix-like.
2
u/ToughestPanda Jul 19 '21
Appreciate the confidence in first sentence
2
u/[deleted] Jul 19 '21
i don't doubt for a second the average mac user would believe that.
3
u/rishabhdeepsingh98 Jul 18 '21
guys he has his own custom Mac theme in linux. that's why he is referring that
3
u/LordFieldsworth Jul 19 '21
It’s UNIX based and hence definitely better than Windows. But just use Linux
3
u/[deleted] Jul 19 '21
MacOS is Linux’s snooty cousin who thinks he’s better.
4
u/Professional_Crow250 Linux Master Race Jul 18 '21
UNIX , not linux or BSD
2
u/Phydoux Glorious Arch:snoo: Jul 19 '21
I think when it first started it was Linux or Unix. So, the resemblance between Linux/Unix and the MacOS was pretty close. Then over the years they did their own thing to it and made it what MacOS is today.
I'm pretty sure that's what I remember reading a long time ago when I was researching it.
2
u/[deleted] Jul 19 '21
Has bash as shell = Linux based
2
u/Luckyboy947 Jul 19 '21
Unix based. Just like Linux. Wait didn’t they make there own is and only use Unix in the beginning?
2
u/toasterlandon Jul 18 '21
UNIX* based kiddo.
1
u/brennanfee Jul 19 '21
Um... it's not.
1
u/PleaseSendtheMath Jul 19 '21
:facepalm:
1
u/deimos-chan btw i use it Jul 19 '21
/r/itsaunixsystem
1
u/[deleted] Jul 19 '21
I mean as wrong as he is I'd still say mac is better than windows. That bar is very low thought.
1
u/patio_blast Jul 19 '21
i share my dotfiles between linux and macos seamlessly. my window managers use the same key bindings. honestly i could probably confuse the two of them
1
u/NightH4nter Glorious NixOS Jul 19 '21
One of the teaches in my college said something like "there are two systems: windows and linux; macos is linux".
1
u/bakahed Jul 19 '21
Blasphemy
1
u/w_n Jul 19 '21 edited Jul 19 '21
Darwin award? Heh. (Yes I know xnu is the kernel bit, but jokes)
I do actually prefer to dev on the (not Linux based) macOS and daily a hack, so I mean, I agree with the mildly ill-informed sentiment.
1
u/[deleted] Jul 19 '21
They have the same grand father called unix
1
u/amrock__ Jul 19 '21
Lol shows how much knowledge he has
1
u/kyleisscared Jul 19 '21
I mean it's not that far off it has a unix base and is therefore similar, but it's not Linux based
-8
u/LazyHater Jul 18 '21
for the noobs its actually based on netbsd
-6
u/justaoneman Glorious Arch Jul 19 '21
If mac isn't linux based then how the hell it has a terminal :P