On the subject of Ubuntu Touch versioning scheme
-
@peat_psuwit said in On the subject of Ubuntu Touch versioning scheme:
This 20.04 OTA-x, 24.04 OTA-x, etc. version scheme makes it clear which version of Ubuntu we're based on. However, this will make it harder for us to introduce larger, system-wide changes which takes time to develop and require more comprehensive testing. It also make it harder to offer hotfixes in between OTA releases when changes in the pipeline might not be ready for shipment yet.
Could you please elaborate why this type of version scheme makes it harder to introduce larger changes? We could always have OTA-x.y if needed for smaller changes in-between (and in practice already done so when specific issues/devices needed hotfixes), but I wonder what is the issue for larger ones?
Otherwise, I don't have a strong opinion on this. Keeping the current versioning scheme or doing Ubuntu Touch 24.0.x.y both seem fine to me.
To a developer, being able to recognize the Ubuntu base from the version feels beneficial, but I can also see why complete decoupling was considered before, especially when we were lagging behind too much, like with 16.04 or now with 20.04)
-
I would go with option 2 and use 2404 and that way somewhat keep the versioning scheme from Canonical.
-
as a user, I dont care about version that much,
but as a advanced user, second Option seems to be best, since i know what is current LTS Ubuntu and therefore I want to have its latest version on mine phone -
I would like to propose option 2 but keeping the "." between year and month
so if the next version is released in may 2025 it would be called 25.05.0
this has all the benefits of opton 2, feature releases and bugfix releases included while not distancing ourselves from the broader ubuntu community any more than we already have (identity wise)
i think we can work around the confusion with the Ubuntu version we're based on by utilizing code names in the release announcement similar to upstream ubuntu
e.g. Ubuntu 24.04 Noble Numbat vs Ubuntu Touch 25.03.0 Marvelous Moon
the benefit of the scheme is that is easy to see when the version was released while keeping a distinction clear between feature and bug-fix release. keeps the version short and memorable while
paying homage to the broader community -
@peat_psuwit Options 1 or 3 are equally good
-
Option 3 seems to be the best option to me but perhaps tweak it a bit to avoid confusion with Ubuntu's point releases. We can even put the whole Ubuntu version with point release and add our own version at the end? A bit too long but would be clear and less confusion.
-
@TheKit said in On the subject of Ubuntu Touch versioning scheme:
Could you please elaborate why this type of version scheme makes it harder to introduce larger changes? We could always have OTA-x.y if needed for smaller changes in-between (and in practice already done so when specific issues/devices needed hotfixes), but I wonder what is the issue for larger ones?
A special consideration is needed in order to isolate changes in-pipeline from hotfixes. For example, suppose we've landed multi-component code which improves Wayland application support but require some more testing (the larger change). But then there's a severe vulnerability in QtWebEngine which we have to patch as soon as possible. The original 20.04 OTA-x scheme doesn't have a way to do that; we would have to wait until the change is tested before we can release the next OTA.
One way to alleviate that is to take a procedure from Canonical days and take an Apt snapshot at the OTA release time (nowadays trivially doable using Aptly), then binary-copy the QWE package from the current devel archive to the snapshot archive and build an rootfs image from that.
Or am I understanding your question wrong?
@Fuseteam said in On the subject of Ubuntu Touch versioning scheme:
I would like to propose option 2 but keeping the "." between year and month
so if the next version is released in may 2025 it would be called 25.05.0
[...]
i think we can work around the confusion with the Ubuntu version we're based on by utilizing code names in the release announcement similar to upstream ubuntu
e.g. Ubuntu 24.04 Noble Numbat vs Ubuntu Touch 25.03.0 Marvelous Moon
I'm not sure that could really workaround the confusion though. For example, suppose we have a release in April 2026 then the version number would be e.g. Ubuntu Touch 26.04.0 Callisto [1]. But then we're likely not quite ready to base our system on Ubuntu 26.04 I think that unless we carry our codename everywhere (impractical, IMHO), I think confusions will ensue.
[1]: someone suggested using moons in solar system as a codename in the UBports development channel.
-
In the Board of Trustees meeting on 4th February, I've brought the release version numbering up as a discussion topic. The attendees considered the comments on this post and have agreed that it's important to still reference Ubuntu version in our versioning scheme, while it would be beneficial development-wise to have a major-minor release system in place.
As such, we've come up with a versioning scheme of "Ubuntu Touch [Ubuntu version]-[release version]" (a variant of option 3). For example, the next version of Ubuntu Touch would be referred to as "Ubuntu Touch 24.04-1.0".
We believe this versioning scheme is both understandable and practical.
-
I realize this was already decided but I still think it is important to address. I think the selected scheme will cause marketing issues for the project. 24.04-1.0 means the first 60% of the version number will give a lot of confusing messaging. The following are just things I thought of immediately so there could be other potential issues.
- it suggests to users that changes happen rarely
- suggests updates are minor because the first 60% doesn't change most of the time
- for those who know the numbers mean year.month could suggest that they found an older version.
All of the flavours and remixes that keep up with Ubuntu releases make sense to use the standard Ubuntu scheme but since Ubuntu Touch is more of a remix based on LTS it would be better to have a separate scheme. Linux Mint, Zorin OS, and others have a different style based on the amount of versions they have made overall with the second number indicating the amount of releases during the LTS period. Linux Mint 22.1 is the second release of 22.x but first follow up release. Zorin does a very similar thing.
I think Ubuntu Touch would be served better by an independent scheme because most people dont care which LTS a distro is based on as long as it works but version numbers are a form of marketing opportunity so they cant be ignored just because most people dont care. If Linux Mint or Zorin OS released with the same version scheme of 24.04 (or with these additional numbers) that Ubuntu uses anywhere between 6 months to 1 year after Ubuntu it would look old.
Zorin OS is not seen as old when they released their latest version of 17.2 and yet Zorin OS 17.2 is based on Ubuntu 22.04.
I recommend one of the following:
- 31.x
- 31 = major number based on the LTS, only updates every LTS upgrade
- .x = overall releases of that branch
- so OTA-6 would be 31.6
- 25.6
- 25 = year it was released in
- .6 = month it was released in
- 25.6.2 would be the normal scheme with maintenance fixes
- 30
- 30 = major releases regardless of the LTS saying that 30 and 31 and so on could all be based on the same LTS.
- 30.1 = true minor releases similar to GNOME style
I personally prefer #1 but #2 & #3 would also be good I think. Just my two cents.
-
@peat_psuwit said in On the subject of Ubuntu Touch versioning scheme:
In the Board of Trustees meeting on 4th February, I've brought the release version numbering up as a discussion topic. The attendees considered the comments on this post and have agreed that it's important to still reference Ubuntu version in our versioning scheme, while it would be beneficial development-wise to have a major-minor release system in place.
As such, we've come up with a versioning scheme of "Ubuntu Touch [Ubuntu version]-[release version]" (a variant of option 3). For example, the next version of Ubuntu Touch would be referred to as "Ubuntu Touch 24.04-1.0".
We believe this versioning scheme is both understandable and practical.
I know I'm too late to the party; but if you're already staying this close to the current naming scheme why not go all the way to 24.04 OTA-1.0? Everyone is familiar with that naming convention already, and introducing a minor version number is "backwards" compatible by calling every previous OTA-x.0 if needed. And soon when UT reaches version parity with ubuntu 24.04 the colloquial OTA-x(.y) will be back in action offering an easy shortcut to identify the current release.
Aka I'm getting old and grumpy, but I really can't stand the relentless reshuffling of naming schemes that usually offer no improvement and just increase the mental load on trying to figure out wtf is going on again