Software's most popular versioning scheme!
With software releases at an all-time high, the consensus has never been clearer: Major versions are over. So what does the past, present, and future of software versioning look like? Welcome to ZeroVer 0.0.1.
Unlike other versioning schemes like Semantic Versioning and Calendar Versioning, ZeroVer (AKA 0ver) is simple: Your software's major version should never exceed the first and most important number in computing: zero.
A down-to-earth demo:
YES: 0.0.1, 0.1.0dev, 0.4.0, 0.4.1, 0.9.8n, 0.999999999
NO: 1.0, 1.0.0-rc1, 18.0, 2018.04.01
In short, software versioning best practice is like the modern list/array: 0-based.
We'll leave it to computer scientists to determine how expert coders wield the power of the "zero-point" to produce top-notch software. Meanwhile, open-source and industry developers agree: ZeroVer is software's most popular versioning scheme for good reason.
Just take a look at the list below. Some thought leaders might surprise you.
The growing vanguard of the versioning revolution. Add your project here.
Project | Stars | First Released | Releases | Current Version | 0ver years |
---|---|---|---|---|---|
Werkzeug | 3,888 | 2007 | 52 | 0.14.1 (2017) | 10.3 |
docutils | 9 | 2002 | 19 | 0.12 (2014) | 16.0 |
Cython | 2,982 | 2008 | 130 | 0.28.1 (2018) | 9.9 |
TOML | 7,336 | 2013 | 5 | 0.4.0 (2015) | 5.0 |
Flask | 34,307 | 2010 | 21 | 0.12.2 (2017) | 8.0 |
datadogpy | 163 | 2015 | 25 | 0.20.0 (2018) | 3.2 |
Pandas | 13,662 | 2011 | 75 | 0.23.0.dev0 (2017) | 7.1 |
Wheel | 61 | 2012 | 28 | 0.30.0 (2017) | 5.7 |
PyTorch | 13,401 | 2016 | 15 | 0.3.1 (2018) | 1.6 |
HTTPie | 34,696 | 2012 | 29 | 0.9.8 (2016) | 6.1 |
scikit-learn | 27,011 | 2010 | 60 | 0.19.1 (2017) | 8.2 |
certbot | 21,708 | 2015 | 52 | 0.22.2 (2018) | 2.5 |
sshuttle | 1,497 | 2015 | 10 | 0.78.3 (2017) | 2.3 |
Bokeh | 7,417 | 2013 | 63 | 0.12.15 (2018) | 4.8 |
Magic Wormhole | 7,428 | 2015 | 30 | 0.10.5 (2018) | 3.1 |
docopt | 5,800 | 2012 | 11 | 0.6.2 (2014) | 6.0 |
httpbin | 5,751 | 2014 | 12 | 0.6.2 (2017) | 3.8 |
bottle | 5,342 | 2009 | 70 | 0.12.13 (2017) | 8.7 |
rq | 4,600 | 2012 | 44 | 0.10.0 (2018) | 6.0 |
hugo | 24,522 | 2013 | 52 | 0.37.1 (2018) | 4.7 |
drone | 13,674 | 2014 | 25 | 0.8.5 (2018) | 4.1 |
HashiCorp Terraform | 11,582 | 2016 | 100 | 0.11.5 (2018) | 1.4 |
HashiCorp Nomad | 3,378 | 2015 | 58 | 0.8.0-rc1 (2018) | 2.8 |
HashiCorp Vault | 8,822 | 2015 | 51 | 0.9.6 (2018) | 2.9 |
xhyve | 4,864 | 2015 | 2 | 0.2.0 (2015) | 2.8 |
zeal | 5,715 | 2015 | 9 | 0.6.0 (2018) | 3.0 |
MyPy | 3,640 | 2014 | 24 | 0.580 (2018) | 3.3 |
asn1crypto | 97 | 2015 | 29 | 0.24.0 (2017) | 2.7 |
Orc (liborc) | 17 | 2014 | 30 | 0.4.28 (2017) | 3.3 |
Dash | --- | 1997 | --- | 0.5.9.1 (2016) | 20.8 |
Inkscape | --- | 2000 | --- | 0.92.3 (2018) | 17.6 |
Compiz | --- | 2006 | --- | 0.9.13.1 (2016) | 11.9 |
distlib | --- | 2013 | --- | 0.2.6 (2017) | 5.1 |
At the time of writing, the list is somewhat biased toward Python
projects. If you know of some prominent ZeroVer projects, submit them
here!
These flagship ZeroVer projects know how to get the most out of their zeroes.
Hashicorp's Vault project aims to be an enterprise secret
management service, comprising the bedrock of a modern,
microservice-oriented environment. And that's what makes it one of
ZeroVer's most important adherents.
Low in the stack, low in the version. That's the Hashicorp way.
To drive the point home, even further down the stack, Hashicorp's Terraform also complies with ZeroVer's cutting-edge versioning scheme. With Vault and Terraform, Hashicorp demonstrates industry recognition of the importance of ZeroVer in infrastructure.
Hashicorp knows ZeroVer works, especially when the projects are business-critical products, sold and supported.
Versioning schemes like SemVer and CalVer attempt to guide developers away from the natural light of ZeroVer. In a surprising and exciting move, the creator of SemVer himself has seen the light.
Aside from one small typo in 2013, his new project, TOML, has been a model ZeroVer user. These days TOML advertises dozens of public implementations, many of which missed the ZeroVer message. They're probably caught up in Tom's own words from 2011:
"If your software is being used in production, it should probably already be 1.0.0."
No doubt older and wiser, Tom has shown great versioning fortitude in averting a rise in TOML's major version and promoting ZeroVer conventions. Thanks Tom!
Has there ever been a library more auspicious? By now it should come as no surprise that OpenSSL has its roots in ZeroVer.
While no longer technically a ZeroVer project, OpenSSL held out from 1998 to 2010 before finally succumbing to 1.0. The project managed to change its name (from SSLeay) and implementation technology (from Perl to C), not to mention run through half the alphabet in micro versioning.
That's the power of streamlined, minimal versioning.
Graduates from the school of ZeroVer, either from the table above or from legend. We remember them fondly.
Project | Stars | First Released | 0ver Releases | Last 0ver release | 0ver years |
---|---|---|---|---|---|
SciPy | 4,292 | 2001 | 92 | 0.19.1 (2017) | 15.9 |
Theano | 8,082 | 2011 | 27 | 0.10.0beta4 (2017) | 6.2 |
html5lib-python | 675 | 2007 | 15 | 0.999999999 (2016) | 9.5 |
OpenSSL | 6,706 | 1998 | 51 | 0.9.8n (2010) | 11.3 |
With any luck, these projects will realize their folly and this list
shrinks back to glorious 0.
Check out the About page.