Why I Love Ubuntu as a Desktop OS24 May 2020
One of the top stories on Hacker News today was a blog post called macOS 10.15: Slow by Design. I loved reading it – I find it fascinating to see how a problem like that was discovered through some reverse engineering. But it also got me thinking about macOS vs Linux vs Windows and reminded me why I love using Linux. Many people I know think the Linux Desktop is buggy and hard to use. And sometimes it is. But it’s worth remembering that neither macOS nor Windows comes without its own set of problems. There are trade-offs between any operating system (and apparently, the OS slowing down some executables by making network requests is now one of those trade-offs 😂). At the end of the day, I just want my OS to get out of the way and not be broken so I can be productive, and it seems to me that in the last several years, Ubuntu is getting closer to Windows and macOS in terms of stability and ease-of-use. On top of this, Ubuntu has always been lightyears ahead of Windows and macOS in terms of data collection and privacy.
I’m an Ubuntu Linux user. I’ve used Linux off and on since the first time I installed it at the age of 12 – trying to fix up old hardware with no clue what I was doing. But I really fell in love with Ubuntu when I started using it as my primary OS at work in 2015. Shortly thereafter, I also made it my primary OS at home and haven’t changed since.
So why do I like Ubuntu so much as a desktop OS? To be honest, one of the biggest reasons is because it’s become most familiar to me. I know what all the shortcuts are, I know how all my tools work, and it has all the tools I need. But it wasn’t always so natural for me, and I still chose to start using it many years ago.
The real reason I started using Ubuntu regularly and grew comfortable with it is because it was better than Windows for web development. In 2015, I was doing PHP web development and deploying my code to Linux servers. For that type of work, the developer experience is way better on Linux than on Windows (and macOS wasn’t an option at the time). In fact, I’ve come to believe that the developer experience on Linux is better than Windows or macOS for a lot of types of development. The primary reason for this is that when you run Linux, the software you run on your laptop is most similar to the software that runs on your servers in production. You don’t need to worry about odd differences in commands like sed. If you’re developing or deploying with Docker, you can run Docker natively on your laptop (no need for a VM layer) - which eliminates problems and makes things faster. Overall, there’s less friction between your laptop and your production environment and things work the way you expect them to in both places.
But aside from the software and tools themselves, I think Ubuntu provides a
great “Desktop OS” experience - particularly for developers. Although it felt
weird at first, I’ve really come to love Gnome
3 (I use vanilla Gnome on Ubuntu –
install vanilla-gnome-desktop). After using Gnome 3 for a while, the Windows
Start menu feels old and clunky. Also, package management is great on Ubuntu. I
can install most tools I need with apt-get. This feels better-managed and more
stable than Homebrew. And the Linux desktop experience has
really improved in recent years. I can find most software I want or need – even
if it’s not available in the Ubuntu repositories. Spotify, IntelliJ, VS Code,
and Chrome are all available and easy to install. Last time I installed Windows,
I was left with a bunch of crap (games and ads) that I didn’t want all over my
Start menu. When you finish installing Ubuntu, you’re left with a simple
environment for getting things done.
It continues to become increasingly clear that pretty much every app, website, or piece of software you use wants to collect data about you. In a world where everyone wants to collect your data and sell it, using open source tools it a good way to protect your data. Your data is valuable, so any company that has the means to collect your data will be tempted to collect it, store it, sell it, and do what they want with it. Open source tools don’t have this problem – at least not in any way like for-profit companies do. Open source software organizations don’t usually have the means (or infrastructure) to perform data collection on a massive scale, and don’t have motivation to collect data like large companies do. Often, privacy is one of the values of open-source software projects, so the maintainers would never allow any code that performs data collection. (There are, of course, a few rare exceptions.) On top of that, because the source code is available for anyone to view, it’s much harder to hide unwanted data collection in the code. Because Linux is itself open source, and because most of the programs you install on Linux are also open source, unwanted data collection is a much smaller concern, so Linux offers great privacy if that’s something that’s important to you.
Given the wide variety of Linux distributions, why do I run Ubuntu? Why not Debian, Arch, Mint, or Fedora? Well, the first reason is because Ubuntu is a desktop OS targeted at desktop users. And because of that, certain things tend to work more nicely or look better than other distributions. But also, and perhaps more importantly, I use Ubuntu because it’s probably the most popular Linux distribution - particularly for desktop use. And while popularity itself isn’t a huge factor, it means I can google and find the answer to almost any question or problem. Which is really valuable for – again – keeping things running smoothly and getting things done.
Isn’t Linux Unstable as a Desktop OS?
Linux has an unfortunate reputation of being difficult to setup and use as a desktop OS. macOS shouldn’t ever have any driver problems since Apple controls both the hardware and software. And PC makers expect users to run Windows and therefore build drivers primarily for Windows. Which leaves Linux in a somewhat tough spot. I’ve seen my share Linux problems over the years, including a particularly ugly bug that broke my wifi on corporate networks back in 2015. But in my experience, problems like this seem to be happening less frequently. Ubuntu has good support for most common hardware by default. And the other good news that there are some ways to mitigate driver issues like these.
A lot of problems with Linux on the desktop are really issues with drivers for a specific piece of hardware. So, there are a couple things we can do to try to avoid these types of issues. One solution is to use slightly older hardware. With older hardware, it’s likely that any issues have been found and fixed already. Another solution is to use hardware designed for Linux. Companies like System76 build hardware that’s designed to be Linux-compatible. Even Dell and Lenovo offer Linux-compatible systems. With a laptop that’s designed or certified for Linux, you’re much less likely to run into problems, which really helps make Linux a worthwhile option as a desktop OS.
Why not MacOS?
I’ve used macOS before - particularly at some previous jobs, and I’m very comfortable with it. Most web developers I know prefer it (for many of the same reasons I prefer Linux) – it provides a Unix-compatible terminal inside a nice desktop environment. I think many people choose between macOS and Windows for their laptop, and never really consider Linux. And while macOS is also a good choice for development work, a lot of things feel slightly off to me compared to Linux. Instead of using apt-get, I have to use Homebrew. Docker works, but requires a VM layer. Many GNU tools are available, but they’re not completely compatible with Linux versions. Catalina doesn’t even use Bash as the default shell anymore. Apple has a pretty good record on privacy (better than most!), but they’re still a for-profit company. Overall, these are mostly minor complaints. But as I said at the start, everything’s a trade-off. For me, Ubuntu comes out slightly ahead, and I’ve been a happy Ubuntu user for 5 years and counting!