Linus Tech Tips PROVES WHY POTABI HAS A MARKET
I remember someone telling me "You are foolish to attempt to redefine and redesign all of Unix and Linux." A few said "Linux is easy enough already, why change the fundamental core of what makes Linux, Linux?" And I still get comments "You don't give Linux enough credit in the ease of use and simplicity of the systems we all make."
Potabi Systems has always aimed to be a show stopper. A system to give true freedom, and push stability. Change the core of every little detail, and tweak it to make a properly easy operating system. I am no stranger to r/LinuxSucks on Reddit. The current ideology of Potabi was born to move past the lies of Linux, and be honest where we have pitfalls, and make an operating system that truly works to be a newbie friendly operating system - even if it might take many releases to get there.
I shall not step down from my marijuana appaloosa (high horse, get it?).
Okay, so what the honest to the gods' hell am I talking about? Well Linus Tech Tips has a video called "Linux HATES Me - Daily Driver Challenge Pt. 1" in where Linus hits a problem that essentially nukes his system. There are two main camps in response: Harass Pop!_OS, or harass Linus. We are in the minority middle ground in where we believe NEITHER are at fault.
I feel the one wrong - but still reasonable and understandable - response from Linus was to blame Pop!_OS for everything that went wrong as many other failures had to also happen that System76 (the developers behind Pop!_OS) had little to no control over, and to fix was much more difficult. Steam's package had to be improperly installed, which was most possibly on the blame of Valve - however, I do not know for sure. Debian is at fault for the creation of APT - which fails in a million regards in making to installing packages. Ubuntu for not implementing better newbie-friendly safeguards. All of Linux for saying these failures are non-issues to a new user, and further assuming things about new users that are simply not true.
The year of the Linux desktop was 2011. As in, when Linux died. In a DistroTube video titled "Linux Desktop Kinda Stinks. How Did We Get Here?" which came out on November 10, 2021 - shortly after the LTT Linux Daily Driver Challenge fiasco, DistroTube talked about the failure of KDE 4 and GNOME 3/4X - with KDE 5 pulling its head out of its ass, and is a good desktop even though I dislike using it still. GNOME on the otherhand isn't improving and continues to be the dominant desktop environment for operating systems like Linux Mint (via Cinnamon - yes it counts), Solus (via Budgie pre-EFL), Pop!_OS (via Cosmic pre-Rust rewrite), Fedora, Ubuntu (with it's bastardization of Unity and GNOME 3), and many many more.
Why is GNOME bad? Well, essentially, think of it like a game of Clue. Tux was killed by Mr. GNOME on the desktop with insanity. Okay that didn't work as well as I hoped but still. GNOME is a terrible desktop environment, and it acts like a brat when things aren't going its way. RedHat/IBM are sugar daddy's that don't force the GNOME to behave as they need to, and all of Linux is suffering from that.
Have you ever heard this joke before? "GNOME is a nice, stable desktop environment!" May be a little less funny if you actually believe that, but surely no one who cares about the Potabi Systems project, the Potabi Foundation, and an upcoming sister-company because we are such fans of GNOME and how they act. Imagine a desktop environment making itself more difficult to use to "make it easier to use." It's foolish. Not only that, GNOME extensions break with every single point release, and maintainers have to fix their software for each and every release - and Canonical thought maintaining Chromium was hard.
One more thing before we talk about why all of this proves our market. "Linux Sucks 2021" by Bryan Lunduke. It's depressing, but true. Linux has been becoming more and more difficult to maintain. Compare FreeBSD, on GithHub the entire repository is ~14 million lines of code. This includes userland, several CLI applications, daemons, etc. All of that being within 14 million lines of code is rather impressive. Linux, on the other hand, is only the kernel, running at 20 million lines of code, and dumping a whole Jurassic Park's worth every couple of years on top of that.
Not to mention the companies and foundations which essentially control the brand image of Linux. Canonical, SUSE, Red Hat, IBM, The GNOME Foundation, The Linux Foundation, and a few other names that have a small but significant impact. Let's talk about why all of these foundations and companies are either harmful or at best neither good or bad.
Canonical - Basically selling Linux to Microsoft to survive. Not really a bad thing in itself, but the company seems more focused on money than making solid technology. Created a terrible package management system that slows down the whole of Ubuntu. Ubuntu Server is just Ubuntu desktop with "sudo apt remove gnome-*", at least last I used it.
SUSE - Gets sold to a new bank every third Thursday (Joke thanks to Bryan Lunduke). The company is rarely independent. Has good marketing material, but terrible marketing skills.
IBM/Red Hat - Since IBM bought Red Hat, Red Hat has lost its soul. RHEL releases once every decade and a half - not really but it feels like it sometimes. It does not require buying a license to use. It requires buying a license to use. Yes, both of those are correct statements. Creators of Systemd, which is a terrible, awful, no good, very bad system daemon manager. RPM is trash, same with competitors DPKG/APT. Basically owns GNOME, but still let's GNOME act like babies.
The GNOME Foundation - Ran by brats. I know I keep beating a dead horse but seriously. They don't like it when others modify their desktop. They whine when people say things are broken. They fucked up so bad there are many forks of GNOME 2 and 3, possibly even 4X. Literally ditched their already functional versioning scheme. GNOME 4X - need I say more? GNOME 3.x and 4X have unintuitive design.
The Linux Foundation - Doesn't use Linux for desktop, which hurts the Linux desktop. More focused on other projects that have little to nothing to do with Linux - like OpenJS for example. Often rather useless at supporting Linux outside of corporate partnerships and some management - which 20 million lines of code for a 30-year-old kernel is not good management.
Okay, so there might be concern for the future of Linux, big whoop. What does Potabi plan to even do about it? The following will be highly opinionated and might go against how you feel about certain companies or distributions. This is from why we have our market, and why we are making Potabi.
Potabi has 9 essential systems to be better than Linux:
- Keep it simple, stupid, and Don't overload users with information.
- Be honest, admit flaws.
- If the solution for new users is RTFM, there is no solution.
- Be independent. We can be a fork, but not a "derivative" or "distro".
- Don't focus on the shell. Make things graphical.
- Be open, be permissive.
- Don't blame everything on the user.
- Speed is key.
- Dress for the modern times.
Let's run down each and every system, talk about what we hope to do - as a very small project we have very big ambitions that are difficult to work with - to help us properly run all 10 systems.
1. "Keep it simple, stupid" is a philosophy. We want Potabi to follow the "KISS principle" in where we avoid any unnecessary complexity. That is why we reworked the file structure for the Potabi Build System. Even though Potabi's Build System is modeled after FuryBSD - adding GhostBSD things for fixes ONLY - it is important to us that the maintainability of the OS is simple. That is why we are working on a 6 chapter build manual. That is why we have the file structure. That is why we have CONF files to host our configurations for all variables. Every single file name, every single variable name, and the majority of the script itself is designed as it is.
Keeping things simple also includes in how our software will function. Package will remove all of the often useless output unless users WANT that output. This will include dependencies count, names of dependencies, and basically everything one doesn't need if they are only looking to install some software in the terminal. I want to demonstrate my issue with the terminal and the solution, because I know people are going to complain.
I ran "sudo apt install xfce4" on my Pop!_OS home workstation (later told it to abort because I didn't want it bloating my system as I am happy with my Ayras desktop).
In this screenshot, what can you name as the errors I am most concerned about? Well in the output alone - ignoring the actual installation and command - there are a few things. Non-technical users who will first see this might get anxious reading this, and if they don't ignore it they will get confused. This isn't "user friendly" by any stretch of the imagination.
Keeping things simple does NOT mean removing functionality though. While easier to read, and more user friendly to people who don't know what a "xiccd" is, there is a limit to how simple we can go. Let's say the package manager displayed this for a new package installation.
This is TERRIBLE. Is it simple? Yes. Is it possibly functional? Sure. Is it good? No. First, new users don't know how a command line works, and we can't immediately assume they understand what "verbose" means. So, when they see only this, it's honestly too little information. So where is the sweet spot? Well, I want to talk about how I want to solve the issue of package manager outputs. This next example will use how I intend packages on Potabi to be installed - note this isn't a finalized design, just a concept of how I intend to do it.
Remember this is just a concept, and it still needs to be refined. But, the general idea still stands. If the user wants to view the extra details, they can. If they don't, or they don't understand what those details mean, they can ignore it. And here is the thing, the goal here is to keep the CLI simple, without information overload for new users. Here is just a tad bit of icing on the cake. Experienced users who will essentially know all of the dependencies to XFCE4 by heart - I am sure someone is like that - and they just need to install it on a new Potabi system has a benefit here too. Slight, but solid. If they want to read their favorite list of dependencies, they always have that option. Of course the more beneficial thing would be to actually know everything you are installing, but I mean where is the fun in saying that?
However, Potabi focuses on KISS in another way. DON'T OVERLOAD THE NEW USER WITH OPTIONS!! While originally I was considering supporting "flavors of Potabi", we simply will not - well, we will still support and include them, but they will be hidden away in an area experienced users will be looking for. New users don't know - or often care - about the difference between a spice, some tea, and a bunch of letters and a number have with each other. Cinnamon, MATE, and XFCE4 function, have pros and cons, and even act differently from one another. Sure, but at the same time, 99.9% of newbies will not know or care about these differences as long as the OS runs smoothly, the OS looks nice, and things generally work. Admittedly, this can be difficult to do - especially for us... like look at what we are expected to be launching with.
While it's not the worst, but it's does have its flaws in design - especially in the design of the menu bar and a couple of icons. However, honesty and admitting to flaws is a positive thing for distributions, and that transitions us perfectly to system #2.
2. Every operating system has its flaws. Admitting to them and being honest is important. This part will be short, because the system is simple. Make these blog posts, talk about the issues our OS has, be honest, and work on fixing them. Potabi is 90% just me, so it is going to take me a lot longer to fix these flaws, and do the things I want to, but it's still the goal.
3. "If the solution for new users is RTFM, there is no solution." This quote is famously attributed to Gandhi - for legal reasons, that was a joke. Okay, are there some errors that can't be fixed outside of having users look at a manual? Yes. However, a goal of an OS developer should be to make the OS functional enough to not require a manual for most common tasks. What defines a manual? A technical document explaining the technical details of a technical thing. While everyone might need to run "tldr", "man", or "--help" every so-often, the problem is when the manual is the "solution" to an error.
Let's give a fictional example. Let's say that a user of ShitOS has an error with its repositories, what should the user do to change the repos? If your answer is "tell them to read the manual" then you can go fuck yourself.
What we aim to do is have solutions - both CLI and terminal - to manage essentially what the user needs to manage, and make it user-friendly enough to where they wouldn't even need to open up Google. How well we will do this is up in the air for now, as a lot of different things still need to happen, and mistakes will be made.
4. A question asked of me was "Why is Potabi NOT a BSD? Isn't it based on FreeBSD?" And the answer is no, we are not based on FreeBSD. We are a derivative of CoreNGS - of which we fully manage, and the goal of CoreNGS is to have us more able to support Potabi - which itself is a fork of FreeBSD. However, Potabi can be a derivative of CoreNGS because we also run CoreNGS. The reason we want to avoid being a "derivative" or "distro" of FreeBSD is that we are essentially tied to the success or failure of FreeBSD. My concerns of being tied to another company or foundation I don't have control over actually originates from my Ubuntu Lumina Remix development days. When I was making ULR, I got anxious of how Canonical was forcing Snaps, and essentially I abandoned ULR to focus on AB/AR (ArisBlu, ArisRed), and later ArisbluBSD, and now Potabi Systems. The reason ArisbluBSD was abandoned was because of harassment from the Linux community, where I almost quit OS development permanently.
Since we own and run the planned proper upstream (CoreNGS), being a derivative of that doesn't feel terrifying, as if it all goes to shit, we can only blame ourselves. We plan on making our own package manager, and once that happens we would have fully become independent from FreeBSD - even though we still fully intend to support, work with, and be friends with the FreeBSD project, foundation, and community.
5. Ah, the command line shell. While Linux has graphical ways of doing most everything in the OS, the focus on the shell still exists in some areas. We aim for Potabi to run 100% graphically, with very specific tasks (or specific commands) to be graphical. But, what you may not know is many of Linux's graphical tools are just shell commands with graphical overlays. One main goal of Potabi is to make API's functional enough to do most of the work.
Did you know you don't need a shell to do these things? Yep. Since the shell is simply an application, designed to run applications, our goal is to circumvent the need for a shell interface. Now, Potabi will still include a terminal emulator, but we want to do everything in our power to make it so that you can "admin package remove terminal" and still have the system just as functional, just graphical.
Wait? Isn't the terminal easier? No. Newbies don't want a command line interface. It's a learning curve that they don't want to climb, and that's just fine. The removal of the need for a CLI in Potabi, even going as far as to have custom-built API's to make GUI tools independent from a shell, is really what will set Potabi apart from other *nix systems.
6. This is a simple concept. Fuck GPL. Fuck copyleft licensing. Permissive licensing is the way to go. The faux-freedom of copyleft licenses is awful. Why should developers not be allowed to use my work because they didn't follow my rules? GPLv3 is not a freedom license. I coined a term for idiots who believe GPLv3 is a "freedom respecting license", it's a Gnukkit - someone who forces a specific idea of "freedom" onto others.
Anyways, with my hate of GPL aside, the solution is simple. Just, don't include software that use those licenses in the default system! Okay, that's easier said than done, so we do have a caveat. Applications that aren't tied to a core function of the operating system and easy to replace - this does not include: Shell, DOAS, the Ayras desktop environment, package management tools, system-default applications (terminal, file viewer, software center, settings managers, etc). Essentially, things that will be included by default, but are not required for the system to function as intended, can be licensed however they want. Browser, email client, calculator, calendar, office suite, etc. have no license requirements.
7. Essentially, don't do this.