Welcome to UbuntuOpening

The Ubuntu Cremation Manifesto

Almost reasonable. Architecturally enthusiastic.

Let’s get into it
60 chapters · scorched earthRead at your own pace. Play at your own risk.

Ubuntu occupies a unique place in the Linux ecosystem.

It is simultaneously:

  • the distribution recommended to beginners,
  • the distribution deployed by enormous numbers of servers,
  • the distribution half the Linux documentation on the Internet assumes you're running,
  • and the distribution most capable of making an experienced Linux user mutter:

“Why the fuck did you do it like that?”

Ubuntu is not bad because it is unusable.

That would be easy.

Ubuntu is dangerous because it is almost reasonable.

Everything starts normally.

You install Linux.

You get apt.

You get systemd.

You get GNOME.

You get Debian ancestry.

You think you understand the machine.

Then you open a cupboard and discover Canonical has been quietly constructing an entirely separate operating system behind the wallpaper.

Welcome to Ubuntu. The floor plan is proprietary to the committee.

Ubuntu is Debian after a meeting that should have been a cancellation. Every useful subsystem survived, but somebody stapled a fucking business plan to it.


I. Ubuntu: Debian with a product-management department

Debian asks:

What is the least surprising thing we could do?

Ubuntu asks:

How can we differentiate?

This philosophical distinction explains why your Ethernet cable has to survive a product strategy.

Debian sees a mature Linux subsystem and says:

Good.

Canonical sees the same subsystem and begins drawing architecture diagrams.

Ubuntu's history is a beautiful repeating cycle:

  1. existing Linux technology works;
  2. Canonical decides the ecosystem needs a Canonical-shaped replacement;
  3. Ubuntu adopts it aggressively;
  4. everyone else says “why?”;
  5. several years of ecosystem friction occur;
  6. the industry standardizes around something else;
  7. Ubuntu migrates;
  8. nobody speaks of the incident again.

The archaeological layers include:

  • Upstart;
  • Unity;
  • Mir as the proposed display-server future;
  • Ubuntu Phone;
  • convergence;
  • scopes;
  • Snap;
  • various server-management layers;
  • and enough abandoned strategic initiatives to furnish a small museum.

Canonical does not simply adopt technology.

Canonical periodically attempts to declare independence from consensus reality.

Canonical sees a wheel and invoices the ecosystem for a hexagon. Three releases later, the migration guide calls the corners a learning experience.


II. Ubuntu Desktop: Linux for people who haven't yet discovered Linux distributions

Ubuntu Desktop has an extraordinary superpower:

It makes Linux look approachable while simultaneously embedding enough Ubuntu-specific behavior that the new user may have no idea which parts are actually Linux.

Install Fedora GNOME.

You get GNOME.

Install Debian GNOME.

You get GNOME.

Install Arch with GNOME.

You get GNOME.

Install Ubuntu GNOME.

You get:

GNOME, but Canonical has been in the kitchen.

The dock is different.

Extensions are preconfigured.

Themes are modified.

Behavior is adjusted.

Packaging has opinions.

Applications may secretly be Snaps.

The shell looks broadly familiar, but there is always a faint sense that somebody has moved all the furniture three centimeters to the left.

Ubuntu Desktop is like renting a furnished apartment where the landlord insists:

“We improved the layout.”

You did not ask.


III. GNOME, but with Canonical seasoning

Vanilla GNOME is opinionated.

Ubuntu looked at this already-opinionated desktop and decided:

Needs more opinions.

Thus Ubuntu ships a modified GNOME environment so that you can enjoy the best of both worlds:

  • GNOME's refusal to expose many settings;
  • plus Canonical's customizations.

GNOME:

Minimize buttons are unnecessary.

Ubuntu:

We'll bring some conventional behavior back.

Reasonable.

GNOME:

Extensions are external modifications.

Ubuntu:

We'll depend on them for our default desktop identity.

Excellent.

So now your “default desktop” partially consists of components whose compatibility can be affected by GNOME Shell updates.

Desktop architecture by negotiated settlement. Nobody brought a fucking peacekeeper.

The default desktop is a ceasefire held together by extensions. Upgrade GNOME and the furniture starts filing for independence.


IV. The dock

Ubuntu's dock is there to reassure Windows and macOS refugees that applications still exist.

Fine.

Except it occupies enough visual prominence that stock GNOME users periodically look at Ubuntu screenshots and ask:

“Which desktop environment is that?”

It is GNOME.

Mostly.

Ubuntu Desktop is what happens when someone orders vanilla GNOME and then checks every box under:

“Would you like that customized?”


V. Snap Firefox: one of the greatest acts of package-manager betrayal

There are commands in computing that should mean what they say.

For example:

sudo apt install firefox

This appears straightforward.

APT is the Debian package manager.

You have asked APT to install Firefox.

A reasonable person might conclude:

“APT will install Firefox as a Debian package.”

Ubuntu replies:

Ha.

The package can instead function as a transition into the Snap version.

This is magnificent.

You explicitly invoke one package-management system, and Ubuntu uses it to enroll you in another.

APT has outsourced the one fucking verb in its job description.

That is package-manager cuckoldry.

APT stands at the doorway and says:

“I'll handle this.”

Then Snap walks out of the bedroom.

You asked APT for a browser. APT brought a subcontractor, a mount namespace, and the absolute fucking nerve to call the job finished.


VI. Snap: Canonical's immutable little kingdom

Snap itself is an impressive engineering effort.

Which makes it more frustrating.

Because beneath all the valid technical arguments lies the unmistakable corporate instinct:

“What if Linux software distribution had a center, and that center was us?”

Snap gives you:

  • sandboxing;
  • transactional updates;
  • dependency bundling;
  • revisions;
  • confinement;
  • cross-distro compatibility.

Great.

It also gives you:

/snap

loop devices;

automatic refresh behavior;

Snap-specific permissions;

Snap-specific tooling;

Snap-specific lifecycle semantics;

and a distribution increasingly enthusiastic about using Snap for software you expected to be ordinary packages.

You install applications.

Your block-device tooling begins hallucinating disks.

lsblk

looks like you've attached the NAS of Theseus.

No.

Those are your applications.

Apparently programs are storage appliances now. Next release, opening a spreadsheet will require a forklift license.

The text editor has become a disk. Somewhere, a storage administrator is staring at lsblk and wondering who connected Microsoft Office to the SAN.


VII. “But Snaps are self-contained”

Yes.

So are shipping containers.

I do not want LibreOffice delivered as maritime freight.

The Linux desktop has now accumulated approximately seventeen different answers to:

“Where does this application come from?”

Possible answers:

  • distro package;
  • Snap;
  • Flatpak;
  • AppImage;
  • binary tarball;
  • vendor repository;
  • language package manager;
  • container;
  • source build;
  • shell script from a README written in 2017.

Ubuntu looked at this fragmentation and said:

“We should strongly promote another one.”

Outstanding.


VIII. Automatic Snap refreshes: your maintenance window has been democratized

Traditional sysadmin thinking:

Change control matters.

Snap thinking:

We will inform you of our intentions.

You can configure refresh behavior.

You can hold updates within limits.

You can schedule windows.

But the underlying philosophy remains distinctly consumer-device-like:

Software should keep itself current.

That makes sense for many desktop users.

It becomes far less charming when applied to machines whose operators deliberately want state transitions to occur only under controlled conditions.

Ubuntu server admin:

“Nothing changes unless I authorize it.”

snapd:

“Counterproposal.”

Your maintenance window is apparently a suggestion box. The machine has two administrators, and the one made of software keeps scheduling meetings behind your back.


IX. Ubuntu Server: abstraction layers all the way down

Ubuntu Server begins innocently.

A terminal.

SSH.

APT.

Systemd.

Beautiful.

Then you ask:

“How is the network configured?”

And the floor collapses.

The answer may involve:

  • cloud-init;
  • Netplan;
  • systemd-networkd;
  • NetworkManager;
  • generated configuration;
  • datasource metadata;
  • /etc/netplan;
  • /run;
  • machine images;
  • vendor initialization behavior.

You wanted Ethernet.

You received a dependency graph.


X. Netplan: YAML as physical infrastructure

Someone decided that Linux networking needed a higher-level configuration abstraction.

This is defensible.

Then they chose YAML.

This is an act of hostility.

A static address now looks like:

network:
  version: 2
  ethernets:
    enp1s0:
      addresses:
        - 192.168.1.20/24
      routes:
        - to: default
          via: 192.168.1.1

Beautiful.

Human-readable.

Declarative.

Until one whitespace mistake gets the configuration rejected and you find yourself debugging indentation over SSH like an overpaid fucking typesetter.

Nothing says “production networking” like a maintenance window spent counting spaces. Invalid YAML gets rejected; a valid route to the wrong gateway is what really earns you the long drive.

Cisco:

% Invalid input detected at '^' marker.

Netplan:

Error in network definition: expected mapping

Me:

I AM 400 KILOMETERS FROM THIS SERVER.


XI. netplan apply: tactical Russian roulette

There is no prayer quite like:

sudo netplan apply

over SSH.

The cursor hangs for 300 milliseconds.

Your entire ancestral lineage flashes before your eyes.

You think:

“Was that normal latency?”

Then:

“Why hasn't the prompt returned?”

Then:

“Oh fuck.”

Then it returns.

The relief is disproportionate to the complexity of the operation.

You changed one IP address.

You should not experience adrenaline.

A blinking cursor has turned your salary into a hostage. Four hundred kilometers away, one interface is deciding whether you still have a job to connect to.


XII. netplan try is an admission of guilt

Netplan includes a rollback-oriented testing workflow because remote networking changes can disconnect you.

This is genuinely useful.

It is also incredibly funny.

The networking tool effectively says:

“Before committing your configuration, perhaps verify you haven't accidentally destroyed your access to the machine.”

Thank you, Netplan.

I appreciate the honesty.


XIII. Netplan is not the networking system

This is my favorite part.

Netplan is not necessarily the component controlling your network.

Netplan describes what another component should do.

So debugging networking can become:

Is the YAML correct?

Then:

Did Netplan interpret it correctly?

Then:

Did Netplan generate the right backend configuration?

Then:

Which renderer is active?

Then:

Did networkd accept it?

Then:

Is cloud-init going to rewrite it on reboot?

Then:

Who created 50-cloud-init.yaml?

Then:

Why does this file say edits may not persist?

Then:

I just wanted DNS.


XIV. Cloud-init: the ghost in your configuration

Cloud-init is extremely useful.

It also creates one of computing's finest horror-movie moments.

You configure a cloud VM.

Everything works.

You reboot.

Something changes.

You inspect the system and discover a file that effectively says:

“This configuration was generated elsewhere. Your edits may be overwritten.”

There is no stronger reminder that you do not own a cloud VM.

You are merely temporarily supervising a declarative object.

Ubuntu images make extensive use of this ecosystem, so the first few minutes on a new machine often become an investigation into:

“Which configuration file is actually authoritative?”

The most important question in Linux administration should not be existential philosophy.

You edit the file. Cloud-init edits your expectations. Reboot, and your configuration comes back wearing its landlord’s fucking clothes.


XV. systemd-resolved: DNS now has lore

To be fair, this is not uniquely Ubuntu.

But Ubuntu embraced it enthusiastically enough that it belongs at the funeral.

You inspect:

/etc/resolv.conf

Like your ancestors did.

It points somewhere else.

Naturally.

Maybe:

127.0.0.53

You ask:

“What DNS server am I using?”

Linux says:

“Conceptually or operationally?”

You run:

resolvectl status

Now DNS has per-link state, routing domains, fallback behavior, scopes, and enough metadata to apply for citizenship.

Again: technically justified.

But there was a time when:

nameserver 1.1.1.1

meant something spiritually comprehensible.


XVI. Ubuntu networking in one sentence

You configure YAML so a generator can configure a renderer which configures an interface whose DNS is mediated by a stub resolver whose initial settings may have been injected by cloud-init.

People criticize Arch for being complicated.

Arch at least has the decency to make you responsible for the complexity.

Ubuntu sometimes hides it under carpet until you need to debug something.


XVII. The installer: would you like some Snap with your operating system?

Ubuntu installation has become polished.

Very polished.

Almost suspiciously polished.

It asks sensible questions.

Language.

Keyboard.

Disk.

Network.

Account.

Then somewhere in the ecosystem comes the recurring Canonical instinct:

“Would you like some additional software?”

What this sometimes means is:

“Would you like to begin your relationship with Snap before you've even finished meeting Linux?”

Ubuntu treats Snap like a proud parent treats photographs of their child.

You did not ask.

You are going to see it.


XVIII. Ubuntu's “minimal” installations

Linux distributions differ philosophically about “minimal.”

Debian minimal:

Here is enough operating system to remain technically alive.

Arch:

Here's a shell. Good luck.

Ubuntu minimal:

We have thoughtfully removed some packages while retaining enough framework that Canonical's strategic direction remains fully operational.

Minimal, but spiritually managed.


XIX. Unattended upgrades

Security updates are good.

Automatic security updates are often good.

Ubuntu's unattended-upgrades can be extremely useful.

But it contributes to the broader Ubuntu experience where numerous systems are eager to help maintain your machine independently.

Snap refreshes.

Unattended upgrades.

Cloud-init.

Service restarts.

Package hooks.

You begin to get the sensation that your server has a municipal government.

You are not administering Linux.

You are chairing a committee.


XX. Release upgrades: the ceremony

On rolling distributions, updates can break things continuously.

Ubuntu improves upon this by concentrating anxiety into periodic festivals.

Every major release upgrade begins with optimism:

do-release-upgrade

Then the machine begins asking questions.

Modified configuration file detected.

Keep existing version?

Install maintainer version?

Service restart?

Repository disabled?

Third-party source unsupported?

Package obsolete?

Dependency conflict?

You eventually reach the point where the upgrade has become a choose-your-own-adventure novel titled:

“What Did I Configure Two Years Ago?”

The safest Ubuntu major-version upgrade strategy is often:

  1. back everything up;
  2. upgrade;
  3. discover archaeology;
  4. regret;
  5. reinstall;
  6. tell everyone the reinstall was planned.

Keep the local file? Replace it? Open a shell? Congratulations: the upgrade has become a probate hearing for decisions made by a version of you who no longer remembers the estate.


XXI. PPAs: dependency roulette for the optimistic

Before Flatpak, before AppImage became common, before vendors learned to ship sane repositories, Ubuntu desktop users had PPAs.

PPAs taught an entire generation the beautiful Linux tradition of:

sudo add-apt-repository ppa:somebody/something

and then forgetting about it for 18 months.

Later:

sudo apt update

repository does not have a Release file

Ah.

My desktop's package integrity depended on Kevin's Launchpad account.

Excellent.


XXII. The Ubuntu tutorial monoculture

Search the Internet for:

“install software Linux”

Half the results:

sudo apt install ...

Search:

“Linux firewall setup”

Ubuntu tutorial.

Search:

“Linux static IP”

Netplan.

Search:

“Linux service setup”

Ubuntu.

Search:

“Linux troubleshooting”

Blog post from 2021 written for Ubuntu 20.04.

This creates an extraordinary side effect:

People begin unconsciously treating Ubuntu-specific behavior as Linux behavior.

Then they move to another distribution.

“Where is Netplan?”

Gone.

“Why doesn't add-apt-repository exist?”

Because APT doesn't exist.

“Where are my Snaps?”

There is peace here.


XXIII. Ubuntu Desktop upgrades: extension apocalypse

GNOME extensions live in a fascinating ecosystem where shell-version compatibility historically had teeth.

Ubuntu uses extensions and custom GNOME behavior as part of its identity.

Then GNOME evolves.

Ubuntu evolves.

Extensions evolve.

And sometimes your desktop reaches login with the aesthetic coherence of a building after an earthquake.

Desktop Linux users eventually learn an ancient ritual:

disable extension
log out
log in
enable extension
curse Mutter
curse Wayland
curse NVIDIA
search GitHub issue

Ubuntu merely ensures the ritual comes preinstalled.


XXIV. NVIDIA on Ubuntu: “the easy distro”

Ubuntu is often recommended for NVIDIA because driver installation is comparatively streamlined.

This is fair.

Ubuntu has done substantial work here.

And yet the experience can still become:

Install recommended driver.

Reboot.

Black screen.

Switch TTY.

Secure Boot?

MOK enrollment?

Kernel module signed?

Nouveau disabled?

Wayland enabled?

Xorg fallback?

PRIME mode?

Hybrid graphics?

At some point you realize:

Ubuntu did make NVIDIA on Linux easier.

Unfortunately, this means you are experiencing the easier version.

The desktop goes black. At last, the driver has achieved perfect visual consistency with the troubleshooting outlook.


XXV. Wayland

Again, not Ubuntu's fault.

But Ubuntu Desktop is a wonderful place to experience every layer of modern Linux graphical transition simultaneously.

You ask why screen sharing doesn't work.

Answer:

Wayland.

You ask why an application behaves oddly.

XWayland.

You ask why remote desktop is different.

PipeWire portal.

You ask why global input hooks don't work normally.

Security model.

You ask why your NVIDIA laptop woke up black.

Could be several things.

Desktop Linux in 2026 is technologically impressive.

It is also capable of turning “capture my screen” into an IPC architecture seminar.


XXVI. Ubuntu Pro

Canonical eventually discovered the perfect business model:

Sell support for the distribution whose support lifecycle was already one of its major selling points.

Ubuntu Pro itself is not absurd.

Extended security coverage and enterprise maintenance have real value.

The funny part is the desktop experience of APT occasionally reminding ordinary users that additional security updates are available under Ubuntu Pro.

Nothing improves the warm, community-driven Linux desktop experience like:

You have updates. Some are behind account attachment.

Linux has achieved microtransaction vibes.

You came for security updates. The terminal has started doing sales. The next dependency is a man called Account Manager.


XXVII. ESM messaging

Run an update.

See packages.

See messaging about expanded security maintenance.

You suddenly feel like your operating system is upselling you extended warranty coverage.

“Your package could be receiving more security updates.”

Thank you, Ubuntu.

Would you also like to inspect my car's transmission while I'm here?


XXVIII. Canonical account gravity

Snap Store.

Ubuntu Pro.

Landscape.

Canonical services.

Various integrations.

Individually reasonable.

Collectively they produce a sensation that Ubuntu is slowly developing an ecosystem account center of mass.

The traditional Linux model:

Here is your operating system.

Ubuntu:

Here is your operating system, and have you considered developing a relationship with Canonical?


XXIX. Ubuntu Server versus Debian

Ubuntu Server advocates:

“It's basically Debian, but with newer packages and commercial backing.”

Yes.

And several additional opinions per square centimeter.

Debian server:

networking
apt
systemd
ssh

Ubuntu Server:

networking
Netplan
renderer
cloud-init
snapd
apt
Ubuntu Pro messaging
systemd
resolved
ssh
maybe Landscape

It is Debian after hiring consultants.


XXX. Ubuntu Server versus RHEL-family systems

RHEL-style distributions:

NetworkManager is managing your network.

You:

Okay.

nmcli

Done.

Ubuntu:

NetworkManager may be managing your network.

You:

May?

Ubuntu:

Or systemd-networkd.

You:

Which one?

Ubuntu:

Check Netplan.

You:

Why?

Ubuntu:

Netplan tells the renderer.

You:

Who wrote Netplan?

Ubuntu:

Maybe cloud-init.

You:

I'm going back to AlmaLinux.


XXXI. Ubuntu versus openSUSE

openSUSE:

Would you like a graphical/text interface for administering networking, services, storage, repositories, bootloader, firewall, users, and more?

Ubuntu:

Would you like a YAML file?

openSUSE:

Snapper has automatically created filesystem snapshots around package operations.

Ubuntu:

Have you considered reinstalling after the release upgrade?

openSUSE occasionally feels like a distribution designed by people who have actually had to recover a broken server.

Ubuntu occasionally feels like a distribution designed by people who have dashboards proving the new abstraction has adoption.


XXXII. YaST versus Ubuntu documentation archaeology

On openSUSE:

yast

Networking.

Done.

Ubuntu:

Search:

“Ubuntu 24.04 static IP”

Article says edit /etc/netplan/00-installer-config.yaml.

Your machine has:

50-cloud-init.yaml

Search again.

Article says disable cloud-init network configuration.

Another says don't.

Another assumes NetworkManager.

Another assumes networkd.

Another uses deprecated gateway4.

Another was autogenerated by SEO sludge.

You close the laptop.

Six tutorials, four file paths, three renderers, two deprecated keys. One Ethernet cable. How the fuck did the cable become the least complicated part?


XXXIII. The “easy Linux” paradox

Ubuntu is called easy because:

  • installation is easy;
  • hardware support is broad;
  • documentation is abundant;
  • commercial software often targets it;
  • third-party vendors test against it;
  • drivers are generally accessible.

All true.

But “easy to begin using” and “simple system architecture” are not the same thing.

Ubuntu is frequently easy at the surface and complicated underneath.

Arch is difficult up front because it makes you assemble the machine.

Ubuntu is easy up front because Canonical assembled it.

Six months later something breaks and you discover Canonical assembled it using twelve interlocking mechanisms you didn't know existed.


XXXIV. Ubuntu has documentation because Ubuntu needs documentation

A distribution having huge documentation coverage is good.

But sometimes I wonder whether Ubuntu has so many troubleshooting articles because it has successfully created enough Ubuntu-specific phenomena to sustain an entire publishing industry.

Search results:

How to disable Snap

How to remove Snap

How to prevent Snap from reinstalling

How to install Firefox without Snap

How to disable cloud-init networking

How to configure Netplan

How to make Netplan use NetworkManager

How to make Netplan use networkd

How to disable systemd-resolved

How to restore /etc/resolv.conf

At some point the operating system begins to resemble a hostage-negotiation course.


XXXV. “Just use Ubuntu, it has the best compatibility”

This sentence has caused more Linux installations than perhaps any other.

It is also why Ubuntu gets away with everything.

Vendor:

We support Linux.

Translation:

We tested Ubuntu LTS.

Documentation:

Linux instructions.

Actual instructions:

apt install

Container image:

ubuntu:latest

Enterprise software:

Supported platforms: Ubuntu 22.04 / 24.04.

Ubuntu has accumulated enough ecosystem inertia that Canonical could ship a package manager based on interpretive dance and vendors would eventually document it.


XXXVI. The LTS shield

Every criticism of Ubuntu eventually encounters the sacred phrase:

“But LTS.”

Yes.

LTS is useful.

Predictable release cadence is useful.

Long support is useful.

Enterprise certification is useful.

None of these facts explain why my text editor is a mounted filesystem.


XXXVII. The cult of “supported”

Ubuntu users:

“Just use the supported way.”

Which supported way?

The upstream project's way?

Debian's way?

Canonical's way?

The cloud-image way?

The desktop way?

The Server ISO way?

The Snap way?

The APT way?

The way documented for 22.04?

The way documented for 24.04?

The way cloud-init regenerates after boot?

Ubuntu contains enough layers that “supported” sometimes sounds less like a technical property and more like canonical law.


XXXVIII. Canonical's recurring engineering instinct

The broader pattern is remarkable.

Problem:

Linux desktop shell.

Canonical:

Unity.

Problem:

init system.

Canonical:

Upstart.

Problem:

display server.

Canonical:

Mir.

Problem:

cross-device computing.

Canonical:

convergence.

Problem:

application packaging.

Canonical:

Snap.

Problem:

network configuration.

Ubuntu ecosystem:

Netplan.

The instinct is always:

“We can build an integrated solution.”

Sometimes they can.

The deeper question is:

“Should you make everyone use it before the rest of the ecosystem agrees?”

The future of Linux. Apparently it needed an orange logo.

Lil bro really thought he was going to define the next era of Linux.

Then the next era arrived, and an awkward amount of it had Fedora and Red Hat fingerprints on it.

Not a keynote. Not a convergence render. The shit your machine actually runs:

These projects have authors and contributors, not a single corporate birth certificate. Red Hat doesn't get to steal their names either. But Fedora and the engineers Red Hat paid helped turn major upstream changes into things people could actually use.

Ubuntu kept arriving with a competing vision and leaving with a migration guide.

Every Linux standards meeting, Canonical turns up with competing homework and the confidence of a child who put his own name on the group project.

The recurring sales pitch:

We are designing the future of the Linux desktop.

The upstream release notes:

Here it is.

Canonical's next move: explain why this one doesn't count, spend several years on an alternative, then learn how to package the thing everybody was arguing about in the first place.

Fedora's contribution to this process is less glamorous than a keynote. Ship the new stack early. Find the bugs. Get the fixes upstream. Repeat until the thing stops setting people's weekends on fire.

Fedora users are the crash-test dummies of tomorrow's Linux stack. They meet the windshield so your next LTS can call the seat belt mature technology.

Red Hat paid people to build parts of the future. Fedora users paid in weekends. Canonical arrived for the ribbon cutting with a different ribbon and a proposal to replace the scissors.

And KVM?

Avi Kivity and the team at Qumranet. Red Hat acquired Qumranet in 2008.

Canonical did not make KVM.

And this isn't some obscure basement project. Google Compute Engine runs VMs on a security-hardened KVM-based hypervisor. AWS built the Nitro Hypervisor around KVM, stripped down and customized for its infrastructure.

Meanwhile, Canonical bills Ubuntu as the world's most popular cloud operating system.

Excellent. You won the guest list.

The cloud provider runs the building. The KVM-based hypervisor partitions the resources. Ubuntu checks into a VM, unpacks Snap, and starts explaining its vision for the property.

Brother. You are the guest operating system.

Being the most popular thing installed upstairs does not mean you invented the fucking elevator.

And yes, making a guest OS people actually want to deploy is useful work. That's why the joke hurts: Ubuntu is good enough to get invited everywhere and still can't stop acting like it built the venue.

The hypervisor hands you virtual CPUs. You hand the customer a subscription offer.

Congratulations on the occupancy rate. Stop signing the architect's drawings.

Then actual Linus walked in.

In the November 2025 LTT PC build, around 45:43, small Linus was building big daddy Linus a workstation. The distribution they installed was Fedora.

Torvalds explained that Fedora aligned well with kernel developers. When he had tried Ubuntu years earlier, its consumer focus had made replacing the kernel harder for his particular workflow. He wanted the rest of the distribution to work so he could replace the one component he cared about.

His verdict on that old Ubuntu experience:

“this is not for me clearly by design.”

The man who created Linux found your Linux vision inconvenient for developing Linux.

Somewhere in this product philosophy, you can practically hear the objection: modifying the kernel isn't the intended consumer experience.

My brother in Christ, the consumer is Linus Torvalds.

He isn't trying to rice the fucking scheduler. He has patches to test. He wants to replace Linux with Linux and get back to work.

The compile-everything crowd offers him an entire distribution to rebuild. Ubuntu's old consumer workflow puts friction around the one piece he does want to rebuild. It's an extraordinary achievement to make both extremes miss the point of a man whose job title is practically printed on the kernel.

Congratulations. You designed the future so thoughtfully that the guy writing it went somewhere else.

Fedora let him get on with the kernel. Canonical had a vision for his relationship with the computer.

He already had a relationship with it.

Paternity.

You can keep the orange wallpaper. Dad's busy upstream.


XXXIX. Ubuntu desktop's identity crisis

Ubuntu wants to be:

  • beginner-friendly;
  • enterprise-grade;
  • developer-friendly;
  • cloud-native;
  • workstation-capable;
  • IoT-ready;
  • desktop Linux;
  • server Linux;
  • container host;
  • appliance base;
  • commercial platform;
  • open-source community distribution.

That is an enormous mandate.

And you can sometimes feel all eight product strategies pressing against one another.

The desktop wants convenience.

The server wants predictability.

The cloud image wants automation.

Canonical wants ecosystem integration.

The community wants Linux conventions.

Snap wants confinement.

Enterprise wants support lifecycle guarantees.

GNOME wants GNOME.

Ubuntu somehow puts all of these people in the same meeting.


XL. The result

Ubuntu is not one coherent philosophy.

Ubuntu is a ceasefire agreement between multiple infrastructure strategies.

And somehow it boots.


XLI. The Ubuntu boot sequence, spiritually

UEFI
↓
GRUB
↓
kernel
↓
systemd
↓
cloud-init remembers your cloud provider
↓
Netplan remembers your network renderer
↓
systemd-networkd remembers your NIC
↓
systemd-resolved remembers your DNS
↓
snapd remembers it is refresh day
↓
unattended-upgrades remembers security
↓
GNOME remembers your extensions
↓
Ubuntu Pro remembers you haven't subscribed
↓
You remember why you installed Debian last time

XLII. Desktop application installation in Ubuntu

User:

“I need Spotify.”

Linux ecosystem:

deb, Flatpak, Snap, vendor package, web app.

Ubuntu:

Snap.

User:

“What about Firefox?”

Ubuntu:

Snap.

User:

“Can I have the deb?”

Ubuntu:

Why are you resisting progress?


XLIII. Server application installation in Ubuntu

User:

“I need Nextcloud.”

Ubuntu:

We have a Snap.

User:

“I need Docker.”

Ubuntu ecosystem search results:

You can install Docker through apt.

Or Snap.

But probably use Docker's repository.

Unless you're using docker.io.

Also there's containerd.

Don't confuse Docker's repository package with Ubuntu's repository package.

User:

I wanted a container runtime.

Ubuntu:

You have received knowledge.


XLIV. The firewall situation

Ubuntu markets ufw as uncomplicated.

For once, the name is refreshingly accurate.

ufw is actually pretty pleasant.

Naturally, Docker can then manipulate packet-filtering behavior underneath it and create situations where exposed container ports do not behave the way someone naively expects from UFW policy.

This isn't fundamentally Ubuntu's fault.

But it perfectly captures the Ubuntu experience:

one friendly abstraction sitting on top of another subsystem while a third subsystem modifies the actual rules.

Linux networking is not configured.

It is negotiated.

UFW is guarding the front door while Docker cuts a loading bay through the wall. The sign still says “uncomplicated.”


XLV. Ubuntu and Docker

Install Ubuntu because everybody uses it for Docker.

Install Docker.

Never interact meaningfully with Ubuntu again.

This is perhaps Ubuntu Server's greatest success:

Millions of machines run Ubuntu primarily to launch containers containing distributions they actually care about.

Ubuntu has achieved operating-system transcendence.

It is the BIOS of Docker.


XLVI. The desktop telemetry panic cycle

Canonical has periodically touched analytics, reporting, search integration, or related telemetry-adjacent ideas.

Every time this happens, Linux users react as though MI6 has installed a microphone in /home.

Canonical then explains the scope.

People inspect packets.

Blog posts happen.

Reddit catches fire.

Eventually everything calms down.

Ubuntu uniquely combines mainstream-product ambition with an audience that considers reading /proc a recreational activity.

This relationship was never going to be peaceful.


XLVII. Amazon search in Unity

We must remember our ancestors.

There was a time Ubuntu integrated online Amazon results into desktop Dash search.

You searched your own computer.

Ubuntu said:

Perhaps commerce?

This decision generated exactly the community reaction one might expect when Linux users discover that local desktop search has become entrepreneurial.

It was a perfect Canonical moment:

technically explainable;

commercially understandable;

socially radioactive.


XLVIII. Ubuntu Phone

Ubuntu once attempted to create a mobile operating system.

Not merely a skin.

Not merely an Android derivative.

A genuine converged Ubuntu platform.

Audacious.

Interesting.

Technically fascinating.

Dead.

Ubuntu has a long history of products where the retrospective reads:

“That was actually a cool idea.”

followed shortly by:

“Anyway, it no longer exists.”


XLIX. Unity

Unity is perhaps the funniest Ubuntu story because people spent years complaining about it, Canonical abandoned it, and then some users realized:

Wait, I kind of miss Unity.

Linux desktop discourse is a machine that converts all decisions into nostalgia after approximately eight years.

Canonical replaced GNOME with Unity.

People were furious.

Canonical returned to GNOME.

People became nostalgic for Unity.

There is no winning.

Only release notes, and the damp smell of another roadmap being quietly buried.


L. Mir

Canonical wanted Mir while much of the ecosystem rallied around Wayland.

Technical arguments existed.

Strategic arguments existed.

Eventually Ubuntu adopted Wayland.

Somewhere in the universe is a graveyard containing technologies that were once described as:

“Ubuntu's future.”

It is getting crowded. Planning permission has been filed for a second cemetery.

The graveyard of Ubuntu’s futures needs its own package index. Even the headstones will probably arrive as Snaps.


LI. Upstart

Before systemd became everybody's favorite argument, Ubuntu used Upstart.

Then systemd won.

Ubuntu migrated.

Thus Ubuntu veterans have experienced multiple init-system epochs.

New Linux users think systemd controversy is ancient history.

Ubuntu users remember when there was different ancient history.


LII. “Canonical NIH syndrome”

This accusation is sometimes unfair.

Independent engineering is not automatically NIH.

Alternative implementations can spur innovation.

But Canonical has historically produced enough parallel solutions that the reputation did not emerge from vacuum.

At some point the company's engineering motto began to feel like:

“Yes, there is an upstream project. But have you considered an upstream project where we're upstream?”


LIII. Ubuntu desktop aesthetics

Ubuntu's visual identity has improved enormously over the years.

Modern Ubuntu looks polished.

Professional.

Coherent.

Orange.

Very orange.

At some point Canonical apparently purchased a lifetime strategic reserve of aubergine and orange and decided the world's workstations would know.

You can identify Ubuntu from across a room.

Or across a building.

Possibly from orbit.


LIV. Yaru

Yaru is actually good.

This roast is about Ubuntu, not historical revisionism.

But Ubuntu could install the world's most beautiful GTK theme and half the community would immediately ask:

“How do I restore Adwaita?”

Linux users will spend six hours customizing their desktop to look exactly like the default desktop they rejected.


LV. Beginner-friendly installation, veteran-hostile aftermath

Ubuntu's installer may be easier than many distributions.

The real trap is that convenience creates a future debugging debt.

The new user doesn't know:

  • what Snap is;
  • what Netplan is;
  • what cloud-init is;
  • what systemd-resolved is;
  • what is upstream GNOME;
  • what Ubuntu modified;
  • which packages are transitional;
  • why /etc/resolv.conf is a symlink;
  • why Firefox appears in snap list.

Everything works.

Until it doesn't.

Then Linux 101 abruptly becomes Ubuntu Internals 401.


LVI. The “remove Snap” ritual

Some Ubuntu users install Ubuntu.

Then immediately:

  1. remove Snap packages;
  2. remove snapd;
  3. prevent Snap from returning;
  4. install native or Flatpak replacements;
  5. modify defaults.

At which point one must ask:

At what percentage of post-install de-Ubuntuification should you simply install Debian?

If the first hour after installing your distribution is spent surgically removing its strategic technologies, perhaps there has been a philosophical mismatch.

First you install Ubuntu. Then you spend an hour removing the Ubuntu. That is a distribution with a self-checkout lane for regret.


LVII. Why Ubuntu remains dominant anyway

And here is the infuriating part.

Ubuntu keeps winning because it is genuinely useful.

Hardware compatibility?

Good.

Documentation?

Excellent.

Cloud availability?

Everywhere.

Vendor support?

Excellent.

Developer ecosystem?

Excellent.

LTS cadence?

Useful.

Enterprise support?

Real.

Desktop installer?

Accessible.

GPU drivers?

Relatively straightforward.

Community size?

Massive.

Ubuntu is not popular because everyone is stupid.

Ubuntu is popular because it solves many practical adoption problems exceptionally well.

Which makes every unnecessary Ubuntu-specific abstraction more irritating, because somewhere underneath all of it is a genuinely excellent distribution trying desperately to become a platform.


LVIII. The central tragedy of Ubuntu

Ubuntu could simply be:

Debian with polished defaults, fresher software, excellent hardware support, strong commercial backing, and a predictable release cycle.

That would already be enormously valuable.

But Canonical periodically looks at this winning formula and says:

“You know what this needs?”

And every Linux administrator reaches for a fire extinguisher.


LIX. The Ubuntu commandments

Let the following be entered into /etc/motd.

Commandment I

Thou shalt not intercept one package manager to install packages from another.

Commandment II

Thou shalt not make applications appear as block devices.

Commandment III

Thou shalt not let YAML whitespace determine whether remote access survives.

Commandment IV

Thou shalt not invent a new platform technology solely because the existing one is insufficiently Canonical.

Commandment V

Thou shalt not create abstractions whose debugging requires knowledge of the abstraction and everything underneath it.

Commandment VI

Thou shalt not show subscription upsell energy during apt upgrade.

Commandment VII

Thou shalt not call something “Linux instructions” when the first line is:

sudo apt

Commandment VIII

Thou shalt permit a server administrator to enjoy boredom.

Commandment IX

Thou shalt remember that desktop users do not want application packaging to become infrastructure engineering.

Commandment X

Thou shalt stop trying to make Snap happen.


LX. The final cremation

Ubuntu is what happens when an extremely capable engineering organization takes one of the most successful Linux distributions ever created and repeatedly asks:

“How can we put another layer between the user and the thing they're trying to configure?”

Need networking?

Netplan.

Need DNS?

Resolved.

Need cloud initialization?

cloud-init.

Need applications?

Snap.

Need security maintenance?

Ubuntu Pro.

Need desktop GNOME?

Ubuntu-flavored GNOME.

Need package installation?

APT, unless Snap enters through the ceiling.

Need stability?

LTS.

Need upgrade confidence?

Backups.

Need troubleshooting?

Search for the Ubuntu version first.

The system is not broken.

That would be simpler.

It is architecturally enthusiastic.

Ubuntu takes ordinary Linux tasks and gives them a management plane.

It takes software installation and gives it a mount namespace.

It takes Ethernet and gives it a renderer.

It takes DNS and gives it a local stub resolver.

It takes package support and gives it an account tier.

It takes GNOME and gives it a remix.

It takes Debian and gives it a quarterly strategy meeting.

And after all of this, Ubuntu users will still look you directly in the eyes and say:

“I use Ubuntu because I don't want to mess around with Linux.”

Brother.

Your web browser is a loop device.

Your IP address passed through a YAML transpiler.

Your DNS query visited 127.0.0.53.

Your package manager installed another package manager.

Your operating system is advertising extended maintenance.

Your desktop shell is upstream GNOME wearing Canonical prosthetics.

You aren't avoiding Linux complexity.

Canonical has simply put drywall over it.

And one day something leaks.

You remove the drywall.

Behind it:

Netplan.

Behind Netplan:

networkd.

Behind networkd:

systemd.

Behind systemd:

D-Bus.

Behind D-Bus:

a bug report from 2019.

Behind the bug report:

Lennart Poettering explaining why your mental model is wrong.

You close the browser.

You download Debian.

The installer asks what desktop environment you want.

No marketing.

No Snap.

No renderer abstraction.

No account.

No orange corporate aura.

Just Linux.

You finish installation.

You SSH in.

The machine does nothing interesting.

And at last, after years of Ubuntu:

silence.

Beautiful, boring silence.

The server remains exactly as you left it.

No surprise refresh.

No strategic packaging initiative.

No YAML gateway ceremony.

No product vision.

Only processes, sockets, files, and the gentle hum of a machine that has finally stopped trying to improve your life.

Ubuntu did not crash. The product strategy finally ran out of things to stand on.

You escaped.

There is an excellent operating system under this shit. Unfortunately, reaching it requires demolishing a conference center.

Still feeling superior?

There’s another manifesto for that.

Enter Arch Back to both roasts