News for hackers. Stuff that matters.
Re:ZeroVer: 0-Based Versioning by twobitshifter on Thursday August 12, 2021 @07:54AM (#28155088)
Having worked at a place with 11+ years of a project in ZeroVer, I would caution against ZeroVer as it can mentally wear on software developers. The 0. is not something embraced, but a taunting God who takes pleasure in suffering. The followers of ZeroVer all believe that with some combination of magic and hard work a 0. will turn to a 1., but the mighty 0. never rolls over. To topple the 0., they will try tricks like a full rewrite of core code, new scrum patterns, new directors of software development, more code reviews, iron clad specifications, testing specialists, and more. They’ll try to do things they see 1.0 software doing: sell the code, use it in production, make billion dollar decision based on its output, have entire livelihoods wrapped up in its existence, and still the 0. is unchanged. The myths of a roadmap to 1.0 will build over time, some say it’s always existed, but there’s no sign of a road or even civilization when you look around. The ZeroVer faith says that everyone is always on the road to 1.0 if they believe, but outsiders continually taunt them for not knowing when 1.0 will reveal itself.
Re:ZeroVer: 0-Based Versioning by arcatek on Thursday August 12, 2021 @08:11AM (#28155219)
I know you're joking, but I worked in a startup where a massive effort was made to completely rebuild the 1.x website - both backend and frontend. It required a lot of work from everyone, and I remember we even stayed late more than a few times to bring it to finish line.

So it was a bit disheartening that the founders never bumped the version to 2.x once the rollout was achieved. It's perhaps a bit nitpicky, but it felt like the work wasn't properly appreciated.

Re:ZeroVer: 0-Based Versioning by koheripbal on Thursday August 12, 2021 @08:26AM (#28155352)
Maybe I'm aged, but I always just use the date. If I build today, the version will just be 210811.1 and it updates automatically in each build.

I'm a one man shop though so I never branch for major/minor releases.

Re:ZeroVer: 0-Based Versioning by dnautics on Thursday August 12, 2021 @10:38AM (#28156884)
> I'm a one man shop though so I never branch for major/minor releases.

Honestly, for my one-man projects I use 0. to indicate "there is absolutely no backwards compatibility guarantees because I'm still fucking around" and 1. to indicate "this is in prod and I'm confident about it" (with attendant discipline on how semver major/minors are supposed to be used).

Re:ZeroVer: 0-Based Versioning by failrate on Thursday August 12, 2021 @10:54AM (#28157078)
Yes, and 2 is "I probably broke your favorite API."
Re:ZeroVer: 0-Based Versioning by still_grokking on Thursday August 12, 2021 @05:04PM (#28161444)
Probably?
Re:ZeroVer: 0-Based Versioning by gowld on Thursday August 12, 2021 @02:21PM (#28159648)
That's regular Semantic Versioning

https://semver.org/

> Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

> Version 1.0.0 defines the public API. The way in which the version number is incremented after this release is dependent on this public API and how it changes.

> If your software is being used in production, it should probably already be 1.0.0.

Re:ZeroVer: 0-Based Versioning by zamalek on Thursday August 12, 2021 @02:57PM (#28160072)
Basically, nobody wants to deal with backcompat. Having worked somewhere where we supported stuff more than a decade old, it's not entirely surprising. It's really hard to know what crazy stuff customers are doing with your stuff, and fun new things often die off during the pitch.
Re:ZeroVer: 0-Based Versioning by aabbcc1241 on Thursday August 12, 2021 @08:58PM (#28163965)
think of react-native being used in production for years while it's in 0.x.x
Re:ZeroVer: 0-Based Versioning by kbenson on Thursday August 12, 2021 @12:04PM (#28157990)
Ask me how I can tell you haven't been using this strategy for more than a decade or two. ;)

I say that mostly jokingly, but stuff like this was really annoying around the turn of the century, in a death by a thousand cuts kind of way.

Please, just put the full year in. It's only two more digits, and will prevent the older people that see it from building a little bit of rage up every time they see it.

Re:ZeroVer: 0-Based Versioning by gowld on Thursday August 12, 2021 @02:22PM (#28159662)
I've been using it for over 20 years...
Re:ZeroVer: 0-Based Versioning by codetrotter on Thursday August 12, 2021 @12:29PM (#28158316)
Y2K100, aye!
Re:ZeroVer: 0-Based Versioning by JoBrad on Thursday August 12, 2021 @01:44PM (#28159239)
Or even trying to determine which value represents year, month, or day. Internet date format is the only way to go, IMO.
Re:ZeroVer: 0-Based Versioning by nwatson on Thursday August 12, 2021 @09:48AM (#28156305)
This works well only if you're supporting a linear evolution of releases, no branching or LTS or back-porting.
Re:ZeroVer: 0-Based Versioning by goerz on Thursday August 12, 2021 @10:56AM (#28157112)
There’s nothing that says you can’t have patches in calver, as e.g. `YY.MM.patch`. So you can definitely have an LTS calver release, or even back port new features. You just have to do it in the patch version, or adopt some other variation of the scheme, e.g.`YYYY.minor.patch` or `YY.MM.minor.patch`
Re:ZeroVer: 0-Based Versioning by MiddleEndian on Thursday August 12, 2021 @10:17PM (#28164557)
Yep. This is what Ubuntu does, roughly. Version 2020.04 is LTS and will get security updates until 2030 April (04)
Re:ZeroVer: 0-Based Versioning by tonyhb on Thursday August 12, 2021 @08:50AM (#28155593)
This is the exact strategy we use for our rollouts too. 2021-08-12.01 was just released.
Re:ZeroVer: 0-Based Versioning by orian on Thursday August 12, 2021 @09:03AM (#28155726)
minor/major makes sense for, when a company plans to support a major for longer period of time, if the development is continuous, the date sounds good
Re:ZeroVer: 0-Based Versioning by trm42 on Thursday August 12, 2021 @10:54AM (#28157092)
I've come to the same conclusion for the main product which always moves forward and currently has limited and tightly coupled relations. If the product gets lots of external consumers, then making it more versioned might make sense.

But for common libraries SemVer feels good solution for not breaking the main products and helps making developers to think about breaking changes etc.

Re:ZeroVer: 0-Based Versioning by tssva on Thursday August 12, 2021 @09:17AM (#28155897)
What are you going to do when it is August 11th 2121? Reuse the build number?
Re:ZeroVer: 0-Based Versioning by dmos62 on Thursday August 12, 2021 @09:35AM (#28156116)
Add a 1. in front. It earned it.
Re:ZeroVer: 0-Based Versioning by ruined on Thursday August 12, 2021 @10:51AM (#28157050)
not a problem. it's physically impossible for any software to be maintained that long.

you can't prove me wrong

Re:ZeroVer: 0-Based Versioning by tssva on Thursday August 12, 2021 @11:17AM (#28157398)
Sure I can. It will just take some time to do so.
Re:ZeroVer: 0-Based Versioning by ziml77 on Thursday August 12, 2021 @09:36AM (#28156131)
If the project actually does last that long, I'm sure it wouldn't be hard to just extended the version by 2 digits to include the full year.
Re:ZeroVer: 0-Based Versioning by williamdclt on Thursday August 12, 2021 @04:11PM (#28160864)
You mean that you're _sure_ that nothing will be dependent on the format of the version string of a >100yo project?

I'd bet everything I own against that

Re:ZeroVer: 0-Based Versioning by tssva on Thursday August 12, 2021 @11:05AM (#28157220)
Is it a Mozilla project because that is some Mozilla type version inflation?
Re:ZeroVer: 0-Based Versioning by thih9 on Thursday August 12, 2021 @10:55AM (#28157096)
Instruct the AI to move the project to a versioning system that supports full calendar year.
Re:ZeroVer: 0-Based Versioning by Jiocus on Thursday August 12, 2021 @11:11AM (#28157310)
This is a solved problem.

[Y2K Programming solutions]: https://en.wikipedia.org/wiki/Year_2000_problem#Programming_...

Re:ZeroVer: 0-Based Versioning by ThinkBeat on Thursday August 12, 2021 @10:43AM (#28156933)
This is what makes sense to me as well.

It is also much easier to reference when talking with other devs, users, etc.

We all know the calendar and a date is much easier to remember.

Straight increases 5, 6, 7 ar also easier for user to reference.

Re:ZeroVer: 0-Based Versioning by PikachuEXE on Thursday August 12, 2021 @09:23PM (#28164182)
That's what Jetbrains does
Re:ZeroVer: 0-Based Versioning by _puk on Thursday August 12, 2021 @10:11AM (#28156588)
Unfortunately I've found there often needs to be separate internal and external version numbers.

An internal rewrite where all the "old bugs" are fixed, but minimal new features are added may feel like a 2.0 for those who worked on it, but for external customers it's the same tool, with the same functionality, just maybe looks a little different.

A 2.0 is often heralded with marketing fanfare, so it needs justification.

I'm not saying it's right, or that one rule fits all; I've seen it first hand and feel your pain.

Re:ZeroVer: 0-Based Versioning by yjftsjthsd-h on Thursday August 12, 2021 @11:10AM (#28157299)
And on the flip side, sometimes internal version 11.3 is a boring release with only small changes since 11.2, but if one of those changes was a feature that marketing cares about then bumping to The New Exciting 12 may be in order.
Re:ZeroVer: 0-Based Versioning by fomine3 on Thursday August 12, 2021 @12:55PM (#28158686)
Opposite(?) example is Windows NT 5.1 / 6.1
Re:ZeroVer: 0-Based Versioning by debarshri on Thursday August 12, 2021 @09:05AM (#28155748)
I have seen completely opposite things in my previous startup I worked for. The product wasn't event production ready, they would call it version 1.0, version 2.0 and now version 3.0

Versions were bumped now and then, without real major changes.

They use this as marketing gimmick to create buzz that something major is being released but actually it was same old stuff just not ready for primetime.

Re:ZeroVer: 0-Based Versioning by tomc1985 on Thursday August 12, 2021 @11:02AM (#28157176)
It is so weird how many people seem to have a stake in the version number. Personally I'm all for date or build numbers, and removing version numbers entirely
Re:ZeroVer: 0-Based Versioning by hzhou321 on Thursday August 12, 2021 @06:39PM (#28162521)
Yeah, after 1.x, the 2.0 is one last savior. Beyond that, there is no hope.
Re:ZeroVer: 0-Based Versioning by Kihashi on Thursday August 12, 2021 @09:35AM (#28156122)
Worth noting that this page is satire and poking fun at many of the issues that you note here.
Re:ZeroVer: 0-Based Versioning by matttrotter on Thursday August 12, 2021 @08:22AM (#28155318)
Yeah zerover seems kinda Draconian like “you’ll never be good enough!”