Semverflation: a new software metric proposal

Look, y’all—it is well known that I will not shy from posting a ridiculous tweet. And just as a broken clock is right twice a day, sometimes I post a tweet that arguably deserves escalation from the ephermality of the twitterverse to the slightly m…


This content originally appeared on Zach Leatherman and was authored by Zach Leatherman

Look, y’all—it is well known that I will not shy from posting a ridiculous tweet. And just as a broken clock is right twice a day, sometimes I post a tweet that arguably deserves escalation from the ephermality of the twitterverse to the slightly more hardened blogoverse… blogverse… okay neither of those terms are good—I digress.

Chrome is now at version 100. React just released version 18. It has me thinking that it might be useful to have a standard metric for software that communicates how fast major versions are released.

Introducing: Semverflation.

How do you calculate a software package’s semverflation?

VersionNumber(newest release)
YearsBetween(newest release, first release)
× 10

For simplicity, the wild west of pre-1.0 releases are counted when calculating the date of the first release.

Here’s a smattering of semverflation calculations:

Releases
Package First Newest Years Version Number Semverflation
Chrome 2008/9/2 2022/3/29 13.57 100 73.6
Safari 2003/1/7 2022/3/13 19.19 15.4 8.0
Firefox 2002/9/23 2022/3/23 19.50 98 50.2
React 2013/5/29 2022/3/29 8.83 18 20.4
Eleventy 2018/1/9 2022/1/8 4.00 1 2.5

What does it mean?

Semverflation takes no position on how well maintained a software package is. A very well maintained package might deliver 100 minor versions and no new major versions (very low semverflation).

A high number is only a measure of the frequency of breaking changes (if the software package adhers to semver). It does not (and can not) measure the volume of breaking changes of a specific major version release.

A low number indicates a measure of stability for the package.

The other thing I like about this metric is that it doesn’t matter how much time has passed between now and the latest release. The semverflation for a retired package will not change over time, if no new releases are being delivered. The semverflation only changes when a new major version is released.

Of course, it’s a little bit wrong to use this metric on web browser releases, who rarely break the web by issuing breaking changes to the platform. But useful for other software packages!


This content originally appeared on Zach Leatherman and was authored by Zach Leatherman


Print Share Comment Cite Upload Translate Updates
APA

Zach Leatherman | Sciencx (2022-03-30T00:00:00+00:00) Semverflation: a new software metric proposal. Retrieved from https://www.scien.cx/2022/03/30/semverflation-a-new-software-metric-proposal/

MLA
" » Semverflation: a new software metric proposal." Zach Leatherman | Sciencx - Wednesday March 30, 2022, https://www.scien.cx/2022/03/30/semverflation-a-new-software-metric-proposal/
HARVARD
Zach Leatherman | Sciencx Wednesday March 30, 2022 » Semverflation: a new software metric proposal., viewed ,<https://www.scien.cx/2022/03/30/semverflation-a-new-software-metric-proposal/>
VANCOUVER
Zach Leatherman | Sciencx - » Semverflation: a new software metric proposal. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/03/30/semverflation-a-new-software-metric-proposal/
CHICAGO
" » Semverflation: a new software metric proposal." Zach Leatherman | Sciencx - Accessed . https://www.scien.cx/2022/03/30/semverflation-a-new-software-metric-proposal/
IEEE
" » Semverflation: a new software metric proposal." Zach Leatherman | Sciencx [Online]. Available: https://www.scien.cx/2022/03/30/semverflation-a-new-software-metric-proposal/. [Accessed: ]
rf:citation
» Semverflation: a new software metric proposal | Zach Leatherman | Sciencx | https://www.scien.cx/2022/03/30/semverflation-a-new-software-metric-proposal/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.