"How could we build a better operating system?"
Published: 2020-04-23 04:27:11

A question got asked on Twitter today. By TheLinuxGamer, one of my favorite YouTube/LBRY channels.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/hnfwfnzdybhl51wbo4oc.png)

I want to showcase two answers. My answer, and an answer I saw. I also saw a couple *"stop building new ones"* but as many might know I disagree with this philosophy, and I will get into that later.

# My Answer
My answer is just *"What is better?"*. How do we make "better" software? What makes it better?? The fact is what we call better is not always for everyone. I think a minimal FreeBSD build with options for Lumina and Cinnamon, with Firefox and a terminal emulator is all we need for a fantastic operating system. No extra crap like office, or even file management software. Have getting extra software like GIMP or Krita as optional. Have a bare-bones system using Fish as the shell.

People would disagree. I also might see people say something like *"X is already the best"*, so let's take four examples. FreeBSD, Ubuntu, MX Linux, Arch. There is more than these but none of these are *"perfect"* or for that matter the best there is. I love FreeBSD but many will disagree about it being the best. I love Ubuntu but we all know not everyone likes it, like Chris Titus Tech who even went so far to call Ubuntu "the Devil". ![alt](https://i.kym-cdn.com/photos/images/facebook/001/011/884/dce.jpg)

I know many who say Arch or MX Linux is the perfect operating system. Arch is a process to install and get running, not better for me. Yes, there is Archfi but it isn't a better solution. Anarchy Linux isn't either. With MX Linux, well if you have been reading all my articles you would know how I feel about MX Linux.

Better has no "base point". No place to start to understand, nowhere to start the work. Unix isn't better supported (with the BSD's). I sometimes feel Linux is a little bigger than it needs to be on most distributions. I dislike Minix, Serenity OS needs work and remixing it isn't too easy, Lilith being based on Crystal seems to be more of an experiment, ReactOS is... ReactOS. Haiku, while promising is not for everyone. What IS the better OS? 

*"Let's just pick our favorite software"*, but that is impossible. I prefer Java over C#, Powershell over most other shells (other than Fish), stable over not, RPM over DPKG, Ubuntu over OpenSUSE, FreeBSD over Linux, PHP over NodeJS, GTK over Qt in development, LBRY over YouTube, Google over all others, Firefox over Chrome, Opera over Vivaldi (even with the terrible data collection Opera does), Telegram over Discord. The point is we can't collectively agree on anything, not something you can change by the way. Human nature is to fight, disagree, be opinionated. Our different tastes and likings on food, shelter, heating, cooling, hydration, and all other things we need for survival is what sets us apart from animals.

So it is impossible to make something "better".

# The answer I saw
While not my 100% agreeing point, this was why I was pushed to make this article. An answer so amazing, yet so disagreeable. One that I love but is not yet perfect.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rowsq87scz1cx6ia68j9.png)

Now, this has two main parts, why I like it, and why I don't. It's an idea that makes perfect sense for many operating systems, but others will have to fill the gap. Let me explain.

## Why I like it
Innovation is key and is the one real major thing that drives me. I like making the future be sooner. It is the thing that drives many types of software. RISC is the future, ARM is the future. We need to handle these new technologies because what we have now isn't as good as this. We need the new now. x86 is an imperfect architecture, and amd64 is just a clone of it. I mean Ubuntu ditched 32-bit architectures like i386.

Innovation makes sense, and paying attention to the past doesn't make too much sense... unless...

## Why I hate it
The issue is simple, supporting new as it is here and ignoring the old hurts everyone long-term. While yes the answer is amazing, it is halfway there. You need to support the old for as long as it makes sense. RISC is here and available, ARM is part of the future, but many people use x86, amd64, even i386, and i486. Corporations in technology still need old stuff to work as losing them for what is new makes absolutely no sense. 

For example, many companies still use COBOL and we make fun of them, but their options are limited. Let's say a company wants to ditch COBOL for something like JavaScript or Python. Well, that alone creates many expensive problems. They need to hire people who not only know the languages, but also know how to build a stable system that will just run as long as humanly possible. They need to understand how the existing computers already work, or the company needs to put the HUGE expense into buying new ones. Then they need to build the system from source, something not easy for larger systems that COBOL programmers get paid top dollar to maintain. After they finally build it, they need to maintain it, and with modern languages... well easier said than done. Even if they have hundreds of programmers, well when will JavaScript die out? Or when will Python die out? We think they will stay forever, but the same was said about COBOL, Fortran, and even in non-programming specific, Unix. They will die off to something newer, but many will still need to maintain on the old as moving to new has more cons than even the best pros can defeat.

# "stop building new ones"
This philosophy is broken. I mean I already wrote *two whole sections* making the points that would kill this argument in an instant. We need ones to support the old in different ways, and ones to support the future in many more different ways. We all have different opinions on what is better, what is good, what is bad. Some say encryption is good, some say it is bad. Some say the Deep Web is good, others say it's bad. We are different and to say "let's limit what people can use" is terrible, stupid. This is the entire reason I always hated Chris Titus's opinion on "distribution doesn't matter" because many won't go far out of the box, yet still hate what they use. 

I commonly say "saying 'distribution doesn't matter' is like saying 'we don't need Linux, only use Windows'" as that is the very philosophy behind Linux. We need to understand that many won't like this... or that... or doing this and that. Many won't want to customize their system, many don't want to experiment.

If you believe we should stop making new distributions or that distribution doesn't matter, then move back to Windows 10. We don't want closed-minded people in our circles of Linux, where the goal is to be different and make solutions we like.