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
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).
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
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
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
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
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 Emerald, Teal 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.