What could justify the jump of a number in a versioning system?

Asked

Viewed 239 times

11

I realized that the long-dreamed PHP 6 has been canceled. Then, mysteriously, from version 5 jumped directly to version 7.

I then had a doubt about the development of libraries and their respective versioning numbers:

  • Is there any plausible justification that could cause this change in versioning number in the development of a library? For example, if I have a library with the versions 1.0, 1.1 and 2.0, there would be some factor implicating in the numbering being advanced to 4.0?

  • Based on the PHP 7 example, in a versioning system, what matters is whether the numbers grow in sequence, or they just need to grow (regardless of the "1, 2, 3" sequence) to demonstrate the version change?

Note: Note that I used PHP simply as an example. The purpose of the question is not to know what happened to PHP versioning, but it was just an example to try to understand what drives a library/application to skip the version numbers.

  • 4

    There’s justification for just about anything. In the case of PHP was not mysteriously, version 6 had already been produced and had even books about it (with support to Unicode and other things) so because they had made this type of "disclosure" they thought it best to skip this version.

  • 1

    It’s marketing... Zuera... But look at the 7 there again.... Seriously...

  • 1

    What about windows then? 95, 98, 2000, ME, XP, Vista, 7, 8, 8.1, 10

  • Although, eat ball, these are just the names given to the realese, anyway windows 8.1 (NT 6.3) jumped to windows 10 (NT 10.0)

  • @Marcelobonifazio internally, Windows has an internal version :p (now that you’ve seen that you’ve portrayed yourself)

  • 1

    PHP 5.3 is PHP 6, but since they were unable to complete support for Unicode (limitation and problems), they decided to release it as PHP 5.3. You can see that the change from PHP 5.2 to PHP 5.3 is huge

  • @Marcelobonifazio these are product names and not version, these products have version 4.0, 4.1, 5.0, 5.something I don’t remember, 5.1, 6.0, 6.1 (yes, 7 is version 6 :) ), 6.2, 6.3 and 6.4. Now after some updates the W10 has moved to version 10. I talk about this nonsense of MS in my reply. https://en.wikipedia.org/wiki/Windows_10_version_history

  • Had software released in version 3.x , the guy sees and thinks that bagaça is stable ...

Show 3 more comments

2 answers

11

The vast majority of projects adopt this versioning pattern, which basically consists of (taken from the site itself):

Given a MAJOR.MINOR.PATCH version number, increment the:

  1. Major (Major): when making incompatible changes to the API,
  2. Minor version(MINOR): when adding functionality while maintaining compatibility, and
  3. Patch Version(PATCH): when fix faults maintaining compatibility.

Additional pre-release (pre-release) labels and build(build) metadata are available as extensions to the MAJOR.MINOR.PATCH format.

You can read about the reasons why PHP 5.x jumped to 7 here and here but briefly it is:

Marketing

There were attempts to release PHP 6 in 2005, but it didn’t work. Over time, the name "PHP 6" was gaining a bad reputation for the delay in release.

Despite this, PHP 6 actually already existed and was something totally different. It never reached a general availability, but it was a widely published and well-known project, driven by php.net.

Skipping versions is not an exclusive of PHP, it has also occurred in other projects like: Mariadb, Netscape Communicator, Symantec, IP (the Internet Protocol itself), etc.

  • 2

    Damn, I never stopped to notice that ipv4 jumped to ipv6 until I read your answer kkkk

  • Curious detail.... Ipv5 actually existed, Ipv5 was used to define a protocol of real-time streaming which was experimental. To avoid confusion, it was decided not to use Ipv5 and to name the new IP protocol as Ipv6. (Fountain)

9


Actually yes and no. Plausible would need a definition. The fact is that version number changes are always made by humans and almost arbitrary.

Semantic Versioning

When it’s done Semver is adopting a clear criterion and tries to be less arbitrary, seeks to be more objective when changing the number, but still will be done by a human being who has a degree of subjectivity. Even if you do semantic versioning, nothing prevents you from not following it for some reason. When it does not, the criterion is just a little different, probably more flexible.

One reason is some unforeseen in the process, for example the abandonment of an entire specification. It has already occurred with PHP, JS and various technologies.

Organizing

In theory the numbers don’t even have to be in sequence, although it would be crazy not to do so.

Some people don’t even use numbers for versions, or don’t use this organization at levels. There’s a model of every way. Of course, this question is the most adopted.

There is product that has no clear criteria, only going up numbers. After Linux started doing this several products did the same.

Marketing

There’s a lot of technology that skipped numbers, often by marketing. Is that plausible? Microsoft does that a lot. Look for Entity Framework 2 or 3. Often this happens to "synchronize" with other products. But the most common is to pass the idea that the product is much better. Microsoft has always been bad to Versionar products. As MVP should not even say this, but they said that I am independent to speak what I think, otherwise I would not even want to. Let them improve it. See version of Windows.

At the time all technology products wanted to be version 5. Estrambolicamente 5 wanted to say object oriented and everyone wanted to take this tram, even if it was not OOP. It was a crazy time :) Totally arbitrary.

Justification

In the case of PHP was by lambança, the plausible there was fix the problem they caused giving name to a version that they did not know what it was yet, that did not know if it would be that. PHP developers (those who implement the language) have always been naive (which has nothing to do with their technical ability, which in general I don’t discuss), everyone in the audience knows this.

A lot of stuff was leaked as Feature of the 6 and would not have more. The solution was to skip to the 7. So the 7 has less things than 6, although the 6 has never been officially released.

Completion

Each one does as he pleases, but if he wants to have some meaning adopt a criterion.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.