Inkscape, the professional vector graphics editor, It took 16 years for version 1.0 to be announced. Meanwhile, Mozilla announced the arrival of Firefox 100.0 this week, a very round number but also makes us wonder what’s going on in the world of version numbers.
What happens is that there are basically all kinds of criteria that developers use to check their versions. There’s a little bit of everything here: The pursuit of logical order is key, but the influence of marketing and even superstition in these systems is striking.
Some take a long time, others very little.
Inkscape is not an isolated case: it’s been 6 years since we migrated from GIMP 2.8 to GIMP 2.10 and Gparted, a well-known Open Source partitioning application. also it took almost 15 years To release version 1.0.
These very long cycles of arriving at specific version numbers contrast with the speed with which new versions of browsers such as Chrome or Firefox currently appear with version 101.x (Chrome) and version 100.0 (Firefox) mentioned above.
The InkScape 1.0 “splash screen” has become a celebration, with many artists wanting to contribute their own creations.Source: InkScape.
These differences make it difficult to appreciate how relevant is it really that an application has reached version 1.0 or version 100. In the case of Chrome or Firefox, these versions have had “one more”, but when an application reaches the final and stable version 1.0, which is often considered the first, the situation is usually special. it is really designed for mass use and distribution.
There were changes and improvements, of course, but despite the “roundness” of these numbers, they were not particularly distinct editions. When it comes to Firefox, for example, one of the most important releases in its history was Firefox 57, popularly known as Firefox Quantum, which included significant changes both internally and externally. The number didn’t seem that important, but it really was.
marketing issues
Version 1.0 is usually very important, But that doesn’t mean they’re perfect.. Over time, you may revisit these versions and realize that while they may seem deserving of a lower version number in many ways, they may be “acceptable” in perspective. Windows 1.0 was terrible, but at least it was something and above all it answered a clear need: to release something that at least seemed stable and final. Marketing was a core part of this launch.
The legendary announcement of Firefox 1.0 in The New York Times was a milestone for a browser that wanted to stand up to the omnipotent Internet Explorer.
This is far from the only case where the impact of marketing is obvious. Let’s go back to the Firefox example: Firefox 1.0 came out in November 2004 – the old rocker would even post a double-page ad in The New York Times (PDF here) to commemorate this milestone – and it would take us almost seven years. To switch to Firefox 4.0. From there, Mozilla decided that the enumeration and development cycle wasn’t working, and so-called “rapid development cycle“Every 6 weeks with stable releases.
One of the main reasons – if not the main reason – was that Google Chrome started launching new versions at full speed, even if the improvements between them were logically minor. It wasn’t versions with very round numbers and big changes that mattered: it was about showing that the software didn’t stop changing and improving.
Semantic versioning is the preferred system
If there is one software version numbering scheme that has had success in recent years, it is “semantic versioning” (SemVer), a specification that makes use of three numbers separated by a period in the form Major.Minor.Patch:
To this schema, the development stage tag (2.1.1-beta) or build number (2.1.1.1024). This type of versioning system is functional and allows you to quickly determine how “relevant” one version is when comparing it to another.
So going from version 1.1.10 to version 1.1.11 probably won’t matter, but moving to version 1.2.0 or even version 2.0.0 usually means there are important new features in these more extensive versions. From there, some developers can reconcile these version numbers with more descriptive names that also allow determining “how final” a newly released version is. They are usually used:
- Alpha: early stage of development, very unstable, software state not recommended for end users
- Beta: development progresses, these versions are already suitable for testing most functions without too much trouble.
- Release Candidate (RC): the version that will be the final version, excluding last-minute changes.
This is my software and I number it the way I want
This semantic versioning system is one of the most common, but certainly not the only one. They can change things like borders of selected numbers (e.g. not exceeding 9 to avoid versions like 1.5.45) or separators (slashes or hyphens instead of dots or a combination of these). ).
There are systems that use some kind of information about the launch date. Not necessarily the day, month, and year, but the current release year is often used: tell FIFA or Microsoft Office what has come up over the years.
Some people make use of very specific date systems: distribution Ubuntu Linux uses a “year.month” program in reality the month only changes between the two – they start on April “04” or October “10” and what changes is the year. So, we found out that the latest version is Ubuntu 22.04 and the previous one is Ubuntu 21.10.
By the way, the issue with Ubuntu does not end there: each new version does not just have its own numbering, but a pretty curious name with two words and two rules: 1) the initials are the same and follow alphabetical order in each version, and 2) are in the form of “qualifier + animal”. At Canonical, the company that created Ubuntu, they also use adjectives and weird animals: Ubuntu 21.10 was “Impish Indri” (“naughty indri”) and Ubuntu 22.04 was “Jammy Jellyfish” (“lucky jellyfish”).
Microsoft itself is quite peculiar with OS names, be careful, you need to distinguish versions. We have a good example that changes its schema in Windows. From versions 1.0, 2.0, 3.0 (and 3.1, which had a big launch event in Japan), they continued to release versions (Windows 95, Windows 98 or Windows 2000) with the year a little later.
They later changed to the following names: they didn’t follow a particular series (Windows XP, Windows Me, Windows Vista) and interspersed them with the current numerical sequence: Windows 7, Windows 8/8.1, nothing from Windows 9, Windows 10 and finally Windows 11.
As we said, the names are deceiving because Microsoft has followed a more or less consistent order of releases. Despite this, for example, the name of the operating system is Windows 11, but the version is still Windows 10.0.x, perhaps because after all Windows 11 is mostly Windows 10 sheet metal and paint.
Apple also gets confused with the names and versions of operating systems for their computers. We moved from classic Mac OS to Mac OS X, then OS X, and finally, current macOS. Apple also used sequential version numbers and an additional name. For many years this name was a cat, then in the United States it ceased to be geographical locations.
So, we went from Mac OS X 10.0 Cheetah to, for example, Mac OS 10.6 Snow Leopard, OS X 10.9 Mavericks, or the current macOS 12 Monterey with the previous macOS 11 Big Sur (which came with the M1). it has now forgotten the “10.x” prefix and switched to a unique sequence number.
And while we’re talking about weird version number stories, it’s almost impossible not to talk about the kernel or the Linux kernel, which for several years maintained a very particular order. Version numbers partially followed semantic versioning, but they did so with two branches. “Stable” nuclei had an even minor number, while “developing” nuclei had a single minor number.
In this way, it can be said that 2.3 kernels are from the development branch and 2.4s are stable kernel releases where these 2.3 kernels have “matured”. This system was abandoned with the release of 2.6 kernels in 2004 and has since followed a rapid development cycle with successive releases with a new kernel every few weeks. As kernel.org explains, when deciding to move on to the next higher number, this is simply done “when the number after the dot starts to look ‘too big’. No other reason.”
There’s also a certain superstition in all this weird little chaos. Microsoft Office 2007 had version 12 internal. When Microsoft released the next version in 2010, they named it Microsoft Office 2010 after that year, but the internal version number was 14, so avoid number 13 It’s bad luck for many.
The Symbian platform also avoided using the number 4 (welcome to tetraphobia, avoiding the number four) “as a courtesy to Asian customers” in its publications. OnePlus also avoided this and switched directly from the OnePlus 3 to the OnePlus 5.
All this indicates that the versions of the applications and products we use are in the distant future. Will Firefox be 1245.0? Is it Windows 106? Is it FIFA 381? Who knows.
Image: Firefox