This is a very spergy ausitstic whine for me, but I really don't like how a lot of modern open-source/volunteer development doesn't want to deal with version numbers or the basic concepts of fully building a standalone product. It's always gotta be a rolling release thing beacuse the development people are too prideful (not lazy, too prideful) to go through a code freeze or alpha-beta system or anything like that.
Two semi-recent projects officially changing to this rankle me, and that's Dolphin Emulator and LibreOffice. Both very good programs, yeah, but now they both have this system where there basically is no such thing as proper version numbers.
First is LibreOffice. They had their own versioning number scheme that worked perfectly fine, but because they were precious open-source software and they had to have that perfect syncronization with Ubuntu and their versioning model (which is probably one of the main sources of this kind of cancer) instead of making their own proper releases at their own pace they decided to lose all originality and become exactly like them, with year and date version numbers galore. Come on, at least try to be your own program. If Firefox wasn't on version 140 or so as of right now I bet you they would have switched to that exact same kind of scheme too.
For Dolphin, the one I'm more pissed about they once were properly making versions and gearing up development-wise for major releases up through 5.0, but ever since then it's just been adding stuff whenever and posting progress reports with no such thing as a 6.0 even thought about. They kept up the facade of the numbering system until about a year ago when they
finally just said fuck it (and adopted that same year-based versioning scheme). And of course, looking at the reasoning, it's not because the stable release system was bad, not because there was tons of bugs in the emulator, but because it simply made them unhappy to work on fixing bugs that weren't directly related to what they wanted to do right then:
During a feature freeze, all merges are halted except bugfixes. Once all of the regressions from the previous release are resolved, Dolphin would launch a Stable Release, and then feature merges would reopen. By holding developers' fun projects hostage, feature freezes coerced developers to contribute to the bug hunt. After all, the more developers pitched in and fixed bugs, the sooner their cool project could get merged into Dolphin! And it worked. Bugs were fixed and Stable Releases were launched. However, feature freezes were miserable and costly. During a freeze, Dolphin's development would stall for months at a time, morale would plummet, new developers were repulsed, and sometimes long-term developers would get tired of it all and just leave.
What is so wrong with having to focus on a full-picture product? If you care about making a program that works for everyone and is as bug-free as possible it should not make you miserable. It comes off to me that the devs are letting their autism run rampant and deliberately choosing the one way of development that they know doesn't lock them into a timetable with any deadlines, and doesn't pressure them in any way to work on a part of the program they're not ultra-interested in ever. It's the ultimate individualism, and it's retarded. You should have more approachability to proper expectations. "It'll be done when I choose to get around to it, I don't care if the obvious bug has been around for years I'm just too lazy to bother caring right now" should not be the be all end all of how you make things in your free time. There's no want whatsoever to see a list of problems and dedicating yourself to trying to zero it out, instead the constant tinker-tranny drive wins and you've got to spend that time working on a supreme component rewrite that will take years if you ever finish it at all. I hate hate
hate that way of thinking more than is probably healthy but it seems too many in the dev sphere have this kind of thinking. Care about the full team and product you are a part of more than yourself for once.