• 3 min read

NextBSD revives its Darwin-on-FreeBSD experiment

NextBSD is back with a new codebase, aiming to combine FreeBSD’s kernel with Apple Darwin components and the Gershwin desktop.

Image: The Register

NextBSD, one of the more distinctive BSD experiments of the 2010s, is being revived under new management. The project now has a new homepage and GitHub repository; the original repository remains online, but its latest changes are seven years old.

The revival is led by Joe Maloney, known on GitHub as pkgdemon. Maloney previously created the Gershwin desktop for GhostBSD. After The Register covered Gershwin, he asked the original NextBSD maintainers whether he could take over the project. His role in the first version was relatively minor, and his earlier contributions remain visible in the project history.

NextBSD’s Darwin-based plan

The original NextBSD was launched in 2015 by FreeBSD co-founder Jordan Hubbard. Its goal was to bring selected components of Apple’s open-source Darwin operating system to FreeBSD.

Recommended reading

Linux 0.11 Gets a 47,000-Line Rust Rewrite

Darwin provides the Unix foundation for macOS and Apple’s other operating systems. Its publicly available code includes the XNU kernel, which uses Mach for inter-process communication, along with launchd, IOKit, Apple’s system logging components, and other foundational tools.

NextBSD’s basic idea is to retain the FreeBSD kernel while replacing parts of FreeBSD’s traditional, server-oriented userland with relevant Darwin components. Apple’s operating systems share a common foundation derived from NeXTSTEP, itself built on Mach and BSD Unix.

Porting Darwin to conventional PC hardware has proved difficult. OpenDarwin, founded in 2002, ended in 2006. PureDarwin released versions in 2015 and 2019 and was still maintained as recently as 2024. Other projects included GNU Darwin and DarwinBSD.

A new codebase and a growing BSD ecosystem

The rebooted project, called NextBSD-redux, is not a fork of the decade-old NextBSD code. FreeBSD and Darwin have both changed substantially, so Maloney has started a new implementation while retaining the original project’s overall direction.

The new repository’s README documents the components currently working, with further detail in its porting notes. There is no graphical desktop yet, but work is underway to bring Gershwin to NextBSD. The project’s status is tracked in a separate gershwin-on-nextbsd repository.

NextBSD also draws on code shared across related projects. It uses libraries from ravynOS, including libxpc, which originated with the original NextBSD developers. The project’s broader approach is to combine mature pieces from multiple free and open-source systems rather than build every component from scratch.

That strategy connects NextBSD with several earlier macOS-like efforts. helloSystem 0.8, covered by The Register in 2023 after an earlier report in 2021, was created by Simon “ProbonoPD” Peter, who also created the AppImage packaging format. It was based on FuryBSD, a graphical FreeBSD distribution that shut down in 2020, after which Peter moved to Gershwin development.

Peter had previously worked on LIVEstep, a Linux-based GNUstep live distribution, and was part of the PureDarwin core team. ravynOS began with links to helloSystem but pursued a more ambitious design, including limited macOS binary compatibility through the Darling project. Its current architecture is based on Darwin 19.6, corresponding to macOS 10.15 “Catalina.”

Maloney announced the reboot publicly in May, first mentioning it in a Reddit comment before expanding on the project in a thread titled “NextBSD – the BSD of the 21st century.” The oldest commits in the public nextbsd-redux repository are currently only two months old, but Maloney says the work had already gone through two earlier iterations in his personal GitHub account before moving into an organization. The project is now split across repositories for the kernel, modules, converted kexts, and Darwin-derived tooling, with native cross-building and automated tests used throughout development.

The result remains an experiment: a potential laptop operating system that pairs FreeBSD’s kernel with selected parts of Apple’s userland. Its next major test will be turning that collection of components into a coherent, usable system.

Tomas Berg

Computing Editor

Tomas lives in the terminal. He covers chips, laptops, and operating systems with a focus on performance and efficiency. He reads kernel changelogs the way other people read fiction, and he's always on the hunt for the perfect mechanical keyboard switch. If it processes data, Tomas has an opinion on it.

via The Register

/ Keep reading