Saturday, October 27, 2018

Style of server installation steps: OpenBSD versus CentOS

The current version of OpenBSD is 6.4. The current version of CentOS is 7 (1804).

I am talking about setting servers. There are many types of servers, for example, file servers, application servers and database servers. Both OpenBSD and CentOS can serve as one of these types of servers.



The first impression lets you know what the developers may think.

First of all, OpenBSD shows some text. CentOS 7 shows a graphical user interface (GUI). It is more manageable to answer questions in text because it gives a clear idea what I am doing when doing things which should not go wrong. A graphical user interface, on the other hand, confuses me since I need to understand the what the buttons do. I also need to understand if I click a button by mistake, how am I going to revert? A graphical user interface is not for everyone.

From an administrative point of view, things must be clear. If you ask me, "What is the best practice for administering a server?" I would say, "Follow instructions step by step." Graphics often create ambiguities. When you see the minus sign and the plus sign in disk partitioning, what do you expect? How do I use the button? Press minus first? Select the disk partition first? Why is the plus sign located on the left hand side or on the right hand side? It is matter of personal taste, perhaps.

The CentOS disk partitioning graphics force me to rethink. Here is a disk already partitioned. The installation screen shows a greater than sign with hidden information. I must click on the greater than sign to see the disk partitions. (Why?) Graphics are not that intuitive. Graphics can be confusing at times when you are in a hurry and need to figure out what buttons to press.

I think we need to learn a lesson on Android phones. Several years ago, Android developers changed the positions of "Yes" and "No". The original positions had been a left "Yes" and a right "No". Afterwards, the positions became a right "Yes" and a left "No". According to a YouTube video, Android developers believed that users read to the end of the line and it would be convenient for users to click the button near the end of the line. Users need to change the habit. Are CentOS developers implementing the same logic or should they?

Users of servers are practical users. They need to get things done as fast as possible. Changing the graphical user interface forces these users to learn again. Icons cause ambiguities. Users need to guess the answer. Users can guess right or wrong depending on their cultural and educational history.

We also need to learn a lesson in Microsoft Office 2007. (Eleven years ago? Am I correct?) The Office Button located at the top left corner of the application was a design flaw (or a design disaster). People did not know what the function of the button was. Graphics were eye-catching and made people (I was one of them) feel stupid again because they did not know what to do after looking at the graphics.

Some OpenBSD developers name the call for features "featuritis". "Featuritis" is a term people use to describe an "ongoing expansion of an excessive number of features in a product". Certainly, CentOS is meant for people who look for more and more features. (I admit that some people are not satisfied most of the time.) Now, the installation screen will make you think, "What does this button do?" Sometimes, you think, "How do the graphics organize? Intuitive? What does 'intuitive' mean for you, for him and for her?"

Using text only is an advancement in server administration. Why? Minimalist. If you prefer OpenBSD like I do, one of the reasons may be minimalist. Since OpenBSD developers often say that they audit the code in the base system, the number of lines in the computer code ought not to be so large. It is nearly impossible to review the code if the number of lines is very large. This is a principle of "less is more" when you benefit from the quality of the code (not necessarily quantity).

It is better for developers not to incorporate graphics in installation steps. OpenBSD does not invite more love from everyone. (OpenBSD avoids a shiny user interface in installation.) OpenBSD invites more people who care very much about the minimalist usage. OpenBSD is so different from CentOS in its minimalist approach.

OpenBSD installation asks the correct questions which can help to make it work in a minimalist way and make it secure. The default answer of "No" in using root to log in by SSH is sensible. With some settings (doas), after using a non-super-user account to log in, you can change your role to become root. Developers of CentOS may have a different rationale. CentOS does not focus on security and does not ask me if I want to use root to log in via SSH.

On OpenBSD, you can also answer "No" when asked to install X Windows. (X Windows helps you to use the graphical desktop.) You save some space by installing less and by installing less, you hit less ordinary bugs and hit less security bugs. When you select the packages to install, you can deselect games and x-related packages for the same reason. (by -ga* -x*) CentOS does not ask me if I want to install X Windows or other desktop features. I am forced to navigate and find where I can deselect or select the packages I want.

It is more possible to maintain security with less code. Minimalism removes the unnecessary confusion. I am a happy user of OpenBSD because I do not need to guess. The questions OpenBSD asks me to answer during installation are clear or concise.

CentOS with its ongoing expansion of features displays a graphical user interface and a graphical user interface makes me learn again how to do similar things or the same things (disk partitioning and networking, for example). My time is wasted.

No comments: