In open source you don't get that option. Where you have a known set of build tools it is easy to use -werror, and if a new toolchain is added someone gets assigned to clean it up.
This only works if the maintainer cares enough. I’ve encountered maintainers who, bizarrely, are strict with “no warnings” but only when it comes to their preferred toolchain. Me: “Here’s a patch to get your project to compile cleanly using the Green Hills compiler targeting MIPS.” Maintainer: IDGAF. Rejected.
I've not been in the situation yet, but it makes sense to me.
Accepting a patch like that can be a significant commitment of time and brain power. "What exactly does this fix? Does it actually fix it?". Such patches can be a lot more complicated than a straightforward new feature.
And then there's that oddball compilers may not support everything gcc and clang do, so making them happy may actually mean sacrificing something.
Thatis a different situation. In commercial softeware you know your compiler and (if you care) you assign someone to fix the warnings on every upgrade.
In open source you never know what compiler someone will use. You can probably say gcc 3.0 isn't supported, but someone might have just built the latest master clang with a new warning added.