|
|
Subscribe / Log in / New account

The great leap backward

By Jonathan Corbet
April 26, 2017
Sayre's law states: "In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake". In that context, it is perhaps easy to understand why the discussion around the version number for the next major openSUSE Leap release has gone on for hundreds of sometimes vitriolic messages. While this change is controversial, the openSUSE board hopes that it will lead to more rational versioning in the long term — but the world has a way of interfering with such plans.

OpenSUSE Leap is an interesting hybrid distribution; its core packages come from the slow-and-stable SUSE Linux Enterprise (SLE) release, but those packages are replaced or supplemented by much newer software where desired. The current (and only) openSUSE Leap release was originally based on SLE 12 and openSUSE 13.1. The project had an immediate problem in that it needed to come up with a version number for this new distribution; in the end, it did what any of us would have done and chose 42. The current release is openSUSE Leap 42.2.

Eventually even an enterprise distribution gets around to a new major release; that is expected to happen with SLE sometime in 2018. A new SLE release will have a new version number, of course. The working expectation on the openSUSE side was that the next SLE would be SLE 13, and that openSUSE leap would, continuing with the SLE+30 formula, release openSUSE Leap 43 based on that release.

But, as openSUSE board chair Richard Brown recently noted, plans can change. In its wisdom, SUSE management decided that the next SLE release would not be SLE 13; it seems that SLE 15 has greater market appeal. The reasons behind the decision have not escaped the smoke-filled room in which it was made, but it has been speculated that the purpose was to avoid the number 13, which is seen as being unlucky in many parts. Similarly, 14 contains a 4, an ill-starred number in parts of Asia, so it was out of the running. 15, being a triangular, hexagonal, and pentatope number (among other things), was the obvious choice.

Parents in the US, who often acquire much gray hair at the prospect of their children getting driving permits at the age of 15, may well not consider that number to be especially auspicious either. It seems that Europe-based SUSE is less concerned about that particular fear, unreasonable as that may seem.

Naturally, using 43 as the version number for the next openSUSE Leap release is now entirely out of the question; there is no point in even talking about it. So the openSUSE board retired to its rather smaller smoke-filled room to find a solution to this existential problem. The triumphant result was then announced by Brown: openSUSE Leap 42.x would be followed by openSUSE Leap 15. That is when the mailing lists erupted with complaints about this decision; it seems that the inherent rightness of 15 isn't entirely obvious to the community as a whole.

There were complaints that this decision was made in private, without the prior involvement of the community. As anybody who has watched our community for any time knows, had the version-number question been posed to the mailing list as a whole, the result would have certainly been a much more polite conversation converging on an obvious consensus that all participants would then support wholeheartedly. It always works that way, after all, why should this time be any different?

Unsurprisingly, some community members are horrified by the idea of a software release having a lower version number than its predecessor; they think that both humans and scripts might become confused in a world where the first derivative of version numbers is not always positive. But they fail to appreciate the full mathematical complexity of openSUSE version numbers, of which the headline number (15 in this case) is only the most visible. Consider, for example, the suse_version number found within the spec files used to build openSUSE packages.

The old openSUSE 13.1 release sets suse_version to 1310, while the slightly less old 13.2 release (from 2014) has 1320. The much newer OpenSUSE Leap 42 release, having branched off before openSUSE 13.2, uses 1315 for suse_version — another example of what we might call, in this day and age, "alternative incrementing". OpenSUSE Leap 15 is expected to use 1500, restoring order to that part of the universe, but at the cost of creating potential confusion elsewhere. The leading-edge Tumbleweed release, which should have the highest version number, will not be content to remain at its current 1330; Brown worries that numerous scripts will "explode" when Tumbleweed inevitably leapfrogs Leap to something over 1500. Throw in sle_version (tied to the underlying SLE version) and leap_version (giving the precise Leap version — but only in 42.2) and one might argue that a backward step in the major version number is the least of the project's numbering issues.

That said, this decision has set up another existential crisis for the future: what happens when the SLE 42 release comes out and openSUSE Leap is faced with reusing a version number — a deed seen as being even more foul than going backward? Brown shrugged off this problem, saying that, at the current release rate, SLE 42 isn't due for over 100 years. There should, he implied, be time for plenty of other flame wars before that one needs to heat up.

Brown's math is neglecting an important fact, though: SLE just skipped over two numbers, and might well be expected to do the same thing again in the next century. After all, 16 is a power of two, and all those zeroes might make some potential customers nervous. It's also the atomic number of sulfur; best to just skip it. Italians see 17 as an exceptionally ill-starred number. 18 is voting age in much of the world, and nobody has had luck with voting recently, so that one should be avoided too. 19 is suspiciously prime, but might yet prove acceptable pending further research. And so on; SLE 42 may come far sooner than anybody expects.

Be that as it may, it would appear that minds are made up, and that calls to "kick the board" and continue with the existing versioning scheme, reasonable as they may be, will go unheeded. OpenSUSE may have leaped before it looked, but whether that happened now or back when "42" was chosen is unclear. The good news is that our community is resilient, and even openSUSE Leap's version-number decisions will fade into history to a well-earned place alongside events like the merging of devfs and the invention of JavaScript. The flames may be high but, once again, that's a reliable indication that the stakes are low.


to post comments

The great leap backward

Posted Apr 26, 2017 17:04 UTC (Wed) by MattJD (subscriber, #91390) [Link] (5 responses)

... I think +1 is the only response acceptable for this article? It made me smile.

The great leap backward

Posted Apr 26, 2017 23:03 UTC (Wed) by jkowing (subscriber, #5172) [Link]

No, no, it is clear that +40 is the only acceptable response!
Thanks Jonathan for a much needed hearty laugh!

The great leap backward

Posted Apr 27, 2017 3:02 UTC (Thu) by JdGordy (subscriber, #70103) [Link]

Indeed.

@Jon, how about just dumping the security page of the newsletter and do a lighthearted article every week? (I mean, for those who cringe at the security state of the world instead of laughing maniacally?)

Quality article

Posted Apr 27, 2017 3:59 UTC (Thu) by mcatanzaro (subscriber, #93033) [Link] (2 responses)

The article was good, but best part is that nobody seems to know why SUSE decided to skip 13 and 14. Incredible community management there.

Quality article

Posted Apr 27, 2017 8:51 UTC (Thu) by sysrich (subscriber, #103315) [Link] (1 responses)

Oh we have a reasonable understanding of why SUSE chose to do what they did, it just isn't relevant to the community or the discussion we needed to have about openSUSE's versions.

SUSE chose to skip 13 and 14 because of marketing/sales concerns with 13 being considered unlucky and any number including 4 being related to 'death' in eastern cultures.

Obviously, those concerns are something which the openSUSE Project does not share - we already had openSUSE 13.x, and the plan was to have 4x.y as our versioning for the next few decades with Leap.

But that's one of the joys of openSUSE being a very independent community from it's partner and sponsor in SUSE. SUSE made their decision about SUSE Linux Enterprise and figured the community was free to do whatever the heck we wanted.

We could have ignored SUSE's decision entirely, there was no suggestion from SUSE management or anything like that about changing anything.

But given the whole unique point of openSUSE Leap is that it is, by design, a community built derivative of SUSE Linux Enterprise, yeah, the Board and openSUSE's release team are somewhat fond of reflecting that closeness in version numbers. The community at large had expressed similar thoughts in the very, very, very long mailinglist thread we had a few years ago when we chose 42.x in the first place.

Heck, there was even suggestions back then that we should try to encorage SUSE to skip a SLE version or two so they could sync up, but we dismissed that idea as madness because we assumed SLE would NEVER skip a version ;)

And so SUSE's jump (leap?) from 12 to 15 gave us an opportunity to sync up the version numbers. We took it. It isn't going to be pain free, but it's going to be a lot less painful now than doing it in the future. If long mailinglist decisions are the worst fallout of this decision, I can live with that.

Going forward we have a much more sustainable, rational, and easy to maintain structure for Leap versions, which is a good thing, and SUSE and openSUSE can collectively screw up our version numbers of our regular release distributions together in the future, which isn't the worst risk in the world to have.

Quality article

Posted Apr 28, 2017 22:28 UTC (Fri) by rahvin (guest, #16953) [Link]

You left out the Islamic Calendar based on Lunar cycles independent of Solar cycles. Now that would be interesting as I don't think anyone outside the middle east would even be able to figure out how to convert the Islamic dates without some sort of calculator that did it for them. Anyway, this is the problem with any version number, everyone around the world has superstitions about different numbers "luck" and by the time you throw them all out you've got to jump around on numbering constantly.

For those that don't know: https://en.wikipedia.org/wiki/Islamic_calendar

The great leap backward

Posted Apr 26, 2017 17:45 UTC (Wed) by vbabka (subscriber, #91706) [Link]

The whole affair was created on purpose just so that this article could have been written. And it was more than worth it, pure gold!

The great leap backward

Posted Apr 26, 2017 17:53 UTC (Wed) by smoogen (subscriber, #97) [Link]

I have to say that I really should have learned after the third time of spewing tea through my nose while reading this.. to stop drinking tea while reading this. A tour de-force that I am sure will make every one see reason once and for all :).

The great leap backward

Posted Apr 26, 2017 17:54 UTC (Wed) by dskoll (subscriber, #1630) [Link] (3 responses)

I wonder whether Mozilla Firefox or Google Chrome will reach version 666 first?

The great leap backward

Posted Apr 26, 2017 19:23 UTC (Wed) by Beolach (guest, #77384) [Link] (2 responses)

Many years ago I was working tech support for MSN dial-up internet (I was young and I needed the money, okay?!?!), and for a while the ticket system was giving out 7-digit ticket numbers starting w/ 666. I had one call w/ a customer calling back w/ an existing ticket like that (666xxxx), who asked if they could get a new ticket number w/out the 666. By the time I got that call the ticket system had rolled over to 667xxxx, so I was able to give the caller a new number (w/ notes referencing the old one). But for the first couple of days the caller was calling in about their issue, any new ticket would have still started w/ 666. I thought it was somewhat amusing.

The great leap backward

Posted Apr 26, 2017 21:43 UTC (Wed) by excors (subscriber, #95769) [Link] (1 responses)

I wonder if many people complained to Demon Internet about how all their dial-up phone numbers ended with 666.

The great leap backward

Posted Apr 28, 2017 18:28 UTC (Fri) by nix (subscriber, #2304) [Link]

There were definitely people who were very offended about it being called Demon.

The great leap backward

Posted Apr 26, 2017 18:08 UTC (Wed) by flussence (guest, #85566) [Link]

Messing up prominent numbers seems a really effective way of getting free attention, for better or worse: it worked for Firefox, there was quite a lot of press when Windows skipped "9", recently some IoT kitchenware made the news for typoing an extra 0 on the price, and so on...

For comparison, when Fedora puts an apostrophe in a release name or Ubuntu comes up with the next absurd Adjective Animal title, it all falls quiet relatively quickly.

yyyymmdd.hhmmss

Posted Apr 26, 2017 18:20 UTC (Wed) by felixfix (subscriber, #242) [Link] (5 responses)

Whatever happened to the old practice of using dates for version numbers? I recall seeing some such things in the past, but offhand can't recollect any right now.

And if you have to intermingle stable and beta and alpha versions, well, you might as well compare Emacs and PostgreSQL version numbers to see which tastes better (oranges, but apples are easier to eat).

yyyymmdd.hhmmss

Posted Apr 26, 2017 21:39 UTC (Wed) by dgm (subscriber, #49227) [Link] (1 responses)

Wich calendar do you want to use? But, now that I think about it, using just one calendar is soo... poor. Let's make use of all of them! Fisrt release gets a Gregorian date, followed by a Chinese one, the Mayan, then the Ptolemaic, then maybe Zoroastrian.

To compliment it, let's add release code names that look like the same word, but in different scripts.

Hey, it's going to be lots of fun!

yyyymmdd.hhmmss

Posted Apr 26, 2017 22:29 UTC (Wed) by felixfix (subscriber, #242) [Link]

There are many variations. Try ddd.hhmmss, with ddd being days since initial release.

As for what calendar, that's easy -- the project owners decide. I already said versions are valid only for a specific project and it's meaningless to compare versions in different projects. This should be obvious, as should its corollary, that multiple versions for the same thing just make a mess for no gain.

If project owners want to use French revolutionary decimal time, or Star Trek time, more power to them.

If project owners want to use some bizarro negative time, or choose random numbers, again more power to them. But then won't make their would-be customers happy.

Knuth uses digits of pi and e, IIRC. Each version appends the next version.

Whatever floats your boat. If you want multiple versions based on different calendars, start your own project. But if you lead from too far out front, you may find you have no followers.

yyyymmdd.hhmmss

Posted Apr 26, 2017 22:58 UTC (Wed) by tnoo (subscriber, #20427) [Link]

>Whatever happened to the old practice of using dates for version numbers?

like, mmmh, 95, 98, 2000, ..., 7, 8, 8.1, 10?

yyyymmdd.hhmmss

Posted Apr 27, 2017 9:26 UTC (Thu) by sysrich (subscriber, #103315) [Link]

We do YYYYMMDD for Tumbleweed, openSUSE's rolling release. Because there it makes perfect sense to do date based versioning.

But in the case of Leap there is meaning behind the madness

Like in SLE, a major version is meant to be somewhat compatible through it's lifespan. That means several years where users can expect the operating systems behaviour to be mostly the same, no major architectural changes.

Minor updates of that major version (or Service Packs in SLE terminology) may introduce more than just new bug fixes. New features and versions are certainly possible and do happen with surprising frequency, but should never compromise the general premise than the major version is consistent throughout it's lifespan and major 'workflow breaking' changes should wait until the next major release.

In a situation like that, a major/minor model like we now have with Leap 15 (to be followed by 15.1, 15.2, etc, until Leap 16) is very useful, whereas date based systems would not be reflective of what people can expect in each version.

yyyymmdd.hhmmss

Posted Apr 27, 2017 11:06 UTC (Thu) by dmoreno (guest, #46333) [Link]

Or just YY.MM as ubuntu does.

The great leap backward

Posted Apr 26, 2017 19:25 UTC (Wed) by ballombe (subscriber, #9523) [Link] (1 responses)

What is funny is if Debian decided than the next stable release would be Debian 3.9 (as it should be!), then absolutely nothing would break (which according to Jon logic implies than the amount of discussion would be larger) because the Debian version is not used anywhere important.

The great leap backward

Posted Apr 27, 2017 13:34 UTC (Thu) by danielkza (subscriber, #66161) [Link]

I would bet you there are thousands of scripts of all kinds out there that rely on the Debian version number, even if they are not part of the distribution itself. One just has to browse the most popular configuration management modules for software such as Puppet, Chef and Ansible to find checks that use comparisons such as `distribution_version > 7` to determine if a Debian system should have a particular package available, or whether systemd or SysV init scripts should be installed.

The great leap backward

Posted Apr 26, 2017 22:01 UTC (Wed) by neilbrown (subscriber, #359) [Link] (2 responses)

It may well be 100 years until SLE-42 is expected, but I think there is an earlier concern that is much more significant for some of us. Somewhere between 2038 and SLE42 we can expect to see the release of Linux kernel v19.19. As it is clear that kernel developers cannot count beyond 19, I'm wonder if that might be the end of the line.

The great leap backward

Posted Apr 27, 2017 10:59 UTC (Thu) by MarcB (guest, #101804) [Link]

The sentence "Somewhere between 2038 and..." makes no sense to me.

I tried hard, but was not able to come up with a date after January, 19th 2038 in my head. Obviously, there is nothing after 2038.

The great leap backward

Posted May 4, 2017 13:59 UTC (Thu) by Wol (subscriber, #4433) [Link]

Kernel 1.3.100

Or was that so long ago the developers have forgotten how to count since then?

Mind you, according to the website I got that from, the latest kernel is 2.5.3 :-)

Cheers,
Wol

The great leap backward

Posted Apr 26, 2017 22:16 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

They should switch to Chinese numerals to avoid conflicts: OpenSUSE 四十三 (43).

The great leap backward

Posted May 10, 2017 14:03 UTC (Wed) by Darkstar (guest, #28767) [Link] (1 responses)

Oh boy... there's a cross in there. We can't have crosses now, can we? Think of all the Christians who might be offended by that

;-)

The great leap backward

Posted May 11, 2017 14:35 UTC (Thu) by sdalley (subscriber, #18550) [Link]

Not to mention the Muslims and the Atheists...

The great leap backward

Posted Apr 27, 2017 6:02 UTC (Thu) by eru (subscriber, #2753) [Link] (1 responses)

Unsurprisingly, some community members are horrified by the idea of a software release having a lower version number than its predecessor

Indeed, having version numbers increment really is the other important piece of information they convey, the other being uniqueness. Otherwise they could proceed according to the Fibonacci series, or be based on Julian day numbers, or whatever.

The great leap backward

Posted Apr 27, 2017 9:48 UTC (Thu) by zenaan (guest, #3778) [Link]

Oh, come on! Seriously, what's wrong with completely random major version numbers anyway? (Or minor version numbers for that matter..)

The great leap backward

Posted Apr 27, 2017 6:22 UTC (Thu) by _xhr_ (guest, #92665) [Link]

Great article. I like it when our beloved editor writes a not-so-serious article!

The great leap backward

Posted Apr 27, 2017 6:38 UTC (Thu) by AdamW (subscriber, #48457) [Link] (2 responses)

SUSE. Seriously. Take it from us, the people who once code named a distribution "Schrödinger's Cat", then found that the number of bugs that can be caused by a codename with a non-ASCII character, a space *and* an apostrophe in it was so damn high we *stopped codenaming releases*. Take it from us, and do the simplest goddamn thing possible.

Yours truly, the Fedora team and a large bottle of gin.

The great leap backward

Posted Apr 27, 2017 7:21 UTC (Thu) by niner (subscriber, #26151) [Link] (1 responses)

You found out what horrors code names can bring, openSUSE is testing the waters with creative numbering. That's teamwork! Would be rather sad if we only had a single distribution that got all the excitement ;)

The great leap backward

Posted Apr 27, 2017 17:54 UTC (Thu) by AdamW (subscriber, #48457) [Link]

I was particularly fond of the one where someone tried to work around some bug caused by the space by wrapping the whole thing in quotes. Unfortunately, they used *single* quotes. So whatever the thing was (I forget) wound up with the codename as "Schrödinger" and some "'s cat" lying around making the place all messy...

The great leap backward

Posted Apr 27, 2017 8:33 UTC (Thu) by sysrich (subscriber, #103315) [Link] (1 responses)

Jonathan, I think I can wholeheartedly say that this article, and the laughs it gave me, are quite possibly the highlight of the whole endeavour. Thank you.

It's not going to be as controversial as changing version numbers but I've half a mind to suggest to our release team we add a codename Leap 15 and call it "Corbert's Crisis" in honour of this article.

Actually, on second thought..maybe it's best we stick without a codename..

Regards,

- Richard Brown

The great leap backward

Posted Apr 28, 2017 18:55 UTC (Fri) by nix (subscriber, #2304) [Link]

Yeah... if you do that you probably want to spell his surname right. :)

The great leap backward

Posted Apr 27, 2017 8:43 UTC (Thu) by lacos (guest, #70616) [Link] (3 responses)

(1) This article is pure gold. Thank you. It has so many shining nuggets that it's hard to pick examples.

> leapfrogs Leap

Beautiful.

> 19 is suspiciously prime

Oh man. The tears.

(2) The incredible backwardness and savagery encoded in various cultures are mind-boggling. Man is man's biggest enemy. Here's another example: <https://en.wikipedia.org/wiki/Lucky_iron_fish>.

NB I'm not picking on the so-called developing parts of the world; the so-called developed world is terribly superstitious too. Anti-vaxxign? Homeopathy? Remote healing?

(3) Regarding the less than obvious "suse_version" values, I guess the distro is called *tumble*weed for a reason :)

The great leap backward

Posted Apr 27, 2017 10:40 UTC (Thu) by linuxrocks123 (subscriber, #34648) [Link] (2 responses)

The "lucky iron fish" is supposed to be used when cooking so the iron will leach into the water in the pot and correct for iron deficiency in the users' diets. Iron does leach into water, so what's superstitious about that?

The great leap backward

Posted Apr 27, 2017 12:14 UTC (Thu) by lacos (guest, #70616) [Link] (1 responses)

> The "lucky iron fish" is supposed to be used when cooking so the iron will leach into the water in the pot and correct for iron deficiency in the users' diets. Iron does leach into water, so what's superstitious about that?

The fact that the ingot had to be cast into fish form, otherwise people wouldn't put it in their pots? See e.g. the attempt with the lotus flower shape:

> The research group distributed an iron disc to women in the village, asking them to place the disc in their pot while making soup or boiling water. The women were reluctant to use the chunk of iron while cooking, and "almost no one used it". [...] Charles and others distributed iron ingots in the shape of a lotus flower, but that was also rejected by the villagers. During discussions with village elders, Charles learned about a fish species deemed a symbol of good luck, health, and happiness in local folklore. The group created fish-shaped iron ingots, which were received more positively by the villagers and led to immediate increases in blood iron levels amongst the villagers, and anemia was virtually eliminated. Charles would later state that "You can have the best treatment in the world, but if people won’t use it, it won't matter."

The great leap backward

Posted Apr 28, 2017 18:58 UTC (Fri) by nix (subscriber, #2304) [Link]

That's probably because putting random chunks of what looks like rock in food is often dangerous, so triggers a disgust response. (An even more extreme example: almost nobody from any culture would be happy about putting a piece of iron shaped like a turd into their cooking. This might be irrational, but it is definitely sensible, because most things shaped like that are really really dangerous to put in cooking.)

The great leap backward

Posted Apr 27, 2017 8:55 UTC (Thu) by aggelos (subscriber, #41752) [Link]

I find it ironic that the article goes into such length for what it claims is a totally trivial issue, not really worth any discussion, why are people still talking about it, the stakes are low I tell you, wait now it's made the press too, wth! Etc.
Personally, I appreciate the occasional humorous sentence in a technical article more than I did this article - to me it came off as kind of forced. Please never drop the humor though :-)

The great leap backward

Posted Apr 27, 2017 12:48 UTC (Thu) by lkundrak (subscriber, #43452) [Link]

This is easily the most entertaining LWN article ever. Was it written in a smoke-filled room?

Thanks for the laughs.

The great leap backward

Posted Apr 29, 2017 11:16 UTC (Sat) by storner (subscriber, #119) [Link] (2 responses)

This is pure bike-shedding. http://www.bikeshed.com/

The great leap backward

Posted Apr 30, 2017 0:24 UTC (Sun) by tedd (subscriber, #74183) [Link] (1 responses)

Wrong address. Should be http://antiquewhite.bikeshed.com

The great leap backward

Posted Apr 30, 2017 9:33 UTC (Sun) by excors (subscriber, #95769) [Link]

No, I think you mean http://rebeccapurple.bikeshed.com/

The great leap backward

Posted Apr 29, 2017 18:02 UTC (Sat) by tdz (subscriber, #58733) [Link]

Thanks a lot for this humorous and entertaining article.

The great leap backward

Posted Apr 30, 2017 17:40 UTC (Sun) by lab (guest, #51153) [Link]

Oh Jon, you gave me a pretty good chuckle there. We humans really are quite silly sometimes :-)

The great leap backward

Posted May 1, 2017 9:01 UTC (Mon) by thoeme (subscriber, #2871) [Link]

Hi Jon,
This article was a nice start into monday morning :-) Besides, if the OpenSuSE community (which I am a member of) has nothing else to worry about, all is great !
- Thomas

The great leap backward

Posted May 6, 2017 18:55 UTC (Sat) by muwlgr (guest, #35359) [Link]

"alternative incrementing" is a gem clearly modeled after "alternative facts" (or earlier version, "alternatively gifted").
liked it very much

Sybase ASE

Posted May 7, 2017 3:22 UTC (Sun) by sbishop (guest, #33061) [Link]

I'm surprised that no one has mentioned that Sybase bumped the version number of their "Adaptive Server Enterprise" product a couple of years ago from 12 to 15 for the very same reasons.


Copyright © 2017, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds