> You are lucky if you get -Wall -Werror.

But why not for instance use a build system in some "container"?

In other language environments that's quite common. It's easy for developers, so there is no issue. I think the project could "bother" contributors with something like that, couldn't it?

> Coverity […] CodeQL […] SonarCloud

An embedded C developer I've talked with quite often on some other forum, who imho is quite competent, said that Coverity is a poor tool that generates way too much false negatives and overlooks at the same time glaring issues. He was not happy about it. Said that's mostly an issue with all OpenSource tools for static C analysis. OTOH the commercial ones are very expensive usually, with a target market of critical things like aviation of safety systems in cars and military use, places where they spend billions on projects. Nothing there for the average company, and especially not for (frankly often underfunded) OpenSource projects.

CodeQL? It's mostly an semantic search and replace tool, as I know? Is it that helpful? (I had a look, but the projects I'm working on don't require it. One would just use the IDE. No need for super large-scale refactorings, across projects, in our case).

SonarCloud, hmm… This one I've used (around web development though). But am not a fan of. It bundles other "scanner" tools, with varying quality and utility. At least what they had for the languages I've actively used it was mostly about "style issues". And when it showed real errors, the IDE would do the same… (The question then is how this could be committed in the first place. But OK, some people just don't care. For them you need additional checks like SonarCloud I guess.)

> Clang’s static analyzer

Heard good things about that one!

Wouldn't it be easy to add at least this to the build by using some "build container"?

> So you understand my pain.

Well, that's why I think something equivalent to `-Wall -Werror` should be switched on before writing the first line of code, in any language.

But as I just checked whether `-Werror` really does what I've expected I came across this here:

https://embeddedartistry.com/blog/2017/05/22/werror-is-not-y...

I have to admit that in the context of C/C++ development they have a point there.

One more reason for "Solution 2.: Capturing the build environment", I guess.

> I submitted a paper to Asia BSDCon 2023 explaining this.

Oh, cool! Good luck with that!

> You should look at the coverity scan results for the Linux kernel. They are far worse.

I've heard the rumors… (The C dude form above was also always talking about that).

But I didn't want to go into that as Linux code quality is a quite loaded topic sometimes.

> I am not aware of another major filesystem that does that much QA. Let me know if you find one.

OK, you have a point here.

I've never looked to close to be honest. Firstly, I have a very hard time reading C. Secondly, I don't want to get scared. And C code always scares me… (Likely because I'm mostly doing Scala, and especially the FP thing. So I get scared most of the time even by occasional `var`s)

> My suggestion is that you go back to punched cards, and keep them in triplicate at different geographically distinct facilities under climate control. Ideally, those facilities will have armed security and be on different continents in places that are known to have low seismic activity. That should keep your data safer than it is on a single ZFS pool.

Sure an option to consider.

But I guess I will stay with engraving my data into solid rock. Proven for at least hundred thousand years.

At least someone needs to preserve the cat pictures and meme of our current human era for the cockroach people of the distant future. I'm not sure they will have a compatible Linux kernel and compiler available to build the ZFS drivers, or even punch card readers…