[Nix-dev] how does NixOS ensure focus?

hasufell hasufell at gentoo.org
Mon Jul 28 03:55:01 CEST 2014


Hey folks,

I'm a gentoo dev since 2 years and have come across the NixOS project
recently which looks quite revolutionary.

However, since I'v seen a lot of things gone wrong in distros (primarily
gentoo), I am curious if you have a concept for ensuring that NixOS
stays focussed.

That may sound weird, because you probably know what you want right now,
but from my limited experience that may change drastically depending on
your political, organizational and collaboration model.

I'm not entirely sure myself what the right way here is or if you even
think that focus is needed.

However here are some thoughts about it that crossed my mind.

A lot of projects (some successfully) ensure focus by limiting the
number of core developers to the absolute minimum, which means
decision-making is pretty easy. At the same time they open up the gates
for random collaboration. This implies a well designed review workflow
with very responsive and active developers for this to function
properly, otherwise people will give up on overcomplicated contribution
procedures/channels and do their own thing.
I'd pretty much say that the linux kernel runs this model successfully,
although reasons for this are probably a bit more complicated.

Gentoo here is almost the complete opposite with >200 core developers
and it is rapidly losing focus and consistency every year. Decision
making is a cumbersome process, there are too many diverging ideas,
although we have a "council" to settle global issues (doesn't work very
well). That in turn leads to less people caring about global issues and
new ideas or about fixing non-trivial fundamental problems.
There is also no enforced internal review workflow. People want to "get
things done" and avoid unnecessary reviews. That is dangerous and has
led to serious problems in the past.
At the same time, a lot of our contribution channels have failed and are
too complicated. Because the number of random contributors is
decreasing, we add more core developers to the team, causing even more
internal problems.

I almost think that a centralized distribution model is doomed to fail.
That does not only include the workflow with review platforms, DVCS
tools etc., but also the political and organizational structure.

I don't see much information about these points on your website (only
technical stuff). What are your solutions to the mentioned issue, if
any? How do you ensure focus and collaboration at the same time?


More information about the nix-dev mailing list