The typical discussions about BSD vs Linux
Published on 2017-10-15.
In this article we're going to take a little look at the typical discussions about the differences between popular operating systems such as BSD and Linux.
If you're into operating systems it's highly likely that you have come across people asking questions like, "Should I use FreeBSD rather than Ubuntu?" or "Should I use Arch Linux rather than Debian?". It is also highly likely that you have seen people who get exited when someone migrates from one operating system to another.
Such questions and such behavior makes no sense. Let me illustrate this in a way that will make you understand why right away.
"Should I use a tractor rather than a car?" or "Should I use a train rather than an airplane?"
Each transportation device has been developed in order to solve a specific problem. The same goes for operating systems.
Hence the reason why someone would ask whether he should use operating system X rather than operating system Y is because the person haven't understood his specific needs and/or the differences between the operating systems in question. Also most people never really deal with the operating system, but rather deal with package managers and/or applications.
Nobody can tell you what you should use, it all depends on your specific situation and requirements. When you have a specific problem you need to look into what system best deals with that problem, and when you have several options to choose from you might need to look into the details of the difference between each system. In some situations you're dealing with "tractors" vs "cars", but in other situations you're dealing with "car brand" vs "car brand" and as you know some brands and models are very similar.
All the Open Source operating system projects are great and they each focus on different things. Being happy when someone migrates from some Linux distribution to a BSD flavor or vice versa makes no sense. Being happy when someone migrates from a proprietary system like Microsoft Windows or Apple's OS-X makes sense, because these systems not only compromises freedoms, but they also contain questionable content.
Almost all the different Open Source projects can help each other and cooperate in kindness and end-users should only debate these issues from a technical stand point rather than personal preference. Of course there is no harm in simple small talk and sharing of personal preference, but this is hardly what's going on.
When people says things like: "We had been running Linux on our boxes and they eventually halted and came down to a crush. We then decided to put FreeBSD on them and they performed twice as well and are still running strong!" Then such statements says absolutely nothing about the specific operating system they had been using. Rather it reveals that these people most likely had no clue about what they were doing in the first place.
When you understand your specific needs you look for the best tool to solve the problem, and in some cases this requires testing and a trial-and-error approach.
In some situations you're dealing with a very generic problem, like the need to read email, browse the Internet, and write a letter from time to time. Such a situation compare to a very generic transportation problem in which you simply need to transport a small box a relatively short distance. Almost any means of transportation can solve your problem and it almost doesn't matter what kind you use. Well, only almost because using a big truck or an airplane makes no sense in this case. Just as it wouldn't make sense to use an operating system for generic purposes that has no binary packages, but needs to have everything compiled from source from the ground up. And then again, maybe you really like the small amounts of speed you gain by not having things you don't need compiled into your applications? Maybe you rather drive a Porsche or a Ferrari rather than walk even if you only need to go a couple of meters to reach your destination? Who knows, right?
When you're dealing with most generic situations it mostly comes down to a matter of personal taste and preference rather than technical requirements. Almost any operating system can handle your requirements well with a few exceptions (mostly hardware related restrictions). But when you need to be able to fiddle with compile time options because you need a tailor made solution, then you're not dealing with a generic problem, but a very specific one.
Questions you need to ask yourself are questions like:
- What hardware are you using?
- What do you need from your kernel?
- What kind of drivers do you need?
- How do you like your third party software to be installed?
- Do you need to be able to change compile time options?
- How much control of the system do you need or like to have?
- How secure do you need your system to be?
- Do you prefer GUI applications or console based applications?
- Is this a box for some serious stuff or is this a box for fun?
Some operating systems has been designed with meticulous care to detail, like OpenBSD, while other systems are almost thrown together "organically" with no planing, and this greatly effects both security, performance, and control.
Just as an example, for many years FreeBSD was the favorite operating system of choice in the communication industry because of its very carefully designed networking stack, while Linux was frowned upon because its networking stack was a mess. This of course effected all Linux distributions as they are all running with the same kernel. The situation has since changed, but knowing something about how the underlying code has been designed also helps to understand what system best suits your specific need.
When none of these things matter at all then you're free to choose almost anything.