⏱️ Lectura: 11 min
In September 2005, a network administrator from the United Kingdom wrote to the netbsd-advocacy mailing list to share something simple: NetBSD stability allowed him to migrate 29 production servers from Windows and nearly eliminate the middle-of-the-night calls caused by system crashes.
📑 En este artículo
The author, Gary Rolland, was part of a team of four administrators who maintained a critical network for a British company he couldn’t name. His email, informal and free of corporate filtering, ended up becoming one of the most cited anecdotes in the NetBSD community about why a sysadmin switches operating systems mid-operation.
TL;DR
- In 2005, a UK network admin migrated 29 production servers from Windows to NetBSD 2.0.2.
- The NetBSD infrastructure served more than 4,800 users and moved an average of 870 GB of data per day.
- The servers ran MySQL, Apache, Postfix, and Samba on NetBSD, with Linux file servers behind them.
- The team processed about 1,200 emails a day and up to 35 HTTP requests per minute during peak hours.
- After the switch, the overnight outages that triggered on-call calls dropped drastically.
- The story was published as a firsthand account on the [email protected] mailing list on September 10, 2005.
- Today, NetBSD 11.0 keeps the same focus on portability and pkgsrc that attracted that team more than two decades ago.
What happened: Gary Rolland’s email
Rolland worked on a team of four network administrators operating on rotating shifts, including overnight on-call duty. The network was, in his words, mission critical: any outage cost the company money. The team didn’t manage the client machines in the buildings, only the server infrastructure.
Before NetBSD, that infrastructure ran on Windows on older hardware than what they had by the time the email was written. According to the text itself, published on the netbsd-advocacy mailing list on September 10, 2005, crashes were so frequent that Rolland lived glued to his phone, even during family outings.
The breaking point came one night when he had promised to take his daughter and one of her friends to an amusement park. The on-call phone rang halfway through the outing: the servers had been brought to their knees, in his boss’s words. Rolland had to abandon the outing to fix the incident, something that had already happened several times before.
That night, as he tells it, he decided something had to change. He convinced his boss to let him try NetBSD on two servers: one running MySQL and one running Apache, without giving details about which operating system he’d use. The condition was simple: if anything went wrong, it was on him.
Rolland spent the night installing and configuring those two servers, using pkgsrc packages so he wouldn’t have to compile everything from scratch. The next morning he brought them into the production network and waited: it only took that same day, when several Windows MySQL machines crashed and rebooted on their own due to slow queries, for his boss to authorize expanding the trial to more servers.
The full migration wasn’t immediate. The other three administrators on the team didn’t know NetBSD, so Rolland taught them to compile kernels and use pkgsrc whenever the free time the new stability gave them allowed it. He even says he printed out the entire NetBSD manual for the team. Over time, the whole network ended up running on NetBSD.
NetBSD stability by the numbers
The email details with unusual precision the load the infrastructure carried. According to Rolland, NetBSD stability was put to the test with 29 high-end servers running NetBSD 2.0.2, which moved an average of 870 GB of data per day and processed about 1,200 emails daily through Postfix, both internal and external.
During peak hours, the Apache servers (used for internal and external traffic) handled up to 35 HTTP requests per minute, serving an internal PHP site that Rolland himself jokingly describes as pretty heavy and pretty bad. Samba connected the company’s 4,800 users to the file servers, which ran Linux by a decision outside Rolland’s team: he wasn’t allowed to touch them.
MySQL, according to the email, accounted for most of the traffic and resource consumption across the whole infrastructure. The combination of MySQL, Apache, Postfix, and Samba on NetBSD is, essentially, a LAMP stack with NetBSD instead of Linux, something rarely documented with that level of operational detail for the time.
Context and history: where NetBSD comes from
NetBSD was born in 1993 as one of the first derivatives of 386BSD, alongside FreeBSD, when a group of developers decided to maintain and debug the Berkeley code on their own. From the start, the project organized itself around a goal different from its cousins: running on as many hardware architectures as possible, from the VAX to the Raspberry Pi.
That same year, a legal dispute between USL and BSDi temporarily halted the distribution of BSD code, which sped up the need to rewrite parts of the system and cemented NetBSD, FreeBSD, and later, in 1995, OpenBSD as separate projects with different focuses: NetBSD on portability, FreeBSD on x86 performance, and OpenBSD on security by default.
That portability goal was summed up in the project’s informal motto, of course it runs NetBSD, a recurring joke in the community about installing the system on unexpected devices. For a sysadmin team like Rolland’s, that portability wasn’t a curiosity: it meant the same operating system could run, without surprises, on both high-end servers and more modest hardware.
In 1997, pkgsrc appeared, NetBSD’s package management system, with a feature that still sets it apart today: it also works on Linux, macOS, Solaris, and other Unix systems, not just NetBSD. Rolland’s email mentions that he installed most of the required software from pkgsrc, which by the mid-2000s was already an advantage over compiling everything by hand.
Architecture of the 29 servers
The architecture described in the email clearly separates the infrastructure’s layers. Users connected to the NetBSD servers running Samba, which in turn talked to NFS file servers running Linux, outside Rolland’s team’s direct control. In parallel, another group of NetBSD servers handled MySQL, Apache, and Postfix.
flowchart TD
U["4,800 users"] --> S["NetBSD Servers (Samba)"]
S --> F["File Servers (Linux)"]
U --> A["NetBSD Servers (Apache + PHP)"]
U --> M["NetBSD Servers (Postfix)"]
A --> D[("MySQL")]
subgraph NetBSD Infrastructure
S
A
M
D
end
This separation explains why the email points out, almost with pride, that the file servers crash more than ours: the part running NetBSD 2.0.2 turned out to be more stable than the Linux layer the team didn’t manage.
📌 Note: Rolland himself admits in his email that the company’s internal site was written in pretty heavy and pretty bad PHP, an uncommon bit of self-criticism for this kind of technical account.
How to try NetBSD today (Windows, macOS, and Linux)
Two decades after that email, NetBSD is still active, now at version 11.0. Trying it out today doesn’t require replacing production servers: a virtual machine on any desktop operating system is enough.
| Option | When to use it | Advantage | Limitation |
|---|---|---|---|
| QEMU/KVM (Linux) | You have Linux as the host and want native acceleration | Near bare-metal performance with -enable-kvm | Requires virtualization enabled in the kernel |
| UTM/QEMU (macOS) | Mac with Apple Silicon or Intel | Simple graphical interface over QEMU | Apple Silicon runs NetBSD only emulated, not native Apple arm64 |
| VirtualBox | Windows, macOS, or Linux, no preference for CLI | Cross-platform with a GUI to configure everything | Slower than native KVM on Linux |
| Bare metal | Dedicated server or old laptop, like Rolland did | Real performance, no virtualization layer | Requires hardware compatible with NetBSD drivers |
On Linux, with QEMU and KVM installed:
sudo apt install qemu-system-x86 -y
qemu-img create -f qcow2 netbsd.qcow2 20G
qemu-system-x86_64 -m 2048 -smp 2 -hda netbsd.qcow2 \
-cdrom NetBSD-11.0-amd64.iso -boot d -enable-kvm
This creates a 20 GB virtual disk and boots the NetBSD 11.0 installer with 2 GB of RAM and 2 cores, using the host’s KVM acceleration.
On macOS, with QEMU installed via Homebrew:
brew install qemu
qemu-img create -f qcow2 netbsd.qcow2 20G
qemu-system-x86_64 -m 2048 -smp 2 -hda netbsd.qcow2 \
-cdrom NetBSD-11.0-amd64.iso -boot d -accel hvf
The -accel hvf flag uses macOS’s Hypervisor Framework instead of KVM, which is exclusive to Linux.
On Windows, with VirtualBox installed, from PowerShell:
VBoxManage createvm --name "NetBSD-Lab" --ostype "NetBSD_64" --register
VBoxManage modifyvm "NetBSD-Lab" --memory 2048 --cpus 2
VBoxManage createhd --filename NetBSD-Lab.vdi --size 20480
VBoxManage storagectl "NetBSD-Lab" --name "IDE" --add ide
VBoxManage storageattach "NetBSD-Lab" --storagectl "IDE" \
--port 1 --device 0 --type dvddrive --medium NetBSD-11.0-amd64.iso
Once installed, in any of the three cases, you can confirm the system’s version and status with two commands inside the virtual machine:
$ uname -a
NetBSD netbsd-lab 11.0 NetBSD 11.0 (GENERIC) amd64
$ pkg_info | head -5
uname -a confirms the exact kernel version, and pkg_info lists the packages installed via pkgsrc, the same system Rolland used in 2005 to set up MySQL, Apache, Postfix, and Samba.
To install that same stack today, with pkgsrc already bootstrapped:
pkgin install apache24 postfix mysql-server samba
Impact and why this story matters in 2026
Rolland’s story has circulated for more than twenty years in BSD forums and mailing lists as an example of a recurring pattern: teams that migrate critical services to NetBSD or OpenBSD not because it’s trendy, but because they need predictability. NetBSD stability, in that specific case, translated into fewer after-hours incidents and less burnout for an on-call team.
That kind of account also explains why NetBSD still maintains an uncommonly transparent culture today: the project’s security team publishes known flaws even in its major releases instead of hiding them until the next patch. It’s a practice that reinforces the same idea of operational reliability described in the 2005 email.
⚠️ Heads up: NetBSD prioritizes portability and clean code over broad support for modern hardware. For servers with recent GPUs or laptops with very new hardware, driver support tends to lag behind Linux, so it’s worth checking the supported hardware list before migrating production workloads.
That’s the real trade-off: the same discipline that gave Rolland 29 stable servers is what keeps NetBSD from being the default choice for the latest desktop hardware. Choosing NetBSD today is still a deliberate decision, not an automatic replacement for Linux.
For a technical reader in 2026, the lesson isn’t to use NetBSD instead of Linux, but something simpler: measure before you migrate. Rolland didn’t switch the operating system for the entire network all at once; he first tested two servers, waited for an actual failure from the competition, and only then scaled the migration based on concrete data, not a hunch.
What’s next
NetBSD continues its development with regular releases, the most recent being the 11.0 series, and still relies on pkgsrc as its main software distribution mechanism, now also used outside NetBSD itself. The philosophy described in the 2005 email (portability, simplicity, and predictability) remains the project’s central argument more than three decades after its founding.
For infrastructure teams in Latin America evaluating alternatives to Linux for specific workloads (firewalls, network appliances, dedicated mail servers), stories like Rolland’s remain a useful starting point: not as a benchmark, but as a reminder that the stability an operations team perceives matters just as much as any performance metric.
📖 Summary on Telegram: View summary
Try it yourself: install NetBSD 11.0 on a virtual machine with QEMU or VirtualBox today, and run uname -a to confirm the version before deciding whether to migrate anything real.
Frequently Asked Questions
What is NetBSD?
It’s an open-source Unix operating system, derived from BSD, with a historical focus on portability across different hardware architectures.
Is NetBSD 2.0.2 still the recommended version?
No. NetBSD 2.0.2 dates from 2005; the active series today is NetBSD 11.0, with security improvements, drivers, and architecture support the original version from the email didn’t have.
Does pkgsrc only work on NetBSD?
No. pkgsrc also runs on Linux, macOS, Solaris, and other Unix systems, although it was born as NetBSD’s native package manager.
Can NetBSD replace a Linux server in production?
It depends on the workload and the hardware. For services like MySQL, Apache, Postfix, or Samba, as in Rolland’s case, it’s a viable option; for very new hardware or workloads that depend on Linux-specific drivers, it’s worth evaluating carefully.
Where can you read Gary Rolland’s original email?
It’s publicly archived on the netbsd-advocacy mailing list, dated September 10, 2005.
References
- Mail-index NetBSD Advocacy: Gary Rolland’s original email from September 10, 2005.
- NetBSD.org: the project’s official site and downloads for current versions.
- pkgsrc.org: documentation for NetBSD’s cross-platform package system.
- Wikipedia: NetBSD: history and timeline of the project since 1993.
📱 Enjoying this content? Follow @programacion on Telegram for daily tech content in Spanish: quick summaries, fresh content every day.
Imagen destacada: Foto de Taylor Vick en Unsplash
0 Comments