+++ title = "Why you should run a BSD on a PC" author = ["MichaƂ Sapka"] date = 2024-04-27T22:29:00+02:00 categories = ["bsd"] draft = false weight = 2002 primary_menu = "bsd" abstract = "Reasons why BSD may be the best OS for you" menu_item_override = "Why you should run BSD on a PC" menu_item_override_start_li = true [menu] [menu.bsd] weight = 2002 identifier = "why-you-should-run-a-bsd-on-a-pc" post = " or perhaps " +++ There's multitude of Operating Systems to choose from. You use something like Windows or MacOS and be perfectly happy with it. You can step up and use Linux, Haiku or even Amiga OS. So, why do I think a BSD system may be the best choice? ## FOSS {#foss} The most popular systems out there are propietery. This has the small downside of having to pay, but there's another one. Closed systems have tendency to limit the user. It's visible much more with MacOS than in Windows, but the user is always blocked from doing what the user wants to do. Are you following the product manager's ideal path? Is web browser everything you need to run? If so - getting something from Sillicon Valey may enough. But a lot of us are hungry for more; we want to be in control instead of being controlled. Only be having the system be, not only Open Source, but also Free, our desires may be fullfilled. FreeBSD gives the user a huge power to adjust itself to the needs and wims. ## License {#license} One of the reasons is the legal term under which all BSDs are provided - the BSD license. It differs strongly from what GNU and others propose. While also being "freedom respecting", it does not limit anyone. Want to create a closed source fork of FreeBSD and stop giving anything back after few short years? Don't want to have your hands tied by GPL? Are you Apple? Because that's how MacOS X started. BSD licenses are amongst the most liberal one. The most popular, "[3-Clause BSD License](https://opensource.org/license/bsd-3-clause)" limits only the liability of the code provider. Some say that BSD License are a problem as companies may take and never give up (like Sony did for PS4), but it's as close to the idea of "Free software" as it gets. ## No BigTech {#no-bigtech} As a result of this, there is very little interference from Big Tech. While Linux is happily in bed with the likes of Microsoft or Google or who are able to steer the development, BSDs are still very much a niche product. Just look at list of sponsrs of [Linux Foundation!](https://www.linuxfoundation.org/about/members) In BSD-land we've got some big players, with Netflix being the most promiment one. But the cooperation is very much on partner terms. ## A designed OS {#a-designed-os} But the biggest differential factor between BSDs and GNU/Linux is the way it is structured. In Linux, all components are designed to work together but are completely separate. You've got the kernel, init systems, multimedia daemons, userland, bootloader, virtualization and contenerization mechanisms, or package managers. They are all separate project with their own goals operated by separate entities. This is why we've got different Linux Distrubitions instead of Operating System. Everyone can take the kernel, start adding components above it and a few minutes lated the distrowatch is even harder to keep up with. Each BSD on the other hand is designed as single environment. Each component is created and developed together. While this makes the landscape a bit boring, it also makes it extremely coharent. Things work together perfectly, because they are designed, coded, tested and released as one. ## Build-in technology {#build-in-technology} To give just two examples here: 1. OpenBSD comes with complete web stack built in. We've got a firewall (best in class), reverse proxy and http server. We've even got a TLS certificate manager. And the security of each of those is as high as rest of the OS. All things work together in perfect harmony, it is designed as such. 2. FreeBSD comes with ZFS. One thing this file system provides are efficent and bullet-proof snapshots. The developers of FreeBSD used it to create the idea of boot environments - a snapshots of OS. The user can easily boot from any of those in any moment. Even the standard update process creates a new boot env, just in case something goes wrong. Such integration would be very hard to achieve without up-front design. And the list goes on: Jails, Beehive, Vnet, Dtrace, Ports system, OpenSSHm Libre SSl. The crazy folks over at OpenBSD are even working on their own version control system called Game of Trees. This has the added benefit of having it all in a single place. One needs to follow only a few repositories to be up to date and informed. Mind you, those are _gigantic_ repositories, but if you are smart enough[^fn:1] - it's there. ## Stability {#stability} being there ## Dedicated uses-cases {#dedicated-uses-cases} ## Documentation {#documentation} ## Community and culture {#community-and-culture} ## History {#history} ## POSIX and widening perspective {#posix-and-widening-perspective} ccc ## OSes, not distributions {#oses-not-distributions} [^fn:1]: I am not; just barely licking C for now.