Re: [Nix-dev] Announcing free-nix: the free Linux distribution based on the Nix package manager
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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