2018-08-07 14:01:05 +00:00
|
|
|
---
|
|
|
|
title: "Versioning"
|
2022-09-12 08:01:20 +00:00
|
|
|
date: 2022-09-12T12:00:00Z
|
2018-08-07 14:01:05 +00:00
|
|
|
draft: true
|
|
|
|
---
|
|
|
|
|
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
|
|
|
|
|
|
|
What appears in these releases is actually defined nowhere. It is up to
|
2022-09-12 08:01:20 +00:00
|
|
|
project maintainers to decide what they want to see in. 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.
|
|
|
|
|
|
|
|
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.
|