Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-28 Thread Ludovic Courtès
Hello!

Peter Simons sim...@cryp.to skribis:

 Eelco revoked all access of all regular contributors without prior
 warning.

While I agree that this is a major annoyance (especially as someone who
administrates a Hydra instance and is currently unable to help fix
bugs), I believe it’s mostly the consequence of Eelco and the rest of us
not taking the time to agree on a workflow, rather than a desire to
“reinforce the oligarchy”, to use your terms.  ;-)

I’d personally have preferred the switch to take place once there’s
consensus on the workflow, precisely to avoid that situation.  But I’m
sure Eelco did this in good faith.  And after all, I was among those who
bothered him to switch to Git, so I definitely won’t blame him for
taking the time to take care of this!

Cheers,
Ludo’.

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-28 Thread Ludovic Courtès
Hi,

Peter Simons sim...@cryp.to skribis:

 However, that is exactly the kind of decision to be taken in a vote of
 majority. If the majority of community members feels that we should not
 package non-free software (according to some definition), then that's
 how it's going to be.

If I were you, I would make that decision upfront, making it part of the
distro’s identity.

Then, those who agree with the goal would join in, while others wouldn’t.

Thanks,
Ludo’.

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-27 Thread Marc Weber
 What I am saying is that after 4 years of continuous work on Nix, I have
 a significant investment in this project, and changes that are made to
 this project affect me personally and professionally in ways that may
 not be obvious to the person who is making that change.
Which is why you can't accept democracy either :) (sorry).

But its great - that we all agree that hydra is the key point for
professional usage.

Thus free-nix is about having a free to use hydra?

 Can you see why I am kind-of unhappy right now?
Yes - sure. And you will probably also see that free-nix
can't be lead by democracy either, because you have nixos installed on
100 machines now - This I don't think its going to solve your problems
unless the majority agrees on we will do whatever is necessary to
keep your machines running :)

What we really need is a hydra we all have kind of control over - so
that we all can build and test our experimental branches ourselves.

And here expenses are involved - (which is usually a problem for open
source projects - which is why most of them don't want to touch money at
all)

Anyway: That nixos starts being used that much is a great sign - we
should celebrate it :)

My two cents.

Marc Weber
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Peter Simons
Hi guys,

it is my pleasure to announce the free-nix project, which aims to provide a
user- and developer-friendly free Linux distribution based on the Nix package
manager. The project is hosted on Github at

  http://github.com/free-nix

and it offers two repositories:

 - pkgs is a database of free software packages that can be installed
with the Nix package manager.

 - os   is a ready-to-use Linux distribution that supports many
different architectures, including i686 and x86_64.

Now, you may wonder: what is free-nix's unique selling point? Why is that
project beneficial to anyone in the presence of the already established NixOS
and Nixpkgs projects?

The answers are:

 - free-nix is managed strictly based on democratic principles. There are no
   project owners, and everyone's opinion is equally good. Decisions are made
   by the MAJORITY, and the majority is determined by PUBLIC VOTING.

 - free-nix has a positive attitude towards contributors. This project is based
   on the notion that people generally have good intentions and know what they
   are doing. We don't believe that people should be guided by a technocratic
   oligarchy, but they should be EMPOWERED to live out their creativity with as
   little restrictions as possible.

The initial setup procedure works as follows: everyone who has previously
contributed to Nix, NixOS, or Nixpkgs is entitled to become an owner of the
free-nix organization in Github. All you have to do is contact me and tell me
your Github user name. Naturally, this gives you full access to the Git
repositories and the ability to administer the project.

We'll wait a couple of days for things to settle down, and then the group of
people that comes out of this process is going to constitute itself as a
community by jointly creating a SOCIAL CONTRACT that determines the project's
goals, policies, and procedures.

Best regards,
Peter

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Marc Weber
Excerpts from Peter Simons's message of Tue Jun 26 12:45:18 +0200 2012:
 project's goals, policies, and procedures.
Stating a vision or project goal is great. That has been lacking for
nixos IMHO.

Whether new mailinglists will be created or not - will be discussed
later then?

Announcing a new repo is easy - have you already thought about how to
run test cases (build farm?).
At this point expenses are involved (IMHO).

I understand that its the community who has to decide on that.

New challenges I see:
nixpkgs (the package collection) may provide packages for different
targets in the future, eg there is http://www.android-x86.org/ etc.

I don't know enough about the subject to judge it - just writing down
what comes to my mind. Just thinking that 'free-nix' (whatever that will
be ) may end up in different sub projects in the future.

At least I would love to have similar guarantees on mobile phones as I
have on my desktop pc.

Another topic would be overlays. Eg for Python/Ruby/Haskell packages
there exist already two implementations (mine and the one found in
nixpkgs).

Because there are many different topics which could be discussed - and
because the community is still small I hope that whatever happens
collaboration will continue to happen - nobody can afford to run a linux
distribution on its own today.

Marc Weber
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Andres Loeh
Hi Peter.

On Tue, Jun 26, 2012 at 12:45 PM, Peter Simons sim...@cryp.to wrote:
 Hi guys,

 it is my pleasure to announce the free-nix project, which aims to provide a
 user- and developer-friendly free Linux distribution based on the Nix package
 manager. The project is hosted on Github at

Is this really necessary? Was there any warning from you that this
would happen? If you're unhappy with the way Nix is being run, why not
bring it up and try to convince people to change the overall policy,
rather than try to fork and thereby possibly causing fragmentation in
what's already a small community. I could somehow understand it if
your decision was perceived by me as the outcome of a failed attempt
of convincing the project to go in this direction, but afaics, you
haven't even tried.

Best of luck with free-nix.

Cheers,
  Andres
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Eelco Dolstra
Hi,

On 26/06/12 06:45, Peter Simons wrote:

 it is my pleasure to announce the free-nix project, which aims to provide a
 user- and developer-friendly free Linux distribution based on the Nix package
 manager. 

Well, forking is the most sincere form of flattery, but...

I told you a few days ago via private email that I'm inclined to give existing
SVN committers (and new contributors who've shown that they contribute
good-quality patches) commit access to the main repo, since the overhead of
doing a pull request for every little package update is kinda high.  So if
that's the main reason for forking, you could have saved yourself the effort.

Of course, if it's about democratic principles, feel free to fork.  Technical
issues should be decided on the basis of technical arguments, not a vote of the
public.  I don't think most successful FOSS projects are democratic in the
sense that you mean.

P.S.: regarding a positive attitude towards contributors: I think I've always
been pretty liberal in giving commit access to the SVN repo, so I don't see a
negative attitude there.  But a positive attitude doesn't mean that we should
apply bad contributions.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://www.st.ewi.tudelft.nl/~dolstra/
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Lluís Batlle i Rossell
On Tue, Jun 26, 2012 at 02:34:58PM +0200, Andres Loeh wrote:
 Hi Peter.
 
 On Tue, Jun 26, 2012 at 12:45 PM, Peter Simons sim...@cryp.to wrote:
  Hi guys,
 
  it is my pleasure to announce the free-nix project, which aims to provide a
  user- and developer-friendly free Linux distribution based on the Nix 
  package
  manager. The project is hosted on Github at
 
 Is this really necessary? Was there any warning from you that this
 would happen? If you're unhappy with the way Nix is being run, why not
 bring it up and try to convince people to change the overall policy,
 rather than try to fork and thereby possibly causing fragmentation in
 what's already a small community. I could somehow understand it if
 your decision was perceived by me as the outcome of a failed attempt
 of convincing the project to go in this direction, but afaics, you
 haven't even tried.

Peter, you moved a big piece. :)

I'd still try to push Eelco a bit, whether we can have a collaboration system
closer to what we had in svn. This free-nix is a way to push, but it looks to me
a bit 'unpeaceful'. :)

I particularly tried to request two pulls, which did not get into nixpkgs until
15h later, and were not accepted until Rob *tested* them. 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.

I don't know how settled are Eelco opinions on the collaboration model, but
I think that this kind of free-nix fork looks agressive, and this may not help
in finding agreement on the collaboration. I'd like Eelco to relax on the
desire of microcontrol of nixpkgs, but the lack of agreement may come from Eelco
and me having different goals. In any case, I'll wait for Eelco declarations, to
see where is Eelco's nixpkgs heading.

Regards,
Lluís.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Lluís Batlle i Rossell
On Tue, Jun 26, 2012 at 08:50:52AM -0400, Eelco Dolstra wrote:
 On 26/06/12 06:45, Peter Simons wrote:
 
  it is my pleasure to announce the free-nix project, which aims to provide a
  user- and developer-friendly free Linux distribution based on the Nix 
  package
  manager. 
 
 Well, forking is the most sincere form of flattery, but...
 
 I told you a few days ago via private email that I'm inclined to give existing
 SVN committers (and new contributors who've shown that they contribute
 good-quality patches) commit access to the main repo, since the overhead of
 doing a pull request for every little package update is kinda high.  So if
 that's the main reason for forking, you could have saved yourself the effort.

Hello Eelco,

So how is the procedure? I see it stalled at only pull-request now, but I may
have missed something. I'd like commit access as I had in svn, but:
- should I ask for it? I ask for it
- do you consider my contributions acceptable or desirable, to deserve such
  commit access?

Regards,
Llúis.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Shea Levy
Hi Peter,

On Jun 26, 2012, at 6:45 AM, Peter Simons sim...@cryp.to wrote:

 - pkgs is a database of free software packages that can be installed
with the Nix package manager.
 

Will proprietary or non-GPL'd software be allowed to be packaged in free-nix? 
Or, what do you mean by the 'free' in free-nix?

~Shea
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Marc Weber
Excerpts from Shea Levy's message of Tue Jun 26 15:36:17 +0200 2012:
 Will proprietary or non-GPL'd software be allowed to be packaged in
 free-nix? Or, what do you mean by the 'free' in free-nix?

Peter said:
 and then the group of
 people that comes out of this process is going to constitute itself as a
 community by jointly creating a SOCIAL CONTRACT that determines the project's
 goals, policies, and procedures.

Thus if you want to be a part of it its you having a vote. So its you
who can ask for such ...

I think that's the important thing to understand: In which way will
free-nix differ from nixos.org. And that will not be known until that
SOCIAL CONTRACT exists. Until then everything is void IMHO.

For that reason all people caring about nixos should write down what
they like - and what they dislike - eventually there is not that a huge
difference. We all benefit from a strong (unsplit) community we can ask
for help. Most of us have day jobs - and thus our resources are limited.
Keep that in mind.

Marc Weber
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Peter Simons
Hi Shea,

  - pkgs is a database of free software packages that can be installed
 with the Nix package manager.
 
  Will proprietary or non-GPL'd software be allowed to be packaged in
  free-nix? Or, what do you mean by the 'free' in free-nix?

personally, I believe everything that *can* be packaged in free-nix
*should* be packaged in free-nix.

However, that is exactly the kind of decision to be taken in a vote of
majority. If the majority of community members feels that we should not
package non-free software (according to some definition), then that's
how it's going to be.

Generally speaking, I'd like the free in free-nix to signify that the
project is open for everyone, that there is a low barrier for new
contributors to make an impact, and that everything that's going on is
transparent. But that's just a vague notion I have. What it means,
really, will be decided in the social contract we'll create.

Take care,
Peter

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Peter Simons
Hi Andres,

  If you're unhappy with the way Nix is being run, why not bring it up
  and try to convince people to change the overall policy [...]?

where exactly could anyone bring anything up so that people change
NixOS policy?

Who exactly has the ability to change NixOS policy? 

What exactly *is* NixOS's policy?

Eelco revoked all access of all regular contributors without prior
warning. Until it suddenly happened, there was not the slightest
indication that we would be losing access to the infrastructure that we
have helped build over the last couple of years. Is that in your opinion
the proper way to handle a community project?


  I could somehow understand it if your decision was perceived by me as
  the outcome of a failed attempt of convincing the project to go in
  this direction, but afaics, you haven't even tried.

You shouldn't jump to conclusions. I have expressed my dissatisfaction
with Eelco's nontransparent decisions to him in private e-mail. However,
he brushed me off, and told me that I don't need commit rights to NixOS
because we have a distributed VCS now, so I can commit wherever I want
instead of being restricted to his repository. Go figure.

Take care,
Peter

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Andres Loeh
Hi Peter.

 where exactly could anyone bring anything up so that people change
 NixOS policy?

 Who exactly has the ability to change NixOS policy?

It's vaguely defined. But even if Eelco has in practice most of the
power, it's still in fact a community project, as can be observed by
the fact that if we'd all run away and do our own thing, Eelco would
probably not be able to maintain it all alone, whereas we'd likely
fail as well without him.

 What exactly *is* NixOS's policy?

Also not clearly defined, but so far, it seems to have been
functioning reasonably well without people feeling the need to fork.

 Eelco revoked all access of all regular contributors without prior
 warning. Until it suddenly happened, there was not the slightest
 indication that we would be losing access to the infrastructure that we
 have helped build over the last couple of years. Is that in your opinion
 the proper way to handle a community project?

You should not be so impatient here. Eelco has after years and years
of complaints from people decided to switch stuff over to git. That
should make most of us happy, shouldn't it? The transition has mostly
been extremely painless. Now, Eelco has made a questionable initial
decision about commit access. You can complain about that, but I think
it's much more worthwhile to make him understand that he's wrong on
this particular decision than to use it as an incentive to split the
community.

   I could somehow understand it if your decision was perceived by me as
   the outcome of a failed attempt of convincing the project to go in
   this direction, but afaics, you haven't even tried.

 You shouldn't jump to conclusions. I have expressed my dissatisfaction
 with Eelco's nontransparent decisions to him in private e-mail. However,
 he brushed me off, and told me that I don't need commit rights to NixOS
 because we have a distributed VCS now, so I can commit wherever I want
 instead of being restricted to his repository. Go figure.

Alright. Several of us have had this discussion, I guess. And there's
been a thread on the mailing list, too. My impression was always that
Eelco had this opinion that we could all commit and send pull
requests, but that he never indicated that he couldn't be convinced.
On the contrary, I remember several occasions on which Eelco has
indicated already that the current restrictions are preliminary, and
that he's likely to move to a hybrid model.

I still feel that just forking already is overreacting.

Cheers,
  Andres
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Marc Weber
 Eelco revoked all access of all regular contributors without prior
 warning.
Everything is still open source - so we all could fork anytime (which
you actually proofed). We all have local copies - so ...
But its also known (to me) that Eelco started getting more and more
interested in git very recently (less than many years) - I'd vote for
giving this change some additional time.

I invite you to use the gist to push your changes to unless we all know
what will happen in the future - and how different our vision is from
Eelcos (maybe he doesn't know yet himself). I know that I'm thankful for
almost all of his work and time he spend on this project - even though I
may not agree on all details.

You say that you want democracy - and that the policies should be
(initially) created by the community - but community in 2 years may have
different feelings than the core has today - so your community may not
be more stable than nixos (for those reasons).

Thus if 30 devs join - will you start negotiating about policies again?

 indication that we would be losing access to the infrastructure that we
 have helped build over the last couple of years.
The nixos/nixpkgs repositories are on your disk (you have git copies).
So it can't be lost.
Hydra? The source is there, too. but who pays the electricity and the
servers? ... (Thanks to whoever does it).

We all don't know what Eelco will do with this project in X month.
We will never do - but neither do we know what a community like free-nix
would do with the core in Y month.

It is important that we (the community) can fork whenever we want when
we feel it is necessary.

And Eelco moving to github does not make me think he's trying to prevent
this in any way because all code is still public.

Maybe Eelco has time to talk about what he wants to do with nixos in the
future - maybe we can understand his choices better and maybe even
assist him.

There are so many use cases for nixos:
  - mobile phones (android)
  - desktop pcs (linux like ..)
  - server systems (security is very important here)

That maybe one distribution won't be enough in the future anyway.
That's why it may make sense to delay the decisions when and what to
fork till such different use cases get more urgent.
Eg Gentoo has a hardened version: http://en.wikipedia.org/wiki/Hardened_Gentoo
which indicates that some forks happen naturally due to different
requirements. Thus if you want free-nix to be a success - you setup a
system which allows such different projects to co exist.

So whatever you want - you will never have common sense in your new
community - which is why I think that your fork alone will not solve any
potential issues.

In the end we all want to improve the fitness of the nix package
management system so that we can adopt it to different needs easily
without switching tools (That's my impression).

Marc Weber
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Phil Hagelberg
Shea Levy s...@shealevy.com writes:

 Hi Peter,

 On Jun 26, 2012, at 6:45 AM, Peter Simons sim...@cryp.to wrote:

 - pkgs is a database of free software packages that can be installed
with the Nix package manager.


 Will proprietary or non-GPL'd software be allowed to be packaged in
 free-nix? Or, what do you mean by the 'free' in free-nix?

It's always bothered me that nix doesn't appear to have anything like
the DFSG. (http://www.debian.org/social_contract#guidelines) Asking for
a package like Mozilla and having the non-free Adobe Flash plugin
installed behind my back was a bit of an unpleasant shock for me. I
understand that there are those who want that kind of thing, but putting
it in the main package source intermixed with the free software makes it
harder for me to trust nix.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Kirill Elagin
This kind of problem absolutely should be reported as an issue in GitHub or
elsewhere.

For me as for still a pretty outside observer it seems that the main
problem of NixOS for now is lack of… let's call it specifications. I'm sure
all those issues will be addressed sooner or later when we develop
something like NixOS guidlines. Social Contract is a good thing. Policies
and recommendations how different things should be done are good too. A
fairly large project can't exists without them.
For now we just need all the complaints and problems collected somewhere.

--
Кирилл Елагин


2012/6/26 Phil Hagelberg p...@hagelb.org

 It's always bothered me that nix doesn't appear to have anything like
 the DFSG. (http://www.debian.org/social_contract#guidelines) Asking for
 a package like Mozilla and having the non-free Adobe Flash plugin
 installed behind my back was a bit of an unpleasant shock for me. I
 understand that there are those who want that kind of thing, but putting
 it in the main package source intermixed with the free software makes it
 harder for me to trust nix.
 ___
 nix-dev mailing list
 nix-dev@lists.science.uu.nl
 http://lists.science.uu.nl/mailman/listinfo/nix-dev

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Marc Weber
I've just collected those two items here.
https://nixos.org/wiki/TODO_-_What_is_missing_in_the_nix_community%3F
If more popup add them.

Let's keep in mind that nixos is young - and that there might be
additional requirements tomorrow. Thus let's think carefully about which
policies we need - the more policies - the higher the burden - the less
patches will happen - the more work. They must be reasonable in any
case.

I mean there are many unwritten policies such as we use upstart right
now - everybody knows - still there is no policy document about it.

We can use sucha a/that page to discuss reason for / against supporting a fork
such as free-nix, too.

Marc Weber
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Sander van der Burg - EWI
I've just noticed that there is a very big mailing list discussion going on 
here. Actually, I'm very busy now with writing my PhD thesis and I didn't 
really have the time to respond yet. Nonetheless, I think it's important that I 
express my thoughts about this matter, although I haven't read all the previous 
messages in this topic very thoroughly.

I see a lot frustrations expressed in this discussion and I also noticed that 
Eelco is blamed for all kinds of issues. Although I don't want to deny that 
there are issues in our project (such as the way repository access is 
arranged now, and several technical dissatisfactions in Nixpkgs), I think 
some conclusions that are drawn are too simple and I don't see the free-nix 
fork as the solution for this. Furthermore, it is also a bit cheap to blame 
Eelco for all these issues.

Let me give you some thoughts:

- I still remember all the discussions we have had about adopting a DVCS. 
Actually, (if I still remember it correctly) we had a huge mailing list 
discussion somewhere in August 2010. But long before that, we have had many 
discussions as well. What I've noticed is that all these discussions were 
mostly about the technical aspects of these tools and why they are better than 
Subversion or a particular other type of VCS. To me it also looked like 
everybody had his own favourite DVCS system and nobody really agreed which one 
was the most suitable. The only thing that everybody had in common is that 
using Subversion was inferior. Unfortunately, we cannot simply pick the 
solution that everybody likes.

- A long time ago, back in 2007, I tried to raise a discussion about 
organisational aspects of using a DVCS. I'm in principle also a proponent of 
using a DVCS, but I also think that in order to use such a system properly, we 
need some kind of organisational structure that works for us. Unfortunately, 
these discussions always resulted in technical aspects rather than 
organisational discussions. I think we still haven't thought properly about 
such a structure, and that's why several problems have arised now. 

In the Linux kernel development process, the only official tree is Linus' 
kernel tree. Linus only works with a small group of people each maintaining a 
subsystem of the kernel, such as the memory manager, I/O scheduler etc. These 
subsystem maintainers have their own tree (which they regularly merge with 
Linus' tree) and they have other people that they work with. This 
organisational structure is what Linus calls a network of trust. This 
development model makes sense for Linux.

For Nixpkgs/NixOS and other Nix subprojects, we haven't really properly thought 
about such a development model and I have never heard any concrete suggestions 
what we should do and what we shouldn't do.

The reason that many contributors do not have access to the main Git repository 
is not that Eelco wants to exclude people. It's simply because we (the 
community as a whole) have no clue how the distributed development process for 
the NixOS project should be organised. There are still a lot of aspects that we 
should think about and decisions that must be made, which haven't been done yet.

For me it's ok that simple package updates (e.g. a version bump) go into the 
main repository directly. What I don't like is experimental/unfinished stuff 
that may potentially break all kinds of packages immediately become part the 
main repository. New concepts or significant changes (such as implementing a 
new stdenv or a new NixOS module system) should be developed in a separate tree 
and be merged once they are considered stable/mature enough.

We have to discuss these issues, come to a consensus and write these ideas down.

- Important decisions should also be communicated through the mailing lists, 
before they become part of the main tree. For example, I still remember this 
huge Python packages update, that broke nearly every package that uses Python. 
I don't want to encounter such a major change anymore, without discussion.

- I also agree with some here that Nixpkgs is big and could be better 
modularised. This would properly also make it easier to implement a better 
organised distributed development process. I already have some ideas in mind 
which I haven't communicated to the mailing list yet, but implementing these 
will also take a lot of time and effort, which I don't have right now, 
unfortunately.

So I see some room for improvement and things we have to think and discuss 
about. I'm not blaming anyone in particular, but I think that many of us in the 
Nix project are responsible for this, not just Eelco or some other person.

From: nix-dev-boun...@lists.science.uu.nl [nix-dev-boun...@lists.science.uu.nl] 
on behalf of Marc Weber [marco-owe...@gmx.de]
Sent: Tuesday, June 26, 2012 7:07 PM
To: nix-dev
Subject: Re: [Nix-dev] Announcing free-nix: the free Linux distribution based 
on the Nix package manager

Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Bryce L Nordgren
 In the Linux kernel development process, the only official tree is Linus'
 kernel tree. Linus only works with a small group of people each maintaining
 a subsystem of the kernel, such as the memory manager, I/O scheduler etc.
 These subsystem maintainers have their own tree (which they regularly merge
 with Linus' tree) and they have other people that they work with. This
 organisational structure is what Linus calls a network of trust. This
 development model makes sense for Linux.


US Military and the civilian Incident Command System call this Span of
control: One person can do no more than five things well. So, the one
person in charge divides responsibilities to 5 or less subordinates. This
goes on down the line until actual work transpires. As you say, the use of
a DVCS is merely a technical device to facilitate the hierarchical
organizational structure.



 For Nixpkgs/NixOS and other Nix subprojects, we haven't really properly
 thought about such a development model and I have never heard any concrete
 suggestions what we should do and what we shouldn't do.


I can lay no claim to long history with this project, I can only tell you
what features distinguish it from other efforts in my mind, and how I hope
to be able to use it one day. At your core is Nix. Nix's primary feature
is that it manages software installations and software consistency for many
masters: system admins as well as users. If you get any larger than a
single-person company, these two masters are commonly at odds. What I hope
for is that Nix/NixOS inspires an enterprise software deployment model
where end users (such as myself) can package and install software specific
to my needs, while leaving the security and network configuration to the
CIO. And of course, the big benefit is the common pool of packaged software
called The Distribution. Everyone should benefit from the distribution.
But there should also be a feedback loop to capture new packages and common
configurations developed by those who use the distribution; and there
should be a plan for handling variations on a theme. This should be scale
invariant, like a fractal pattern: the same processes which allow competing
end-users within a single organization to coexist should also allow
competing organizations to coexist within a single distribution.

So the question in my mind is not: How does the community come to
agreement on the One True Way to which everyone must adhere? The question
is more: What organizational structure retains flexibility for
subcommunities having differing interests while maximizing the common
benefit?  This is compatible with the original Nix philosophy of allowing
variants to coexist side by side.

Switching to a DVCS is definitely a step in the right direction, but it's
just a tool, and can't resolve the human disputes. Other tools may need to
evolve which make some of the human disputes moot. Management and
integration of small forks, may require that Nix expressions start to
understand URLs instead of just paths. And end users may want to pick and
choose packages from multiple small forks, because they don't totally agree
with the decisions made by any individual project. It seems to me that Nix,
Hydra, and the proper application of channels should be able to minimize
the amount of end-user compiling required to install a truly custom hybrid
system.

Seen from this perspective, the nixpkgs/nixos repositories are rather
monolithic: You'd have to manually assemble a complete Nix expression in a
directory on your system, composed of some free-nix expressions and
some NixOS expressions. Then you'd have to manually merge in changes as
time goes on. Is there a better way to modularize Nix expressions into
libraries, such that assembling a complete expression could be
automate-able? Maybe instead of a static composition, do the composition
with a Nix-compiler? (a Nix-linker?) I think NixOS and/or free-nix should
both allow for a new reality: the end-user's computer may not be installed
from a single upstream source of expressions. Modular things, allowing for
coexisting variants, make for harmony. Monolithic things make people
compete so that they're not the ones who get left out.

Anyway, that's what I see Nix's potential to be.

Bryce
Bryce
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Eelco Dolstra
Hi,

On 26/06/12 18:58, Bryce L Nordgren wrote:

 Seen from this perspective, the nixpkgs/nixos repositories are rather
 monolithic: You'd have to manually assemble a complete Nix expression in a
 directory on your system, composed of some free-nix expressions and some
 NixOS expressions. Then you'd have to manually merge in changes as time goes 
 on.

No, it's perfectly possible to have Nix packages or NixOS modules outside and
built on top of those trees.  For instance, you can write a Nix expression in an
external tree that does

  with import nixpkgs { };

  stdenv.mkDerivation {
name = my-package-0.1;
buildInputs = [ bla ];
...
  }

And NixOS is inherently modular thanks to Nicolas Pierron's work.  A NixOS
configuration can import modules from anywhere.

I use both of these aspects all the time to define stuff outside of the
Nixpkgs/NixOS trees.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://www.st.ewi.tudelft.nl/~dolstra/
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Eelco Dolstra
Hi,

On 26/06/12 12:02, Peter Simons wrote:

 Eelco revoked all access of all regular contributors without prior
 warning. 

The Git migration has been going on for a while, so in that sense the actual
switchover shouldn't be *that* unexpected.  I then asked for input on the
desired development model, in which I made it clear that continuing the existing
policy was an option if people want that.

Yes, we should have decided this beforehand, but in all the years of
bikeshedding over what DVCS to use, nobody bothered to say what kind of
development model they wanted (even though I asked!).  Using a completely
centralised model with a DVCS is hardly the most obvious choice; nevertheless,
you chose to interpret the mere suggestion of using a Linux kernel-like model as
a personal affront.  That's really not necessary.

If you think I was moving too slowly (a fair enough criticism), some prodding
via email or IRC would be more effective. :-)

   I could somehow understand it if your decision was perceived by me as
   the outcome of a failed attempt of convincing the project to go in
   this direction, but afaics, you haven't even tried.
 
 You shouldn't jump to conclusions. I have expressed my dissatisfaction
 with Eelco's nontransparent decisions to him in private e-mail. However,
 he brushed me off, and told me that I don't need commit rights to NixOS
 because we have a distributed VCS now, so I can commit wherever I want
 instead of being restricted to his repository. Go figure.

For the record: that's not at all what I told you.  What I wrote was:

 A completely decentralised policy is a
 completely legitimate option; that's what the Linux kernel uses, after all, 
 and
 it works for them.  But like I said, that seems rather cumbersome for Nixpkgs,
 so I'm more inclined towards the centralised/hybrid model.  And in that case
 you'll obviously have commit access.

In other words, I made it clear that giving you should have commit access.  So
if you'd bother to read what I wrote and were slightly less inclined to take
offense at perceived slights, you could have saved yourself some effort.

Also, please read

  http://producingoss.com/en/forks.html#forks-initiating

and ask yourself if you've exhausted all possibilities before starting a fork.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://www.st.ewi.tudelft.nl/~dolstra/
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager

2012-06-26 Thread Peter Simons
Hi Eelco,

if you bear with me for a second, I'd like to explain where I'm coming
from.

I have contributed to Nix regularly for the last 4 years. According to
the stats at Github, I've submitted an average of 1.6 commits per day
over that entire period of time. I'm not saying that because want to
imply that the value of anyone's contribution ought to be measured by
the number of commits. All I'm saying is that I have been very involved
in Nix. I have dedicated a lot of time working on this project. By now,
I have installed Nix on well over a hundred different machines. Every
machine I own runs NixOS. Every server I rely on runs NixOS. Every
workstation I use has Nix installed. I am a very happy Nix user, and I
admire the work you have done creating it. I want Nix to be successful.

Some of the machines that I use cannot compile big packages. So I've
relied on Hydra to provide binaries for them. Furthermore, I've been
relying on my ability to modify the package set that Hydra builds and
provides binaries for. I sort of assumed: if there is some problem, I'll
commit a fix, and a couple of hours later I'll have binaries for every
machine.

Arguably, it was a bad idea to rely on the infrastructure from Delft to
that extend. But, well, it worked great for the last couple of years, so
I didn't even realize the extend to which I am relying on it.

Then, one day, I wake up and find my access to that infrastructure is
gone. I can no longer commit, and consequently I can't utilize Hydra
either. Duh! If I would have known that this is going to happen, say 1
day in advance, then I could have set up Hydra myself and make sure that
my working environment isn't affected in any way, but I had no chance to
do that because my access to the Nix infrastructure disappeared without
prior warning.

What I am saying is that after 4 years of continuous work on Nix, I have
a significant investment in this project, and changes that are made to
this project affect me personally and professionally in ways that may
not be obvious to the person who is making that change.

Now, it is true that the move to Github was announced well ahead of time
and everyone knew about it. However, no-one I have talked to knew that
this move would make all developer accounts disappear. That detail feels
significant, and it would have been a good idea to communicate that fact
to make sure everyone in the community has a chance to prepare for that
situation.

I appreciate that you intended to try a different development model.
That's fine with me, but it would have been really nice if we -- the
developers -- could have been informed about a sweeping change such as
this one before it actually happens.

Can you see why I am kind-of unhappy right now? Can you emphasize with
my feeling of disappointment? Or do you think that my perception is
unreasonable?

Take care,
Peter

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev