[Nix-dev] Stable NixOS releases

Alessio Igor Bogani alessioigorbogani+nixos at gmail.com
Tue May 14 15:18:28 CEST 2013


Hi,

Sorry for my very bad English. I'll hope that you understand my thoughts
anyway.

On 14/05/2013 13:26, Eelco Dolstra wrote:
> I would like to propose making periodic stable releases of NixOS.  Currently we
[...]

Personally I would be very happy to have a stable NixOS system but I
wouldn't want to quit from the rolling-release approach.

> Therefore it would be good to have stable releases that get bug fixes for a
> certain amount of time.  For instance, we could make a stable release every 3
> months or so, named (Ubuntu-style) <year>.<month>, e.g. 13.06, 13.09, and so on.

Will we be able to provide support and bug-fixes on a software which is
available in a supported NixOS release when its own maintainer puts it
in EOL? The maintenance in this situation requires back-porting which is
a very hard and boring work...

For this reason I suggest an alternative and more simple approach which
provides two channels: stable and unstable.

The first one provides what upstream defines "stable" the second one
provides what upstream defines "unstable" not matter which numbering
scheme upstream has in place (*). I would let upstream decide when a
"big switch" should happens (**). If an upstream doesn't provide an
enough good QA releases which we can relies on the best thing that we
can do is to replace it with a more reliable alternative project.

Theoretically we can still use the same git tree where default versions
are picked up accordingly. For example:

PostgreSQL on NixOS stable:
8.4.17, 9.0.13, 9.1.9 (default), 9.2.4
PostgreSQL on NixOS unstable:
8.4.17, 9.0.13, 9.1.9 , 9.2.4 (default), 9.3beta1

In NixOS we have already few cases where stable and development releases
are both tracked (Linux kernel and chromium).

> - Archived installation CD images (e.g. unlike the current NixOS ISOs, they
> wouldn't be deleted after a while).

For above mentioned reasons I let ISOs unchanged (we should make stable
the only enabled channel on those).

Ciao,
Alessio

(*) As you probably have already noticed the numbering schemes are very
subjective: the typical rule on UNIX about minor and major number is
less and less followed (web browsers are good examples here where the
numbering follows marketing needs). For this reason I convinced that we
should stuck at upstream definitions.

(**) In the case upstream makes available more than one stable release
we could pick up as default version the second to last.


More information about the nix-dev mailing list