Due to GPL, they release the sources to the BSD code they use. Everything else is proprietary.
Likewise Sony used BSD for PlayStation OS. They publish the sources to the changes to BSD they made, the rest is proprietary.
GPL where applicable. If it's MIT or just "as is" then no, they won't but they definitely publish the sources to what they are required to. Since FreeBSD is "as is" 4.4BSD licensed, they aren't required to publish the sources of Orbis.
BSD has a BSD license. It doesn't require source code releases.
Perhaps the person you are responding to is dense enough to know that Apple uses a BSD licensed userland: https://github.com/apple-oss-distributions/file_cmds
Or perhaps they know that the entire system is built with Clang and LLVM and not GCC.
Apple distributes very little GPL code (like bash) and even then it is only GPL2 (older versions).
Improving FreeBSD will make it easier to run BSD on non-apple hardware which will eat into their bottom line.
The number of people who will buy a Mac to run BSD is a rounding error, and those people won't buy iCloud subscriptions anyway.
The number of people who want to run FreeBSD on their laptops probably numbers in the hundreds. Not exactly a threat to Apple's bottom line.
On the other hand, some of those people are FreeBSD developers who create and maintain code that Apple would like to have the option of using. That relationship is worth something to Apple.
It wasn't that long ago that we used to have to endure HN commenters spamming the same copypasta every time BSD was mentioned: "did you know BSD runs your playstation and netflix and <...>. You should donate money!"
Evidently it's not worth more than the cost of assigning engineers to this, otherwise Apple would already be doing it.
> otherwise Apple would already be doing it.
The gap between what Apple ought to be doing, even if for no other reason than its own good, and what Apple actually does is sometimes pretty wide.
Aside from that the answer is "Corporate Goodwill." That actually is a bottom line number that gets reported.
Because they sell and advertise MacOS. Not "compatible with a wide range of OSes" (like say raspberry pis).
People buying a laptop due to goodwill and openness does happen (I bought my framework 13 due to that), but that's not a game Apple has played since Woz left - and for the worse, I think.
I have seen others say that CUPS is.
And there is libdispatch, mdns, etc.
Anyway, they contribute more than you think.
The OS-X (now branded as "macOS") kernel was not, and is not, a derivative of the FreeBSD kernel, or any other BSD, even though macOS/OS-X has a FreeBSD kernel component due to its Mach heritage. The userland tools are however BSD. OS-X's kernel is XNU and from the XNU GitHub repo[0]:
XNU kernel is part of the Darwin operating system for use
in macOS and iOS operating systems. XNU is an acronym for X
is Not Unix. XNU is a hybrid kernel combining the Mach
kernel developed at Carnegie Mellon University with
components from FreeBSD and a C++ API for writing drivers
called IOKit. XNU runs on x86_64 and ARM64 for both single
processor and multi-processor configurations.
I recommend the book "Mac OS X Internals"[1] for a detailed analysis of same.EDIT:
In theory, XNU could simultaneously run the existing FreeBSD subsystem alongside Linux and/or MS-Windows ones. In practice, this would be a herculean effort fraught with difficulty.
See QNX[2] for another example of a micro-kernel OS architecture.
0 - https://github.com/apple-oss-distributions/xnu
1 - https://books.apple.com/us/book/mac-os-x-internals/id4343583...
Exactly.
> Exactly.
Darwin != XNU
userland tools != Darwin
Also, Mach[0] was created by CMU 40 years ago and is not "based on technology previously used in Apple’s ..." no matter what Apple claims.Since you quoted from the provided archive, so shall I.
The fundamental services and primitives of the OS X kernel
are based on Mach 3.0. Apple has modified and extended Mach
to better meet OS X functional and performance goals.[1]
Apple named the above "XNU". Since Mach[0] is a micro-kernel architecture, which FreeBSD is not and never has been, there must exist: The BSD portion of the OS X kernel is derived primarily
from FreeBSD[2] ...
What I originally stated was: The OS-X (now branded as "macOS") kernel was not, and is
not, a derivative of the FreeBSD kernel, or any other BSD,
even though macOS/OS-X has a FreeBSD kernel component due
to its Mach heritage.
In response to your assertion of: MacOS was absolutely derived from BSD through NeXTSTEP.
Note my identification of the FreeBSD kernel component being a component, not the kernel itself.0 - https://en.wikipedia.org/wiki/Mach_(kernel)
1 - https://developer.apple.com/library/archive/documentation/Da...
2 - https://developer.apple.com/library/archive/documentation/Da...
Nothing you said contradicts my point and in fact, corroborates it. So I’m not sure what your point is.
Yes, Darwin is a mix of Mach, xnu, and BSD code. No where did I say macOS is the FreeBSD kernel. No where do I mention kernel. So while you argument for why I’m wrong is lengthy, it still says it was derived from BSD. Which is exactly what I said. There are parts of FreeBSD in macOS kernel. There are parts of XNU and Mach. There are parts OpenBSD and NetBSD. Majority of the base OS (including userland) is BSD.
But hey, Darwin is open source so if someone wants to do go on a provenance archeological dig, it could be done!
Apple has no interest in assisting a competing operating system.
ie anything Apple didn't create/release themselves
OS-X/macOS runs an entirely different kernel called XNU[0][1], which is why userland tools can be imported whereas FreeBSD kernel and device driver code cannot.