Personally I have used Guix to convert a CentOS "appliance" into a full-blown desktop system, on a professional contract[2].
0: https://guix.gnu.org/blog/2018/gnu-guix-receives-donation-fr...
2: https://guix.gnu.org/blog/2019/running-a-guix-xfce-desktop-o...
The article mentions: "We are excited that the Nlnet Foundation has sponsored this work!"
https://nlnet.nl/project/GNUMes/ mentions "This project was funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme".
So this is funded by the EU.
And I am unsure how 'active' development is, I have no insight, but it has been in existence for so long and still no one I know has ever used it. On the other hand NixOS[2] (or Nix as a package manager in similar vein) seems to be used heavily by some Power Users.
[0] http://www.gnu.org/software/software.html
Here is their git repository: https://savannah.gnu.org/projects/guix
Here is the web interface to their issues and patches mailing list: https://issues.guix.gnu.org/
As you can see although the project is less popular, it is no less actively developed and you can easily find system configurations by searching git{hub,lab}.
'GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom.'[0]
NixOS is developed using the MIT license and does seem to just want things to work.
I am bringing this up purely as a question, is that fear justified or am I missing something? Would be glad for a take on this from someone who knows more.
That said I really want to learn more about Guix. It seems like a more pure impl of a functional package manager but haven’t worked with it enough to know the difference.
At any rate, the choice to go "have a pure base" is the right one IMO: it's nice to have a system where I know I have the right to use/modify/distribute changes to the entire thing. It's easier to start with that pure base and add impurities if you need them (eg if your hardware requires blobs to operate it) than the reverse.
That said I think it would be helpful if there was a place to direct users who need to figure out how to install such blobs, even though I agree that the official mailing lists and project repository should not be it. (I am running a blobbed kernel on my current machine because I have to, but I previously was able to run with the linux-libre kernel Guix ships with. It's definitely possible to do if you need to, just not well documented.)
There are a few unofficial channels that do package proprietary software for Guix, though they're of course not advertised on the official Guix site, etc.
For one nix simply doesn't have a project focused on bootstrapping. As another example compare rust bootstrapping[0] versus using a rust binary[1]. Nix also has no alternative to guix challenge[2] or guix pack[3]. Even a comparison of their documentation shows this difference.
The question is if you consider these measures useful, and if you think bootstrapping is even an issue in the first place. To me this is the bigger question when comparing the two projects, as depending on your philosophy guix is either taking necessary precautions or unnecessary mitigations.
Given posts like this their marketing is okay, I haven't seen much unnecessary childishness - but both projects are fundimentally complicated thus have to invent words for concepts and there's nonguix[4] and most people run nix on GuixSD for their non free software needs.
I doubt guix will be more popular than nix anytime soon, but I don't think NixOS will be more popular than Arch anytime soon either.
[0]: https://guix.gnu.org/blog/2018/bootstrapping-rust/
[1]: https://github.com/NixOS/nixpkgs/pull/85542
[2]: https://guix.gnu.org/manual/en/html_node/Invoking-guix-chall...
[3]: https://guix.gnu.org/manual/en/html_node/Invoking-guix-pack....
"guix challenge" challenges different substitute servers and also compares what they offer with what you may have installed (whether you built it locally or downloaded it from elsewhere). It's really quite different from "guix build --check".
It seems to already have more packages though (60,000 vs 11,000).
I guess NixOS, and also Guix, will be used first in domains where both recentness of tools and libraries, as well as the capability to exactly reproduce software and results are important, such as in science, AI and commercial data analysis.
You seem to be a bit new to this issue.
Building software from source and using FLOSS licenses makes sure that the software is available in the long term and can be developed further (even if the original developers lose interest or run out of time for that).
There are many more advantages in using free (copyleft) software which can be build from source, and making this capability available to the end user as Guix does:
- better privacy protection (the software does not phone home or leaks your private data, as does, for example, Zoom)
- a working software which is used will not be simply withdrawn and be forbidden to use (as many Google software projects).
- useful standards and file formats, such as markup in text documents are available in the long term (I still have latex sources from 1993 around which I wrote in another language that uses different char sets, and which I can today compile without any problem).
- FLOSS software also has the advantage that it is more economical with attention (a very precious human resource), as it only display useful stuff and does not extra things that only have the purpose to capture the attention of the user. For example, I really hate it when I open a web browser with a blank page, to look up something I am working with, and it is full of advertisements for news for completely unrelated stuff up to sexual gossip and celibrity trash, when what I need to do is concentrated work. Once you have become aware of how much many nonfree software wastes your attention, and that this is actively against your interests, it is difficult to ignore that.
- it does not need to assume unrelated features to compete, which prevents feature bloat and improves usability (your picture viewing program does not need to be a file manager, and your image editing program not a publishing platform)
- preventing feature bloat and open interfaces also improves its interopoeration with other software (who does really believe that MS Word is usable?)
- preventing commercial-driven featuritis is also good for long-term usability. I learned to use Unix in 1994 I believe, and I can still navigate and inspect the file system using cd and ls.
- Using open standards also means, for software developers, that their knowledge does not goes out of date quickly or becomes unusable when they change employers. Non-free software tools have a much shorter half-life (anyone still using Silverlight or Visual Basic?), and this means a lot of your learning effort becomes useless after a few years. This might be a minor advantage for somebody who has worked one year or two but it makes a big big difference after many years of working.
- As a lot of innovation happens incrementally and evolutionary, and innovation is based on open exchange of ideas, free software is very open to innovation. At the same time, as working code can always be shared (as, for example, the code for the build daemon in NixOS and Guix), innovation is better conserved than in closed-source software with usual commercial licenses. At a previous employer, I mighhjt have done a really good job with some kind of signal processing which would be useful for things like making wind energy more reliable, but the project manager fucked that up, the software is closed source, and the effort is lost to humanity. I would very much prefer the generation of my niece to get the returns of the work I did.
I could go on for half an hour but I have something else to do :)
But, all of this boils down to that the software on somebody's computer is controlled by its user, not somebody else or a big company which has interests very different from him (or her), and this is what the GPL is about. And yes, the GPL is a means to some end, one could discuss how to reach its specific goal in a different way, but simply labeling its intention as "childish" is just FUD (https://en.wikipedia.org/wiki/Fear,_uncertainty,_and_doubt).
As an Emacs user who contributes packages occasionally - yup, that's about right! It's a really natural combination. Every so often I'll run across something I want that's not yet packaged for Guix, and if you're used to hacking on elisp the Guix package definitions aren't too hard to get the hang of.
I think it's the only distro I've used that readily accepts new packages from the community (with review of course) - haven't used it myself but I think NixOS/nixpkgs is similar in that regard.
The FSF is GNU's sponsor, and provides some infrastructure, but generally hasn't done too much in terms of funding the project. However other funding has happened in terms of NLNet, Outreachy, GSoC, and some stuff with the Guix HPC project. But far and away the majority of contributions are from unpaid contributors.
> We are excited that the Nlnet Foundation has sponsored this work!