Como eu disse, um código aberto no github pode ser acessado por qualquer pessoa, e assim, qualquer um pode fazer alterações no seu código e solicitar um 'pull request' (que basicamente significa que o usuário está mexendo no seu código e você avalia se aceita ou não as alterações no projeto principal).

Não diria que "depende da sorte" para alguém resolver engajar no seu projeto, mas as pessoas precisam saber que ele existe. Se o seu perfil no github tem alguma influência ("fama", digamos assim), é mais provável que mais programadores vejam e, assim, mais provável que alguém se interesse em contribuir.

Mas isso também vem do fato do produto final ser grátis, algo que contribui com a comunidade sem fins lucrativos. Se você ver os maiores repositórios do github, vai ver que todos ajudam a comunidade de alguma forma (muitos são a fins educacionais), mas não tem ninguém ganhando dinheiro com isso.

Se o seu projeto tiver fim lucrativo, é pouquíssimo provável que alguém queira ajudar de graça, e é inclusive arriscado mantê-lo aberto, é como dar a chave do cofre pro ladrão.

O Tabnews por exemplo, é código aberto no github, muita gente aqui ajuda de N formas na melhoria do código, mas como vemos, não tem ninguém ganhando dinheiro aqui, e não há nenhum tipo de dado mais "sensível" que valeria ser "roubado" por alguém.

Legal, entendi bem esse ponto. Então quando falamos de git em codigo aberto é mais voltado para collab mesmo ne. Essa popularidade ou fama ou influencia vai ser realmente mais dificil ne, entendo que pessoas vão querer ajudar em projetos famosos com um objetivo de ajuda mas tambem com um objetivo de ter isso como uma divulgação do tipo "ajudei no projeto X sobre a questão Y", tipo como uma experiencia de curriculo, é isso?

Como peso de currículo, particularmente acho indiferente a fama do projeto, mas sim como você contribuiu. Não adianta você por no currículo que contribuiu num repositório super famoso e, quando vamos ver, tu só alterou a cor de um botão. Vale mais ter um projeto seu (mesmo sem fama alguma), mas onde você fez realmente coisas mais complexas e usou suas habilidades como desenvolvedor. As pessoas ajudam independente de fama, o que eu quis dizer é que as pessoas precisam saber que o projeto existe, não é? Como eu iria ajudar no seu projeto, por exemplo, se eu nunca ouvi falar disso? Mas claro, além disso, é preciso que a ideia do seu projeto me motive de alguma forma em contribuir, e que seja numa linguagem que eu conheça. Logo, você precisaria ter algo que gerasse interesse da comunidade, e de preferência utilizando uma linguagem popular, para aumentar o número de devs capazes de contribuir de alguma forma.
entendi, so não entendi como eu vou fazer as pessoas verem meu projeto. não sou bom com essa parte, mas assim que eu começar a desenvolver vou atras disso, realmente não é um projeto comercial e sim um projeto que tem um metodo e um objetivo. vou tentar desenvolver ele no curso que estou fazendo mas sinto que vou precisar desse tipo de ajuda. sobre essa atividade ser um hobby das pessoas da area, voce conhece alguem assim que gosta de caçar codigos para tentar colaborar? isso é uma pratica entre programadores?
Para as pessoas verem o seu projeto você precisa divulgar. Primeiro saia do zero (todo mundo tem um sonho, isso é lindo, mas não dá pra ajudar. Começa fazendo alguma coisa, depois pede ajuda, fica mais fácil assim). Dai tu posta aqui, posta no linkedin, posta em outras redes sociais que Devs acessam, faz um canal no youtube e divulga lá.. é divulgação, as pessoas precisam saber que isso existe. Quanto a ser um "hobby", eu não sei onde vc viu isso, mas não vejo que é bem assim. As pessoas ajudam pelo prazer de ajudar, de fazer parte, do pertencer a uma comunidade com um propósito. Por isso falei antes que o seu projeto precisa mexer com os devs, para que haja a motivação de contribuir. Mas sim, atingindo o interesse, as pessoas vão clonar seu repositório, olhar o código, testar uma ou outra alteração, e vão aos poucos contribuindo. É preciso estar claro o objetivo do seu projeto, pois não estamos em posição de exigir nada, então o dev deve enxergar por conta própria uma possiblidade de melhoria.