Vou relatar a minha experiência com contribuições para projetos open-source e colocar a minha visão sobre o que acho que funciona (ou deveria funcionar) o open-source.
Minha visão
Na minha visão, o open-source funciona bem quando você cria algo que resolve um problema seu e abre o código para que outras pessoas possam usufluir disso e eventualmente contribuir para melhorar o projeto. E não funciona bem quando a ideia é criar um projeto para portfolio ou produto e quer abrir o código para ter pessoas trabalhando de graça no seu projeto. O Linux é um exemplo muito claro do primeiro e o segundo caso é algo mais complicado de colocar um exemplo, mas acho que empresas que tem seu produto em cima do open-source e ficam "chateadas" com outros ganham dinheiro em cima do seu produto são exemplos (mesmo que extremados) disso, como ElasticSearch, Redis e agora WordPress.
Como eu costumo contribuir e me sinto feliz fazendo:
As vezes, usando algum aplicativo open-source, vejo um problema, crio uma issue (se for github), tento entender como funciona e se entender, crio um PR com solução e espero que seja aprovada, se não for, porque pode ser que a issue seja um dor que só eu tenha, eu uso me branch e sigo feliz, sem ressentimentos com o dono do projeto, mas muito feliz por ele ter liberado o código e permitido que eu faça minhas correções.
Quando eu acho que é frustração
Quando o projeto não te atende em nada e você só quer contribuir por autruísmo ou ego, você vai ter trabalho em entender algo que não usa só para ajudar ou ter um GitHub bonito e eventualmente vai ficar de saco cheio com uma obrigação que não te agreda em nada.
O quando você abre o código de algo que você gosta e ter o problema de ter que dar suporte ou satisfazer expectativas de uma comunidade (eu relato esse problema e o projetos como xz, openssl e Hyprland também tiveram problemas semelhantes).
Exemplos das minha contribuições:
O gerador de sites estáticos hugo tinha o nodejs desatualizado por usar o que vem com o Ubunto na sua versão Snap
https://github.com/gohugoio/hugo/pull/9029
A extensão para Kubernetes do VS Code tava com problemas para colorir arquivos Helm
https://github.com/vscode-kubernetes-tools/vscode-kubernetes-tools/pull/1198
Exemplo que deu errado
Em 2013/2014, eu criei um ERP e resolvi abrir o código fonte de módulos que não eram o core do meu negócio mas que ajudariam outras pessoas, minha ideia era que eventualmente esses modulos (que era trabalhosos) pudessem ter mais gente testando e eventualmente contribuindo, um desses módulos era para gerar os arquivos do SPED (a escrituração digital da Receita Federal do Brasil), o https://github.com/sped-br/python-sped.
Eventualmente, meu ERP não deu muito certo (por diversos motivos) e esse módulo virou um fardo que algumas empresas usavam (tinham integrado ele ao OpenERP/Odoo) mas quase ninguém contribuia, e deva trabalho por precisar de atualizações, cheguei a tentar transferir o repositório para outra empresa que tinha contribuido com ele, mas não foi pra frente e decidi encerrar o projeto, mas mesmo assim continuei a receber emails de gente querendo suporte por bastante tempo ainda.
Aqui fica a lição que o open-source não tem obrigação de te dar um software que atenda aos seus problemas, isso fica bem explicito em muitos licenças quando fala de não haver garantias.