Curious Case Of Linux Distribution Code Names

All about the code names and versioning for popular Linux distributions.
Warp Terminal

Have you ever wondered about the code name of the latest release of your favorite Linux distribution?

The latest Linux Mint 21.2 release goes by the code name "Victoria". And, the upcoming Ubuntu 24.04 release (when updating this article) is code-named 'Noble Numbat'.

The question about the code-names is really trivial. It does not make any difference to how a particular Linux distribution functions. Yet, as a curious Linux user, you might want to know the logic behind the code name of a release.

After all, the code name is an integral part of a release and the dev team puts an effort for that as well, isn’t it?

I am going to tell you about the logic behind the code naming of some of the most popular Linux distributions. Sit tight, this will be a fun ride! :)

Ubuntu Version Numbering and code-naming

ubuntu lts

One of the most popular Linux distributions, Ubuntu follows a biannual release cycle, with one release coming in April and the other in October.

There is an interesting story behind this naming convention. Mark Shuttleworth and Robert Collins were discussing the first version of Ubuntu:

lifeless: how long before we make a first release?
sabdfl: it would need to be punchy. six months max.
lifeless: six months! thats not a lot of time for polish.
sabdfl: so we’ll have to nickname it the warty warthog release.

In the above discussion, user lifeless is Robert Collins and sabdfl is Mark Shuttleworth. And, that's how the first-ever Ubuntu release name was finalized.

Furthermore, the first mailing list for the Ubuntu team was called “warthogs“, and the team used to hang out on #warthogs on irc.freenode.net.

But, before we move on to the naming scheme, how is the version number selected?

The month and year of the release play a vital role in the version number of an Ubuntu release. An Ubuntu release has a version number of the format XX.YY.

The XX is the year of the release and YY is the month of the release. 

For example, we got Ubuntu 16.04 in the 4th month (April) of the year 2016. Ubuntu 23.10 was released in the 10th month (October) of the year 2023.

So far, there has only been one exception to the Ubuntu releases in either April or October in the past 11 years. The release of Ubuntu 6.04 was delayed for two months and this is the reason it was Ubuntu 6.06, instead of the usual XX.04 or XX.10.

Now coming to the code naming of Ubuntu 👨‍💻

You may have noticed that every Ubuntu release has a two—worded code name that starts with the same letter. For example, Ubuntu 14.04 was called Trusty Tahr (starting with T).

💡
Ubuntu code names are indeed made of two words, the first being an adjective and the second being an animal that includes endangered species or mythological creatures like a werewolf.

In the previous example, Trusty is an adjective meaning some who could be trusted while Tahr is an animal with some of their subspecies considered to be endangered.

Another interesting fact is that these code names are incremented alphabetically in each release (except a few initial releases). So, we have Ubuntu 20.04 as Focal Fossa, Ubuntu 20.10 as Groovy Gorilla, Ubuntu 21.04 as Hirsute Hippo and so on.

I presume that now you have a pretty good understanding of Ubuntu version numbering and codenames. If I have to summarize all the releases, they go like:

Version Codename
4.10 Warty Warthog
5.04 Hoary Hedgehog
5.10 Breezy Badger
6.06 LTS Dapper Drake
6.10 Edgy Eft
7.04 Feisty Fawn
7.10 Gutsy Gibbon
8.04 LTS Hardy Heron
8.10 Intrepid Ibex
9.04 Jaunty Jackalope
9.10 Karmic Koala
10.04 LTS Lucid Lynx
10.10 Maverick Meerkat
11.04 Natty Narwhal
11.10 Oneiric Ocelot
12.04 LTS Precise Pangolin
12.10 Quantal Quetzal
13.04 Raring Ringtail
13.10 Saucy Salamander
14.04 LTS Trusty Tahr
14.10 Utopic Unicorn
15.04 Vivid Vervet
15.10 Willy Werewolf
16.04 LTS Xenial Xerus
16.10 Yakkety Yak
17.04 Zesty Zapus
17.10 Artful Aardvark
18.04 LTS Bionic Beaver
18.10 Cosmic Cuttlefish
19.04 Disco Dingo
19.10 Eoan Ermine
20.04 LTS Focal Fossa
20.10 Groovy Gorilla
21.04 Hirsute Hippo
21.10 Impish Indri
22.04 LTS Jammy Jellyfish
22.10 Kinetic Kudu
23.04 Lunar Lobster
23.10 Mantic Minotaur
24.04 LTS Noble Numbat

You will get to know a lot of animal specifies you never knew with the help of these codename. Pretty cool, right?

Linux Mint version numbering and codenaming

linux mint

The distant cousin of Ubuntu (if I may call it that), Linux Mint is another popular Linux distribution.

Some believe that Linux Mint does a few things better than Ubuntu.

Now, let’s dig into the version numbering and code-naming of Linux Mint.

Linux Mint is based on Ubuntu. So, a couple of months after an Ubuntu release, a Linux Mint releases comes up based on that Ubuntu release.

Unlike Ubuntu, Linux Mint versioning doesn’t follow the month and year. It is simply incremental. So, we have Linux Mint 15, then Linux Mint 16, Linux Mint 17 and so on. This is for major releases. The minor releases are incremented in decimal points. Therefore, that gives us Linux Mint 17.1, 17.2 etc.

Now, let’s talk about the code names. Each of the Linux Mint releases, be it minor or major, has a code name. And like Ubuntu, they too are in an incremental alphabetical order.

One more interesting thing about Linux Mint code names is that these are female names ending with the alphabet ‘a’ and the names may have origin in the mythology of Abrahamic religion.

In general, just feminine code names. That gives us names like Linux Mint 17 Qiana etc.

The major releases increment the alphabetical order of the codename while the minor ones carry the same starting alphabets but change the name. For example, Linux Mint 17.1 is Rebecca, 17.2 is Rafaela and 17.3 is Rosa.

To summarize all the Linux Mint releases so far, here is a table:

Version Codename
Linux Mint 1 Ada
Linux Mint 2 Barbara
Linux Mint 2.1 Bea
Linux Mint 2.2 Bianca
Linux Mint 3 Cassandra
Linux Mint 3.1 Celena
Linux Mint 4 Daryana
Linux Mint 5 Elyssa
Linux Mint 6 Felicia
Linux Mint 7 Gloria
Linux Mint 8 Helena
Linux Mint 9 Isadora
Linux Mint 10 Julia
Linux Mint 11 Katya
Linux Mint 12 Lisa
Linux Mint 13 Maya
Linux Mint 14 Nadia
Linux Mint 15 Olivia
Linux Mint 16 Petra
Linux Mint 17 Qiana
Linux Mint 17.1 Rebecca
Linux Mint 17.2 Rafaela
Linux Mint 17.3 Rossa
Linux Mint 18 Sarah
Linux Mint 18.1 Serena
Linux Mint 18.2 Sonya
Linux Mint 18.3 Sylvia
Linux Mint 19 Tara
Linux Mint 19.1 Tessa
Linux Mint 19.2 Tina
Linux Mint 19.3 Tricia
Linux Mint 20 Ulyana
Linux Mint 20.1 Ulyssa
Linux Mint 20.2 Uma
Linux Mint 20.3 Una
Linux Mint 21 Vanessa
Linux Mint 21.1 Vera
Linux Mint 21.2 Victoria

Sarah is the only exception in the list that doesn’t end with an ‘a’.

elementary OS version and codenaming

elementary os

Since we are talking about Ubuntu and Linux Mint, let’s extend this family and include elementary OS (also based on Ubuntu) in the discussion.

elementary OS has version numbers that match the incremental pattern, like 0.X. So, the first stable release of elementary OS was 0.1 and then came 0.2 and the current stable version is elementary OS 0.3.

From its fifth release, they bumped up the version to 5 directly to represent a more complete product as per their vision.

As far as the code name is concerned, elementary OS prefers a mythological god’s or goddess’ name. Usually, these names are taken from Roman/Nordic mythology. This gives us code names like Jupiter, Luna, Freya (earlier ISIS) and Loki.

For some point releases, the code name changes and for some, it retains the same code name as its last major release. This could be an intentional thing to reflect if the update is a very significant.

There are no alphabetical constraints here.

Version Codename
elementary OS 0.1 Jupiter
elementary OS 0.2 Luna
elementary OS 0.3, 0.3.1, 0.3.2 Freya
elementary OS 0.4, 0.4.1 Loki
elementary OS 5.0 Juno
elementary OS 5.1 Hera
elementary OS 6.0 Odin
elementary OS 6.1 Jólnir
elementary OS 7.0, 7.1 Horus

Debian version and codenaming

debian

Let’s switch to the granddaddy of Ubuntu, Linux Mint and elementary OS. 

Debian, of which Ubuntu has been derived, and has a very curious naming system. In fact, Debian itself was named after its founder Ian and his girlfriend Debra. Debian founder Ian Murdock died mysteriously in 2015  but his name has been immortalized on Debian.

Debian version numbers are incremental. That’s not the interesting part. The interesting fact is that all Debian releases are code-named after the characters of the Toy Story movie. That explains why you have Debian Jessie or Debian Woody.

Here is a table for a quick glance at all the Debian releases and their code names:

Version Codename Toy Story Character
1.1 Buzz Buzz Lightyear
1.2 Rex Rex (the T-Rex)
1.3 Bo Bo Peep
2 Hamm Hamm (the pig)
2.1 Slink Slinky Dog
2.2 Potato Mr Potato Head
3 Woody Woody the cowboy
3.1 Sarge Sarge from the Bucket O' Soldiers
4 Etch Etch, the Etch-A-Sketch
5 Lenny Lenny, the binoculars
6 Squeeze Squeeze toy aliens
7 Wheezy Wheezy the penguin
8 Jessie Jessie the cowgirl
9 Stretch Rubber Octopus from Toy Story 3
10 Buster Andy's pet dog
11 Bullseye Jessie's horse
12 Bookworm A green worm with glasses and a flashlight
13 (upcoming) Trixie Bonnie's blue Triceratops (the dinosaur)

And if you have watched the first Toy Story movie, you might remember the villain of the movie, Sid. This neighborhood kid is a destroyer of toys. This is why all Debian unstable releases are code-named Debian Sid.

I think there are plenty of characters in the Toy Story movie series, so we should not run out of codenames for future Debian releases :)

OpenSUSE version and codenaming

opensuse

The first OpenSUSE release in 2005 was OpenSUSE 10.1. It is unclear to me why it started with 10 and not 1. But ever since, the major release increases the version number before the decimal, while the minor releases increase the version number after decimal points. This gives us version numbers like OpenSUSE 11.3, 11.4, 12.1, 12.2 etc.

Initial releases of OpenSUSE did not have a codename. It was with the release of OpenSUSE 11.2 that we started seeing a codename.

Needless to say that OpenSUSE has a green aura to it. This greenish touch is extended to the codenames as well. OpenSUSE codenames are actually a shade of the color green. That explains the codenames like EmeraldTeal etc. for OpenSUSE.

Version Codename
10 Prague
10.1 Aagama Lizard
10.2 Basilisk Lizard
11.2 Emerald
11.3 Teal
11.4 Celadon
12.1 Asparagus
12.2 Mantis
13.1 Bottle
13.2 Harlequin
42.1 Malachite

Don’t worry if you haven’t heard of these shades of green before.

After OpenSUSE started Leap 42.X series releases, we do not have codenames anymore.

Your take?

What’s your take on codenames? Do you think it is easier to remember a release with the codename than a version number?

Do you think codenames are needed at all? Which Linux distribution’s codename pattern you like the most? Feel free to express your views in the comment box below.

About the author
Abhishek Prakash

Abhishek Prakash

Created It's FOSS 11 years ago to share my Linux adventures. Have a Master's degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie detective mysteries 🕵️‍♂️

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

It's FOSS

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.