Hi Arun, thank you for your detailed analysis! Arun Isaac writes: [...] > I meant that Guix has very high coding/packaging standards in the > following senses: > > - We prefer to not bundle dependencies. Tracking out bundled > dependencies, git submodules, etc. and figuring out how to rewire > everything so it works with unbundled dependencies can be really > tricky for some packages. more than tricky: sometimes /impossible/ this is a /huge/ complex issue (I know you know) that some upstream developers simply ignore; in a sense I feel that Guix was developed /also/ to help solve this issue and avoid programmers to invent too creative ways to distribute theis software dependencies ...but it's a hard work, it needs... zen discipline anyway: AFAIU all of us do agree that this requirement is a Good Thing™ and we have to keep it as a "core requirement" also, AFAIU there is no way Guix maintainers can help in making this process easier or automatic: right? > - We build strictly from source. This is also a requirement now adopted by many other distributions, at least all the ones in https://reproducible-builds.org/who/projects/ > - We aim to package tests for all packages. is there something different that should be done? do this requirement (is it a requirement?) need to be better documented or discussed? > - We have strict conventions for commit messages. Our commit message > Changelog is a strange dated practice from the time before good > version control systems. I can live with it, but not everyone likes > it. Let's just say I've heard complaints about it offlist. AFAIU this is a requirement Guix inherits from GNU (being it a GNU project) I don't remember the ratio for this requirement but AFAIU it made sense to me when I read that. I just hope this requirement is refraining people to contribute and to review patches. Maybe we could help users not using Emacs with other editor-related snippets in [~/src/guix/]etc/snippets? (I don't know other editors templating systems) > - We don't just list the main license of a package. We trace out the > license of each and every file, if they are different from the main > license. Is it possible to write an helper tool?!? I have still not searched for one such tool, maybe other distributions do have such a tool? BTW AFAIU this is a legal requirement we cannot avoid, even if sometimes it's avoided by some upstream author > - Our synopses and descriptions are not casually copy-pasted from the > project website. We try to rewrite and improve on them if necessary. AFAIK similar requirements are "enforced" by all other distributions > - We have to be careful about pushing changes that will cause too many > rebuilds. We have a core-updates process for that. Could this be automated by a pre-commit hook? [...] >> please can you expand on this? What is that cost of failure? > > The cost of failure is mostly in the mind. A commit is something that > has your name on it and lives on in the repo history *forever*. So, it > better be good. That's the pressure. I do have one or two commits in the > guix repo with badly borked commit messages. OK thanks, I understand [...] >> specifically speaking, IMHO in cases like this you should send an >> email-reply to that bug (patch) explaining the 1% you are unsure of > > Yeah, I would. But, often that 1% is too nitpicky to be worth > reporting. Sometimes, I fix the 1% myself and push. But often, I confess > that I just leave it to other committers. I don't imagine a specific use case, but nevermind [...] Thank you! Gio' -- Giovanni Biscuolo Xelera IT Infrastructures