2018-08-07 14:01:05 +00:00
|
|
|
---
|
|
|
|
title: "Versioning"
|
2022-09-12 08:32:17 +00:00
|
|
|
date: 2022-09-12T08:00:00Z
|
2022-09-12 08:04:53 +00:00
|
|
|
tags: [XMPP, Community, Free Software, Open Source, Expectations]
|
2018-08-07 14:01:05 +00:00
|
|
|
---
|
|
|
|
|
2022-09-12 08:01:20 +00:00
|
|
|
*I finally took time to setup a forge and some old drafts turned up. I am
|
|
|
|
publishing one of them today as is even though it's 4 years old
|
|
|
|
(2018-08-07T13:27:43+01:00). I'm not as grumpy as I was at the time but I
|
|
|
|
still think this applies.*
|
2018-08-07 14:01:05 +00:00
|
|
|
|
|
|
|
|
2022-09-12 08:01:20 +00:00
|
|
|
Today I am grumpy at people's expectation of a free software project, about
|
|
|
|
versioning and releases. I am mostly concerned about applications rather than
|
|
|
|
libraries in this article but I am sure some of this would apply to libraries
|
|
|
|
as well.
|
|
|
|
|
2018-08-07 14:01:05 +00:00
|
|
|
Today we were discussing about versioning and releases in the
|
|
|
|
[poezio](https://poez.io) chatroom.
|
|
|
|
|
2022-09-12 08:01:20 +00:00
|
|
|
Poezio is a console application, a small project maintained by a handful of
|
|
|
|
contributors to which I am grateful. I also have a few contributions myself.
|
|
|
|
The application is far from perfect but what software is anyway.
|
2018-08-07 14:01:05 +00:00
|
|
|
|
2022-09-12 08:01:20 +00:00
|
|
|
The last release -- as of writing -- for the project is `0.11`, published on
|
|
|
|
Jan 31, 2017. A bit over 1.5 years ago. Yes, the project is still being
|
2018-08-07 14:01:05 +00:00
|
|
|
actively maintained, but no release is being made for the moment.
|
|
|
|
|
2022-09-12 08:01:20 +00:00
|
|
|
**No**, not every project releases with the same regularity. **No**, not every
|
|
|
|
project has the same understanding of what a release is. Most projects don't
|
2018-08-07 14:01:05 +00:00
|
|
|
have the same constraints.
|
|
|
|
|
2022-09-12 08:01:20 +00:00
|
|
|
For some projects releases are sacred and I am happy for them. Maintained for
|
|
|
|
X months or even years to which will only be applied security fixes or
|
|
|
|
critical bug fixes (crashes and the like).
|
2018-08-07 14:01:05 +00:00
|
|
|
|
2022-09-12 08:01:20 +00:00
|
|
|
For others, releases are only checkpoints. A way of saying that features are
|
|
|
|
being added, bugs are being fixed, and have people talk about it.
|
2018-08-07 14:01:05 +00:00
|
|
|
|
2022-09-12 09:23:59 +00:00
|
|
|
There is no global definition of what a release is supposed to be. It is up to
|
|
|
|
project maintainers to decide what they want to see in it. They could very
|
|
|
|
well make a release every other commit and be happy with it if they wanted to
|
|
|
|
be silly. They would still be [semver](https://semver.org) compliant -- one of
|
|
|
|
the various versioning scheme defined out there.
|
2022-09-12 08:01:20 +00:00
|
|
|
|
|
|
|
Nothing also mandates they have to backport bug fixes to the current or
|
|
|
|
previous releases, and some projects actually cannot afford such a luxury. All
|
|
|
|
of this takes time and that is a really expensive resource in a project.
|
2022-09-12 08:15:18 +00:00
|
|
|
|
|
|
|
|
2022-09-12 09:23:59 +00:00
|
|
|
_Update from the present:_
|
|
|
|
|
|
|
|
_I think the issue I tried to convey in this article isn't that we don't have
|
|
|
|
time, or that there's no definition of a release, it's that I'm tired of being
|
|
|
|
imposed a vision of the world I don't agree with. What's more, people having
|
|
|
|
these expectations often don't even take part in the process of making the
|
2023-05-25 12:26:47 +00:00
|
|
|
project or in the community around it, at any level._
|