Exclusive: The MacOSX Roots

A lot has been said about the roots of Mac OS X and there is quite some confusion about its exact Unix geneology. We asked Jordan Hubbard, engineering manager of the
BSD Technologies Group at Apple and one of the most important figures throughout the FreeBSD history, about the older releases of OSX, the current one and the future ones, and this is what he replied to us: “The earliest releases were based on FreeBSD 3.2 and NetBSD, though I’m not as clear on what version of NetBSD was used. For 10.2, we did a massive re-sync with FreeBSD 4.4 and 4.5 and regard FreeBSD as the primary reference code base going forward.Update: Read for some more clarifications from Jordan. Update 2: More updates from Jordan! Read on.“The fact that we’re based on FreeBSD does *not* mean that Mac OS X has any plans to sync up with FreeBSD 5.0 or that the SMP or multi-threading work there will necessarily have any bearing on Mac OS X. Mac OS X has its own Mach-based threading and SMP mechanism already and this mechanism is orthogonal to what FreeBSD is doing. Where the greatest amount of sync-up will be occurring is likely to be outside the kernel.”

“[…]It’s also amusing to see the semi-coherent reply
that I didn’t do any engineering for FreeBSD when I wrote the installer, the package tools and the ports collection. 🙂 In any case, Mac OS X’s primary interest in FreeBSD will always be in the -stable branch and when 5.x goes -stable, I’m sure we’ll look into any opportunities for merging in work on UFS2 or some of the advanced networking features. I just wanted to correct your first assertion that we’d be primarily interested in the SMP and multi-threading features of 5.0. Also, the folks who refer to Mach as “old technology” clearly aren’t familiar with the fact that Apple has done a lot of work
on Mach since its inception, not least of which were the improvements originally done to make mkLinux a reality.”


  1. 2002-07-18 7:58 pm
  2. 2002-07-18 8:02 pm
  3. 2002-07-18 8:12 pm
  4. 2002-07-18 8:22 pm
  5. 2002-07-18 8:24 pm
  6. 2002-07-18 8:26 pm
  7. 2002-07-18 8:28 pm
  8. 2002-07-18 9:09 pm
  9. 2002-07-18 10:12 pm
  10. 2002-07-18 10:21 pm
  11. 2002-07-18 11:14 pm
  12. 2002-07-18 11:19 pm
  13. 2002-07-19 12:34 am
  14. 2002-07-19 2:15 am
  15. 2002-07-19 8:52 am
  16. 2002-07-19 11:05 am
  17. 2002-07-22 3:31 pm