If you look at projects in more popular languages like JS, Rust, Python. There is plenty of new blood in the contributors list. I won't speculate as to why, but it looks like the new generation doesn't like c and c++.
I think this is also backed up by the Linux kernel and thunderbird projects. Both are old c/c++ codebases and both have stated they are adopting rust in hopes of drawing interest (and contributors) from the rust community.
I'll also throw out: aging infrastructure, build systems, coding practices, etc.
I looked into contributing to the kernel - it's already an uphill battle to understand such a large, complex piece of software written almost entirely in C - but then you also need to subscribe to busy mailing lists and contribute code via email, something I've never done at 30 and I'm betting most of the younger generation doesn't even know is possible. I know it "works" but I'm really doubting it's the most efficient way to be doing things in 2024 - there's a reason so many infrastructure tools have been developed over the years.
The barriers to entry for a lot of projects is way too high, and IMO a lot of existing "grey" maintainers, somewhat understandably, have no interest in changing their processes after so much time. But if you make it too hard to contribute, no one will bother.
So at least from my understanding you'd make your changes, email the contents of the patch to the maintainer, and then they'd apply it on their side, do code review, email you comments, etc. until it was in an acceptable state.
I won’t speculate as to why, but it looks like the new generation doesn’t like c and c++.
It's not that hard to know why - these languages have footguns literally everywhere. They seem simple and powerful at first, but they turn into a monster soon enough. There are simply objectively better alternatives today, like Rust. It shouldn't be surprising, it's been so many decades after all.
I've written a million lines of powershell in the past few years for stupid business reasons. I fucking hate the language and I don't see why anyone would write anything serious in it
All the old people have learned the old systems (C, Perl, etc) and don't want to have to learn something new, whereas young people are happy to use something newer and better (Rust, Typescript, etc.) because they don't mind learning and don't have a ton of old knowledge to throw away.
Yes that's a big generalisation and there are plenty of exceptions, but in my experience it's broadly true.
I work on an open source project which has a C component. I offered them our closed source C++ version which is way better and fixes a load of issues... Not interested. They learnt C in the 70s and don't see why they should have to change.
Actually that project is a mix of old curmudgeons and young PhD students so there is a bit of a mismatch, but I didn't feel like fighting the naysaying so...