@fricklerhandwerk motivation: delineate our responsibility, enable maintainers to say “yes” or “no” to proposals and requests on the spot
- @edolstra yes, have to pick something we want to take on as responsibility
@roberth proposal: “Nix is a foundation for all software”
@fricklerhandwerk: “Nix underpins all of software development”
- @tomberek: needs a clear line, what does not do?
- “Nix is a cornerstone of software development” (such as Git and Linux)
- “Nix is the reproducibility layer in software development”
@edolstra: “Nix is the configuration management layer”
- broad term, would have to explain it
- @fricklerhandwerk: not a problem, the document is for us maintainers, only to enable us check if sub-items of vision match the definition
- @roberth: no, it’s too specific, this is not how people will read this
- @tomberek: but that’s the trick - we have applied config mgmt methodology where it has not usually been applied to
- @edolstra: “Nix is the configuration management layer”
- “Nix underpins the entire software supply chain”
@edolstra: people will associate different things with “software supply chain”. “configuration management” is a much more established term
- academic definition: https://www.sebokwiki.org/wiki/Configuration_Management
- but in the industry “configuration management” is interpreted much more narrowly, associated with things like Puppet and Chef
- @tomberek: like clear technical language, but it will confuse people. look at Docker, they had to invent/adopt a term to even say what it is about
- @fricklerhandwerk: if we are clear enough with terms, confusion will cease eventually. on the other hand, which term would we come up with on the spot that describes Nix appropriately?
- @edolstra: originally it was a package manager, but that is too narrow. it could be a universal build tool, but even that is too specific.
- @edolstra: people will associate different things with “software supply chain”. “configuration management” is a much more established term
- @tomberek: “Nix is the universal build and configuration management tool”
@fricklerhandwerk: can we agree on the “configuration management” wording, apart from potentially confusing people
- we can explain or link to that definition
- @roberth: that’s asking the wrong question. who is the document for?
- for the maintainers first, as above
- (general agreement on the introduction section)
- @fricklerhandwerk: “Nix underpins all of software development”
@edolstra: should define the target user base right now, otherwise the vision is to have a vision
@tomberek: software developers?
- @fricklerhandwerk: too narrow, natural scientists use it, too. it’s not about just software, it’s more like knowledge management. need a positive definition which also clearly implies its complement.
@tomberek: anyone who wants to manage the complexity of modern software
- @fricklerhandwerk: yes! @ners said: Nix exposes the complexity of software and also allows managing it. still need an expression that helps potential users determine if they are in the target audience.
@edolstra: anyone who wants to build stuff from other stuff in a reproducible, declarative way
- @fricklerhandwerk: “build” is a highly specific term in software development, and what is that “stuff”?
- we transform sequences of bits into other sequences of bits. may be computer programs or presentation slides
- we transform files into other files. may be computer programs or presentation slides
@tomberek: for the goal of “saying no”, are there any examples from the past where we said “no”?
- mutable changes to store
- domain-specific functionality
- non-reproducible derivations, downloading random stuff from the internet
- @tomberek: software developers?
@fricklerhandwerk: that was great. let’s go through this level of detail systematically in the next weeks. that would already be a good outcome. from then on we can say “no” for the next 5 years or so…
@edolstra: yes, take out lots of details next time, too