Look at what is being offered, and open source user entitlement
The issues here have existed for thirty years and never been addressed. The root cause is funding and the general userbase's attitude to non mass market operating systems.
Everyone, but especially younger people, want to be able to contribute something measurable with minimal levels of hassle and receive a notable benefit in return. That benefit could well be money, it might be the ability to gain a job from the work, or it could be (bwahahahaha) gratitude from the wider world[1].
There's usually insufficient documentation, resource, mentorship, and funding to contribute. There's also insufficient support for admin, maintenance, and QA. The tools are better these days though.
Back in the 90s open source as we know it was new. The message the major open source luminaries presented was 'free as in speech'. What almost everyone heard was 'free as in beer'. That's largely STILL what they hear, and still what appears to be pushed if you go to Linux distribution websites. At least FreeBSD has a prominent 'donate' button on its home page.
How well are FreeBSD donations working? Outside the major partners, it's appalling. There should be thousands of people contributing a little to influence its direction, instead there's under two hundred. Given that, is it any surprise that major open source successes such as Linux have their direction largely driven by and funded by large corporates, with insufficient support for lone contributors?
It's human nature but there is an appalling sense of entitlement among users - they expect everything to match or better the cost and functionality of the mass market, which is largely Windows and Android. It was true in the 90s with OS/2 users[2], and it's still true now, especially seeing as all operating systems are now 'free' for all intents and purposes.
So, what's the solution? I don't claim to have many answers here but :
FUNDING. At least start putting prominent donate buttons and change the conversation that the user base should start paying money. Start paying developers and especially support staff. I suspect that whilst a developer can perhaps use their code as part of a showcase, and possibly people that write documentation also could, the chance of people on support, bug tracking, administration etc being able to use their contribution in a job application is very low - *pay them money*
Hackathons. It's worked very well for OpenBSD. Defined goals, things to promote, mentorship on tap.
GSOC (Google Summer of Code) equivalents. Defined functionality that can be promoted and delivered.
Voting and community engagement. Use some of the funding to prioritise functionality based on community desires - note only *some* funding, so that worthy but less popular features can still be funded.
Documentation. Oh dear elder gods, write some documentation.
Co-operation between projects and different OS in terms of functionality *cough* Wayland. hahaha. hahahahahahah. bwahaahahah. Sorry, the chance of saying to Linux Wayland 'you can't do this without thinking of BSD or small compositors (rather than the large desktop environments)' seems unthinkable, but I can dream.
Finally, because I've not thrown enough hand grenades into this conversation already, look at Windows. It's fantastic, really it is. Yes, as an OS it's annoying, you're beholden to Microsoft for functionality, feature deprecation, have to use its compositor and for all intents and purposes its desktop environment. The APIs are extensive though, the documentation is comprehensive, the support for internationalisation and accessibility is rather good. For the most part DLL conflicts and mismatching components has been a non problem for years[3]. This is what happens when a huge amount of money is thrown at functionality, backwards compatibility, developer tools, documentation, and support.
[1] I'm sure this exists, especially among open source peers, but it will be largely outweighed by hassle.
[2] Yes, this a hobby horse I can't let go of. 'Why do I have to pay for drivers when Windows users get it for free?' 'Why do I have to pay more for a package with fewer but higher quality functions than the Windows alternative?'. People do not want to know about economies of scale and development costs included in a purchase price.
[3] Then you look at the Unix alternatives and despair. At one point Unix laughed at Windows, now I install a package in FreeBSD, hope it doesn't break something else, and that if it does an update of everything will fix it again. This is pathetically fragile.