When the operating system gets in the way

Posted on 2014-09-18
In the world of Linux (also called GNU/Linux) there currently exist over 600 distributions, approximately 300 of those are in active development, constantly being revised and improved, and while most of them look great, only a few of them are actually worth paying attention to IMHO.

Like in a toolbox different tools are best suited for different tasks, even so it goes with computer operating systems.

Some people know nothing but Microsoft Windows, others have heard about, or even tried, a Linux based operating system, and again others are using Mac-OS or a BSD (Unix) operating system.

There doesn't exist one operating system best suited for every task, but it takes experience to know this.

No experienced network administrator would ever run a Microsoft Windows based server operating system on a critical system unless forced to do so by ignorant management.

And no single person with the slightest knowledge of security would ever run a Microsoft Windows operating system on his or hers desktop or laptop computer, but most people know nothing about computer security.

So what is a really good operating system? And what should you look for in a good operating system?

A Microsoft Windows desktop installation usually runs for about six month to a year, no matter what version of Windows we're talking about, before the user get completely halted on his or hers computer because of viruses and/or some kind of system corruption. This is the time when a re-install almost becomes obligatory.

Before that happens the user generally has a good experience, unless visited by the still existent "blue screen of death" during a hardware upgrade.

The user can watch streaming video and everything works because almost everything is designed specifically for Microsoft Windows. The same goes for the hardware, it mostly work, because the hardware vendors have made deals with Microsoft to support Windows with specific drivers (software that controls hardware). So the user can actually use his wireless keyboard, mouse, router, printer, and what not, without problems.

But, as mentioned, the user is halted after about six month to a year of usage and this is when the computer begins to work slow, reboot, freeze, and generally become useless because of virus infections or some other form of corruption. So the user installs a popular, or several popular, anti-virus software products which only makes the computer even slower.

Sometimes it takes a bit longer than six month or a year, but I know from experience that most Windows users can recognize this scenario.

A good Linux installation, depending on which distribution is used, runs without sufering any kind of problems like those described for Windows. And it continues to run until either the hardware breaks down or the users physically breaks his installation and/or computer.

But some Linux distributions are better than others. Some distributions like Ubuntu are "unstable". They are the distributions that give first time users a really bad Linux experience. These distributions don't care much about system stability, they only care about release and fame (and some about fortune), and as a result they are released with many bugs unfixed. This is mainly experienced by some programs not working correctly or not working at all.

Other distributions, like Slackware or Gentoo, are specifically designed for a specific kind of user, as a result they are mostly useless to others. Who really want to compile every piece of software manually? A Gentoo user does, but most people don't, they rather get some real work done.

Other distributions are focused on stability and portability, like Debian GNU/Linux, my favorite Linux distribution for about 20 years, but as a result of such stability, only get released with outdated software which in some cases makes the user lack features greatly wanted.

Again other distributions, like Linux Mint, manages pretty well to balance usability and features with stability, but as a result may contain less desired closed-source drivers and binary blobs.

Then we have the real Unix operating systems. While Linux is a Unix "like" operating system, the BSD variants like FreeBSD, OpenBSD, NetBSD and DragonflyBSD are real Unix.

OpenBSDs main focus is on brutal security and as a result not a single line of code and not a single setup is left to coincidences, everything is designed from the ground up with focus on security.

Some people believe that this makes OpenBSD only usable as a server operating system, but nothing could be further from the truth. With the right hardware you can in as little as 5 minutes setup a fully functional, beautiful and fantastic desktop.

From the OpenBSD website, about the difference between OpenBSD and other Unix like systems http://www.openbsd.org/faq/faq9.html#Introduction, you can read the following:

If you learned Unix from any of the good books on general Unix, understanding the 'Unix philosophy' and then extended your knowledge to a particular platform, you will find OpenBSD to be a very 'true' and familiar Unix. If you learned Unix using a 'type this to do that' process or a book such as 'Learn PinkBeenie v8.3 in 31.4 Hours', and told yourself you 'know Unix', you will most likely find OpenBSD very different.

The main problem however is the hardware part. Because most hardware vendors only provide drivers for Microsoft Windows, the people behind OpenBSD have to write their own drivers, mostly done by reverse engineering the hardware, and because some hardware vendors are specifically hostile towards open source systems, some hardware doesn't work at all on OpenBSD.

Nvidia graphic cards are one such example. As can be read on the OpenBSD website [http://www.openbsd.org/amd64.html]:

X Window System support is available for most graphics cards, using the X.Org server. As with other free operating systems it is highly recommended that Nvidia cards are avoided since this vendor continues to show tremendous resistance towards releasing information that would allow X.Org to support their hardware properly.

You cannot run Adobe Flash on OpenBSD and because most people are simply used to have flash installed, on their what ever other operating system they use, they believe it is a flaw, a fault, and a problem not having flash. Some online television programs wont work, some streaming services wont work, even some complete websites still wont work, but is this a bad thing?

If you really want to watch some video streamed only by flash and you can't figure out a way to get the video without spending 5 hours trying, then it will certainly "feel" bad, and it will be really annoying. But this isn't because of OpenBSD, this is because of the utterly crap website you're visiting!

On the OpenBSD website you can read the following:

The Flash plug-in is distributed by Adobe in binary form only. Adobe does not provide a native OpenBSD plug-in. Considering their security record, we thank them for this neglect.

And today there exist much better ways to stream video than using Adobe Flash. As for using it to make a complete website, without providing an alternative, well stupidity doesn't seem to have a limit on the Internet.

As for FreeBSD then it doesn't focus brutally on security as it's done on OpenBSD, but security isn't completely overlooked either. FreeBSD is a very secure operating system in itself.

The design of FreeBSD is different from OpenBSD. OpenBSD is a complete system, intended to be kept in sync. It is not a "Kernel plus utilities" that can be upgraded separately from each other. Failure to keep the system (kernel, user utilities, and applications) in sync will result in bad things happening.

On FreeBSD this is opposite. On FreeBSD the base system is separated from the rest of the system and as a result you can manually delete the entire system, except from the base system, and then reinstall it again if you want, which I personally find fantastic. This makes eveything stay cleanly separated.

This also means that keeping the base system upgraded is separate from keeping third party applications upgraded.

Both FreeBSD and OpenBSD has packages (third party software) ready to be installed using either a package manager or the ports system, but FreeBSD has a lot more packages ready than OpenBSD. This is because the FreeBSD project is bigger and better supported than OpenBSD.

However, FreeBSD suffers some of the same problems as OpenBSD regarding hardware support. They too reverse engineer drivers from hardware and as a result some hardware doesn't work or is very limited in support.

Several of the different Linux distributions receive funding from big corporations like HP, Lenovo, and others, and as a result they have hired people for development of things they want, this isn't the case on the BSD projects, which really is a good thing!

While every project needs funding, it isn't good when such funding mainly comes from big corporations because big corporations doesn't fund a project unless they expect something very specific in return.

The BSD projects mainly receive funding from the users. Some corporations does donate as well, but without influencing any control over how the project is run and what is being developed.

As a result of limited hardware support a person might experience a file transfer rate of say 100MB/s using a specific Intel network card, but only experience a file transfer rate at about 10MB/s using a RealTek network card.

Is this a problem?

Yes, it is a big problem when I am transferring some very big files and it takes forever to complete the transfer on a gigabit network.

It is also a problem if I have just purchased a new mono laser printer in order to be able to print some of my documents, only to find that no driver exists for this particular stupid printer and the vendor only supports Microsoft Windows!

So, on the one hand, I really don't want to recommend running Microsoft Windows on a computer, not only because of the possibility of virus infections and poor security of this operating system, but also because everything in Microsoft Windows is closed source, I cannot validate what is being installed on my computer - and as past experience has taught us, we cannot trust closed source software at all since it contains build-in spyware, back doors, and all kinds of "secret stuff" designed to compromise our privacy.

But on the other hand people need to their hardware to work too.

What about MacOS?

MacOS was originally made from BSD Unix, but what they have done with it is like someone taking a car completely apart, removing all the safety items such as the airbag, the ABS break system, the hydraulics of the break system, even the seatbelts and some important nuts and bolts, then they have put it back together again but with a different interior and a different chassis. The new interior and chassis looks fantastic and everything "seems" to work perfect. Then they multiplied the price by a factor of ten and told everybody that they REALLY REALLY NEED this.. but - and I'll just leave it at that.

So what should you do?

Don't get too caught up in principles. Use whatever makes you the most productive at what you're doing, but keep the important stuff like security and privacy in mind.