Context: Pop!_OS is made by System76, a small hardware vendor in the US that specializes in linux-first, privacy-friendly machines. (They work hard to add hardware switches on microphones/cameras, etc.). They have laptop offerings, desktop machines and servers, most custom-designed. Pop!_OS is designed, iirc., to provide a good default experience for System76 machines, in particular good UI tooling for system configuration related to their hardware, but also other developer-friendly niceties; they worked on a “tiling desktop” extension for Gnome for example. For laptops they use Clevo machines (Clevo is a Taiwanese manufacturer that sells laptop chassis to companies that then turn them into full laptopts); if you are not in the US you can go through other Clevo adapters (for example Tuxedo in Germany) to get similar, but different, Linux-first machines.
Opinion: I don’t understand why System76 decided to create their own Ubuntu spin OS. I want my hardware vendor to be good at hardware, and System76 meets a lot of my requirements. But developing an OS is extremely time-consuming, and I wonder what other important things the System76 folks are not doing because they work on this OS. I don’t care for a new Linux distribution, I care for better upstream tools that all distributions can use, and I don’t see why a hardware vendor would decide to spend energy on software beyond something like “nobody has a decent UI interface to fan configuration parameters, and this hurts our consumers, so here is a tool that can be used by our machines and also many others”.
Few people remember the hardware, they remember the software and sometimes blame their hardware if something goes wrong.
I would guess that there are more markets available when you control both software and hardware as Apple does. When someone buys your computer your name and reputation is on the line for their configuration. So, by providing a holistic experience, it’s easier to make sure things “just work”
There have been a bunch of downsides to delegating the laptop hardware, including rocky quality control, and the just plain weird keyboard/trackpad layout used by laptops meant for the Windows world. I hope they can bring their laptop hardware in and own the design soon.
But in my experience so far (I’m on my second laptop from System76), the custom OS is what makes any of this possible. They’re constantly tweaking drivers to chase down PC hardware quirks – something they can do because of their Apple-like limited hardware choices – and their desktop has a design that I would characterize as “extremely simple and out of your way”, which is more coherent than anything I ever saw come out of gnome or ubuntu.
I think they’re trying to thread the needle between hackers of the lobsters world and “makers” who have non-coding needs that Linux can meet, and that requires ubuntu/gnome to be heavily modified.
I don’t know much about drivers, but couldn’t “excellent support for our hardware selection” be achieved by targeted contributions to upstream projects, instead of creating a new distribution? If the drivers in the kernel need improvements, surely these improvements could be contributed to the kernel, benefiting users of all distributions? Same thing for improvements to udev, and other “middle system” layers in userspace.
It’s hard. While I understand - and to some extent share - your concern about a hardware company ‘wasting time’ with an operating system, look at the difference in experience between MacBook users and Windows laptop users (well, at least while Mac OS releases weren’t a dumpster fire).
My last Windows laptop 10 years ago, despite being a flagship top-of-the-line machine, had a battery life of 3 to 4 hours. If you closed the lid, there was a solid 30% chance the machine would fail to come back from sleep and a 25% chance it wouldn’t even go to sleep and then be super hot to the touch (or completely drained) when I took it out of my backpack. Installing drivers and programs to change the CPU scaler helped, but in general my laptop was only a laptop in the sense that I could carry it around.
Fast forward to my first MacBook pro: whole day battery life. Perfect resume from sleep. Everything ‘just works’: connecting an external monitor, connecting to a wifi network, printing over a network, etc. Subsecond application loading. My only complaint was having to learn a new keyboard layout and I was off to the races.
System76 wants the latter experience, at least for their machines. I can’t blame them.
It’s a business risk to tie software support of your product to an upstream’s release schedule and review requirements. Upstream generally doesn’t appreciate having their time and energy demanded to meet an SLA they didn’t agree to.
Providing a supported fork for your customers meets everyone’s needs and gives room for the upstreaming process to happen at a pace and quality the upstream can accept.
This is still no argument to support a whole Linux distribution, instead of maintaining a couple forks for key drivers/tools. Besides, the upstreaming schedule for the Linux kernel is in fact rather fast, of the order of a couple of months, so a Linux-first shop would be able (and probably already is) to upstream driver fixes as they develop them.
I see the System76 goal as being Apple-like, and the underrated thing about Apple is that the hardware and software are developed in parallel, and as such, the whole system is more likely to function as the user expects.
This is not a realistic goal. How many people does Apple have working on its software? 300? How many people does System76 have working on their software? 3?
Apple has a lot more than 300 folks working on their software, but System76 can free-ride on the general Linux world. Now, I doubt highly that it’s a realistic goal, but it’s not totally insane.