The typical discussions about BSD vs Linux

Posted 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 makes no sense and such behavior also 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 most 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.

Mentioning your specific needs and asking someone with experience for advice is very different from throwing up generic questions like the ones mentioned above.

This is why such questions and such behavior doesn't make sense, because nobody can tell you what you should use, it all depends on your specific situation and requirements.

When you have a specific problem you should 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 minute details of 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 at all. 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 your freedom, but they also contain questionable content.

Almost all the different Open Source projects can help each other and cooperate in a kindness, and end-users should only debate these issues from a technical stand point rather than a personal preference stand point.

Of course there is no harm in simple small talk and some sharing of personal preference, but this not the issue.

I have seen 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 xBSD on them they performed twice as well and are still running strong!"

Such a statement says absolutely nothing about the specific operating system they had been using. Rather it reveals that these people 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 even 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. Who knows, right?

When you're dealing with most generic situations it mostly comes down to a matter of personal taste rather than technical requirements. Almost any system can handle your requirements well with a few exceptions. But when you need to be able to fiddle with compile time options because you need tailor made solutions, then you're not dealing with a generic problem, but a very specific one.

  • What hardware are you running?
  • 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?

These are the kind of questions you need to be asking yourself.

Some systems has been designed with meticulous care to detail from the ground up while other systems are almost thrown together randomly 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 (and it still is) 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 (or has it?), but knowing something about how the underlying code has been designed also helps in understanding what system best suit your specific needs.

And when none of these things matter at all then you're free to choose almost anything.

DistroWatch has currently a list of more than 300 different Open Source systems to choose from :)

If you have any comments or corrections feel free to email them to me.