Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2018-08-07 15:01:05 +01:00
parent f72ea2bc26
commit 6db187787b
1 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,44 @@
---
title: "Versioning"
date: 2018-08-07T13:27:43+01:00
draft: true
---
*Today I am grumpy at people's expectation of projects, 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.*
Today we were discussing about versioning and releases in the
[poezio](https://poez.io) chatroom.
Poezio is a console client for [XMPP](https://xmpp.org), 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.
The last release in date (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
actively maintained, but no release is being made for the moment.
*No*, not every project releases with the same regularity. *No*, not every
project have the same understanding of what a release is. Most projects don't
have the same constraints.
For some projects, releases are sacred, (so-called __stability__, which am I
still in wait of a definition for), and I am happy for them. Maintained for X
months, even years, to which will only be applied security fixes, or critical
bug fixes, (crashes and the like).
For others, releases are only checkpoints, a way of saying that features are
being added, bugs are being fixed, also possibly get some PR around it.
What appears in these releases is actually defined nowhere. It is up to
project maintainers to decide what they want to see in. I could very well make
a release every other commit and be happy with it if I wanted to be silly. I
would still be [semver](https://semver.org) compliant, one of the varion
versioning scheme defined out there.
Nothing also mandates I have to backport bug fixes to the current (or
previous) release, and some projects actually cannot afford such a luxury. All
of this takes time, a really expensive resource.