Skip to main content

Why FreeBSD #99

Why FreeBSD? Let's find out!

99: FreeBSD is muscle-memory friendly

If you learned FreeBSD 10 years ago, chances are what you learned back then will mostly apply today.

Unless other factors demand otherwise, we can safely assume that we are looking at the middle of FreeBSD's life — it has been around for about 20 years and it should be available for at least another 20 years, likely longer.

FreeBSD does not get the same amount of excitement as other operating systems, and once you use FreeBSD along with other systems for deploying to production for a few months or years it becomes apparent why. The same reason only a fraction of car drivers take keen interest in how the internal combustion engines or electrical drive trains work - things that are known to work without surprises tend to feel predictable and boring.

Since I see my future self writing code for another 10 or 20 years, even if I eventually write and maintain code only for myself, I can expect FreeBSD to be available and usable.

What matters to me:

  • Many users and developers of FreeBSD deal with much, much larger scales than I expect to handle, which means the system can generally handle whatever task I can imagine.
  • FreeBSD will not need a new filesystem any time soon, deep ZFS integration is only getting better.
  • FreeBSD has battle-tested container support built into the core.
  • Running virtual machines needs only a convenience wrapper for cli.
  • Much of automation is shell scripts; which is great because sh is not about to change and render everything obsolete third time in 8 months.
  • FreeBSD takes its role seriously; perhaps amusing to some, but definitely soothing to those who have to keep systems running.
  • Documentation and man pages are relevant, up-to-date and keep history accessible for older tools.
  • Upgrades over multiple major versions actually work!
  • Commandline interface is predictable; base-system commands, options and dependencies do not change often.
  • Predictable locations for configuration and logs, even for ports.

These are my observations and inferences. I could of course be completely wrong, however, chances that FreeBSD of the future will not live up to these observations seem small. It has a good track record and community members that refuse to let regressions slip in. FreeBSD embraces responsibility towards legacy in software, the edge cases handled once do not bite again later.

What that translates to for you and I as application developers wanting a platform to build and deliver our ideas and code:

  • FreeBSD is a durable, up-to-date, secure, open platform.
  • You can commit to the platform, focus on building apps.
  • Better platform management skills because FreeBSD respects your time spent learning over years.
  • ???
  • Profit?!

Aside, it is in my best interest to participate in growing FreeBSD in whatever capacity I can, and to introduce more like-minded developers to a welcoming $HOME. It helps tip the balance of probability in favour the outcome I wish.