[Nix-dev] The Church of Suckless NixOS is looking for followers

Jan Malakhovski oxij at oxij.org
Sun Mar 19 01:01:00 CET 2017


Lukas Epple <post at lukasepple.de> writes:

> On Sat, Mar 18, 2017 at 11:20:00AM +0000, Jan Malakhovski wrote:
>> - Don't PR our changes to nixos subtree (a waste of time)
>
> I think this is childish, or even dangerous.
>
> What I see in this, is the following: A lot of “we know things better
> and nobody can appreciate or realize that”. You got to recognize though,
> that, if you actually know thing better, chances are, that you are wrong.
> Most likely you are just not communicating properly to others.
>
> Instead of wasting your time on a NixOS fork, just build an abstraction
> over *any* init/daemon management system (so atm systemd, openrc, runit,
> sinit, …) and get it into NixOS upstream for great good. Just looking at
> the wonderful abstraction NixOS has already given us, I am sure, that it
> is indeed possible to incorporate two very different approaches to Linx
> distribution architecture into NixOS.

Firstly, most of us have already maintained our own NixOS forks for
years, essentially. Oldest commit in my branch that was rejected by
NixOS but is still in use recently celebrated its third birthday.

Then we exchanged our patches for a while. And now our group got tired
of duplicating all that work and decided to cleanup and merge our forks
together and then just implement all the things we wanted, but
self-censored ourselves for various reasons ("won't get merged anyway,
why bother", "will publishing this get me on a list of bad children?").

Secondly, I think the problem with NixOS is that there's no explicit
goal and no (or not enough) actual maintainers that push towards that
goal. If the implicit goal is to freeze everything as is, then the fork
with other goals is due. But if the goal is to have a general
declaratively configurable privacy-respecting secure by default UNIX
system that targets different use cases and hardware, then something is
broken in the current system.

Because most changes that are too far from "leave it as is" approach get
bikeshedded, rejected and then, sometimes, reintroduced piece-by-piece
(with inferior implementations, usually) several years later when core
developers with direct commit access finally get the same itch. Just
read some old unmerged PRs yourself. I wanted a nice netboot three years
ago. Sorry, too complicated, initrd must not have any networking. Two
and a half years later we now have `initrd.network`, sshd in initrd, and
netboot installer profile that gets patched towards my old general
declarative thing a little by little (currently at ~30%). Monoidal
services? Nope, too complicated for hypothetical grandmas. Any other way
to get multi-instance services? Nope. Use flags? Bikeshedding x 3, lets
just leave it as is, close. Declarative networking? No interest.
Declarative firewall? Three or four PRs of bikeshedding and no actual
results. Just browse the old PRs and GitHub network graph for nixpkgs.
There's a lot of interesting stuff there that just bitrots. A pity.

As Vladimír Čunát writes above:

> .. and additionally it won't be easy to push it through the
> community(+Eelco) to upstream nixos.

Which is exactly our point. If NixOS reorganizes itself we will
eventually silently dissolve. But I can remember at least two other
attempts at forking that then dissolved after similar feedback and
general hopeful words from core devs. And then business as usual.
Nothing changed.

Anybody else remembers free-nix? I remember because those guys invited
me to be a maintainer, which I formally was for a week, didn't actually
do anything, before it dissolved. Let me cite something from that age

On Tue, 26 Jun 2012 14:54:17 +0200 Lluís Batlle i Rossell <viric at viric.name> writes:

> ... That meant for me an amount of work much bigger than a simple svn
> commit, and I decided to stop requesting pulls.
>
> I keep my own fork, and I merge regularly from niksnut's nixpkgs. I've not taken
> a look at free-nix repositories, but I imagine I could sync with them too; my
> "master" of nixpkgs has only commits I'd desire in a public nixpkgs; it's not
> that I abuse it considering it's mine.

We announced here because everyone else announced here, and announcing
elsewhere would be like talking behind NixOS's back.

Our message is simple: We are not happy. We have our goals and we are
willing to do sacrifices for them.

Next time you PR gets rejected remember this, remember us, check out our
agenda and consider contributing.

Cheers,
  Jan and Co


More information about the nix-dev mailing list