That is something that pisses me off immensely. If you see version 2024.2 you can immediately recognize it is a date, but 24.2 might be a date, might be a numerical version number, who knows.
Ubuntu is the first place I encountered this convention. You might think that Ubuntu 22.04 and 22.10 are closely related because the vast majority of software uses something that loosely resembles semver, but no, they're two different major releases. Very confusing.
Your comment made me look at the history of both Ubuntu and Semver. It looks like the earliest specification of Semver dates to 2011, while the first release of Ubuntu was in 2004. I remember being confused about how to version code until I encountered semver (Ubuntu scheme was the one I used for a short while). It's possible that Canonical was faced with a similar choice and decided to make one up. While schemes like semver did exist before it, they were not so ubiquitous and didn't have a well-defined meaning like semver does.
Major.Minor.Patchlevel was used in the 1980s by the vast majority of Open Source or Free projects. This was a couple of decades old when Ubuntu was first released. The limit between major and minor is blurry, but we did not have to wait for a bunch of people to write a manifesto to use sensible versioning schemes.
> but we did not have to wait for a bunch of people to write a manifesto to use sensible versioning schemes.
That's such a cynical take. The 'manifesto' or the standard is important for two reasons:
1. The scheme wasn't obvious to inexperienced developers. You had to learn it from someone else. Semver standard made it possible for absolute beginners to search and follow the conventions correctly up front.
2. There are a lot of tools that use, support of enforce semver - especially language package managers like cargo, pip and npm. That ecosystem wouldn't exist without the unification provided by the standard.
> That's such a cynical take. The 'manifesto' or the standard is important for two reasons:
I don’t object to the RFC at all. I don’t like it for several reasons, but it has a purpose and it is useful to other people. The points you mention are right. I would just add the caveat that I haven’t seen any real improvement in versioning schemes. Most projects, which were already close, follow it and a bunch of high-profile ones don’t at all, exactly like before.
What irks me a little is the idea that it’s normal for Ubuntu to do its thing because we did not have the concepts behind semver (“I remember being confused about how to version code until I encountered semver (Ubuntu scheme was the one I used for a short while). It's possible that Canonical was faced with a similar choice and decided to make one up”), but please let me know if I misunderstood.
Ubuntu’s scheme was clever and justified, but not because the alternative was mysterious. It was great to new versions being released at a specific point in time rather than when new features or breaking changes were ready. It was also quirky at the time, along with their animal codenames, and it helped them being seen as a new, modern distribution. But GCC, as an example of very high profile free software, has been more or less following semantic versioning principles since the 1980s. And as a teenager learning to code and immersed in the Open Source culture in the late 1990s, I can say that we knew perfectly well what was basically semver without the legalese.
This appears to be a misinterpretation. GP did not say or suggest that any standard or manifesto is pointless, only that it was possible to use good versioning systems prior to their creation.
Fair. But, at least later on, that wasn't universal. There's x.odd for development releases, and x.even for proper releases. GNOME and Linux used to do this.
Also it feels like a lot of projects used to use 0.x numbers, even when they were widely used and stable!
Was going to comment that sem versioning is much older than that, e.g., if I remember correctly version 6 and 7 (early 90s) used semver. Turns out that oracle also switched to year based versioning, thought it was still semver: https://docs.oracle.com/en/database/oracle/oracle-database/1...
I started coding before semver was defined. There was no official name (so nothing to search with) and people had a vague idea about how to do it. That ambiguity meant that everyone did it differently and sometimes completely wrongly. The single name 'semver' and the document attached to it was a silent revolution. So many tools we take for granted (like cargo) are designed around it.
Sort of. For a desktop application, you are right, but for a server application like NextCloud or Jellyfin, semver or something similar can be really nice.
If I'm running ServerTool 2.2.0, and 2.2.1 is available, I immediately know that is a bugfix release and should be minimal to roll out (shouldn't have any breaking changes, data schema changes, etc).
If ServerTool 2.4.0 comes out, that means I probably need to look at the changelog to see if there are any special upgrade instructions or gotchas, however, it is probably pretty safe, and shouldn't have huge changes for users. I wouldn't expect any extensions or integrations to break either.
But if ServerTool 3.0.0 comes out, I definitely am going to test out in in a test instance and validate the upgrade. Any extensions I have probably also need to be upgraded to support the new version, so I may have to wait to deploy it. It probably also has UI/UX changes that affect my users, so there may be training that needs to happen.
Again, it really depends on the tool on what versioning system they should use.
Because writing Windows 11 2022 like any sane man would be far too unreasonable.
No, the H2 doesn't mean anything anymore. Once upon a time it stood for "Half", with H1 standing for "First Half" and H2 for "Second Half" of whatever year in two digits.
Of course, I still find this nonsense far more preferable to the bullshit that is the Chrome Version System where the entire number means jack shit.
Using a datecode shows immediately how old a given release is, which is useful information. I don't know how old Chrome 101 or Firefox 89 is; I know how old Windows 11 22H2 or LibreOffice 24.2 is.
Using a traditional Major.Minor.Revision.Build version number shows how much of the codebase is common between different versions. I can expect something made for one Major version to work in any other same Major version release, I can expect only a Revision or Build increment to include only very minor changes; likewise I can expect breaking changes between different Major versions. I don't know what Chrome 101 is other than it's after Chrome 100; I know NT6.0, 6.1, 6.2, and 6.3 are largely interchangable.
For an end user product like Chrome or Firefox, the version number does not matter as much, it's really only useful for developers who might depend on specific versions.
This time and age I don’t believe anyone really depends on specific version of browser.
You could pull that maybe for a month. Longer than that and your customers will drag you through hot coals that you fix your stuff and move forward because you block security updates they need to install.
Unless of course you have it somewhere deep in company and it is IE8 app that no one can update.
But if you do anything public or SaaS platform you probably just fix stuff to support new versions or you are out of the game.
MS start using H1/H2 for version since 20H2. An assumption is that "2009" is confusing or causes compatibility issue with older Windows release (Embedded 2009).
and then completely disregarding that version number that is shown easily to you, and making you remember which animal adjective matches to it when you want to download any file.
I like libreoffice for what it has represented since the days of StarOffice. BUT...
A couple of months ago my dad and I had to edit a large-ish book of 250+ pages (recipes) with a Table of contents and whatnot.
We ended up using Google docs because LO TOC and headers sync and editing Functionality was lacking.
I remember in MS Office 2000 there was a view showing only headers and easily allowing you to correct levels and indentations, as well as moving full sections.
Also we needed to automate a bit some image formatting and G docs scripting was just more straightforward.
And finally, the seamless online collaboration made it a no brainer, instead of document sharing and changes tracking.
It's a shame LO has achieved a lot and is amazing we can have such functionality for free. The team has done an amazing. I was just bummed something like GDocs seemed more complete for my book use case (particularly bc editing a 250+pages book in the browser is PAINFUL)
Interesting, as I have had the opposite experience. There are lots of documents that I have to work with -- most created originally in Word 2007, I think -- with very intense formatting, forms, embedded charts and other crap, and Google Docs makes a total hash out of them.
LibreOffice, OTOH, pretty much looks just like they did on the original.
The one issue I've run into is font substitution. The fonts that LibreOffice uses by default if the actual Microsoft fonts aren't installed are not, at least IMO, very good substitutes. They don't look great to me, but worse they seem to be very different in terms of character/word width, so everything gets reflowed to hell and back. But assuming you install the actual MS fonts, the results seem quite good.
YMMV - I just cursed LibreOffice a few minutes ago while trying to open and fill in a form (amateurishly) built in Word. When loading it, it obviously didn't look as it was intended (text boxes were overlapping and partly obscuring each other), but it was more or less Ok. But after filling it in, it wasn't able to print it - the print preview only showed an empty box! I then proceeded to upload it to Google Docs, which also didn't show it as intended, but at least managed to print it.
Yeah, I already politely suggested to the people who sent me that document to use PDF instead (just in case they were wondering why the document they received back looked different from the one they sent). Nevertheless, LibreOffice claims to support this document format, so users will complain if the support is not up to scratch...
Yes, the overlapping boxes might be because of a missing font, but for me the kicker was that the document looked completely different (with most of the text missing) in the print preview - not to mention that it was spread over two pages, although it fit on a single page while being edited.