· pensamentos  · 8 min read

Eu não quero ser o próximo a criar uma biblioteca ou framework open source de sucesso

Todos os dias nasce um novo framework JavaScript. Fico pensando o porque disso acontecer. Será que as pessoas estão realmente interessadas em contribuir com a evolução da linguagem e da plataforma ou só querem ser a próxima contratada por uma grande empresa?

Para quem trabalha com JavaScript está bem acostumado(a) com o nascimento de uma nova biblioteca ou novo framework open source todos os dias — nós até mesmo brincamos bastante com essa realidade.

Quanto tempo de vida terá os novos frameworks?! #714 - frontendbr - forum

Parece brincadeira, mas se observarmos alguns gráficos do GitHub percebemos o quanto a movimentação em cima da linguagem JavaScript é imensa:

Gráfico do GitHub mostrando JavaScript como a linguagem mais popular da plataforma, com 2,3 milhões de pull request em 2017 - octoverse

No gráfico acima vemos que a pupularidade de JavaScript é de 2.3 milhões de pull requests, enquanto o movimento sobre a linguagem Python é de 1 milhão e do Java 986 mil. E isso é uma diferença enorme!

Se você olhar o trending do GitHub hoje, deve ter algo de JavaScript lá. Se não for JavaScript, deve ser algo que compila/transpila para JavaScript.

Trending GitHub

Claro que isso tem relação direta com a mudança de cenário da linguagem que, atualmente, serve para programar para o navegador, backend, mobile, usa-se no banco de dados e até para IoT, ES6, etc.

Este texto não é sobre o JavaScript, mas sobre a mudança de postura das pessoas quanto ao open source e para falar dessa mudança de postura eu preciso falar da comunidade a qual estou inserido, que é a de JS.

O open source está dominando o mundo, mas o ego das pessoas tem superado a essência do open source

Prelúdio — Antes das bibliotecas famosas e do estrelato no GitHub

Antigamente as pessoas tinham preconceito com o open source. Quando eu dizia que usava Linux e pregava o uso de ferramentas como OpenOffice, Gimp, Inkscape, Thunderbird, Firefox e diversos outros softwares de código fonte aberto, livres ou não, logo era julgado.

As pessoas diziam que software open source não teria a qualidade que um software fechado. Um software fechado e com uma empresa por trás teria a garantia de qualidade.

Porém vieram grandes bibliotecas, projetos imensos e frameworks fantásticos com grandes empresas por trás e tudo isso mudou — sempre tivemos empresas grandes por trás de open source, mas essas pessoas nem mesmo se davam ao trabalho de pesquisar sobre isso.

De repente um caminhão de pessoas queria enviar uma boa quantidade de commits para o AngularJS e se tornar GDE. De repente fazer código open source garante pontos em uma vaga de emprego. De repente as pessoas começam a falar pela internet que uma pessoa que trabalha com programação e não tem um GitHub movimentado não deve ser boa no que faz. De repente as empresas colocam um espaço para o link do GitHub em seus formulários de aplicação em vagas de emprego.

De repente nós paramos de fazer open source para mudar a vida das pessoas e começamos a fazer open source pensando somente em nós mesmos (programadores(as)) e na nossa carreira.

Foi aí que a filosofia começou a se perder.

As conversas sobre RH e GitHub vem esquentando as comunidades, como vemos na discussão aberta no Forum do FrontEndBR e também no Tweet do Bernard de Luna.

Desenvolvedor vs RH - frontendbr - forum

Mas calma! Não estou dizendo que o GitHub é algo ruim… Leia até o final para entender o meu ponto de vista.

O que vemos nas comunidades é que algumas pessoas, hoje, fazem open source somente para ser a próxima estrela a ter criado uma lib famosa sendo citada em um tweet de alguém com uma boa quantidade de seguidores.

Parece que só querem um espaço em um palco para que as demais aclamem sua ousadia em escrever código e disponibilizar para outras pessoas e depois desaparecem.

Pior que isso: quando encontram algo ruim em um projeto open source logo saem criando outro que faz exatamente a mesma coisa, mas com a correção daquilo que não estava legal. Isso porque ela pode se dar ao trabalho de criar algo que faz a mesma coisa, pois será chamada de a ferramenta melhor que X, por causa de Y.

Não quero que você pense que não desejo que você contribua em open source. Contribuir é diferente de buscar estrelato.

Open Source não é sobre criar novos projetos que fazem exatamente a mesma coisa

Claro que durante os anos alguns bons projetos que fazem a mesma coisa nasceram, porém nem todos eles são úteis de verdade e talvez você não deva criar algo desse tipo.

Trabalhar com código aberto é mais do que criar uma lib. Você não precisa criar algo só pra falar que fez. Se você encontrou um bug em um projeto você pode contribuir e corrigir aquele bug. Se você acha que poderia ser feito algo melhor com uma abordagem diferente, você pode contribuir abrindo um pull request ajustando o que você acha que faz a diferença.

pois open source é colaboração

Quando você vê um projeto de código aberto com um problema de código ruim, falta de padrão, falta de documentação ou algo do tipo, você poderia abrir issues neste projeto e ajudar a pessoa a aprender com os erros.

pois open source é compartilhar conhecimento

Quando você contribui em um projeto, você pode fazer ótimos amigos e amigas. Você pode conhecer pessoas que irão mudar sua visão sobre muitas coisas, pessoas que poderão lhe ensinar muito, gente que pode mudar sua vida para sempre.

pois open source é conectar pessoas

Existem diversas maneiras de contribuir com projetos de código aberto. Mas contribuir para ter fama é a pior motivação que você pode ter.

Contribuindo para open source no GitHub, mesmo sendo iniciante

As pessoas que se envolvem por fama logo somem dos projetos open source

É muito comum que um projeto grande ou um projeto em crescimento receba uma boa quantidade de pessoas dizendo que querem contribuir. Mas as pessoas que só estão ali por fama tendem a sumir rapidamente.

Cuidado para não presumir que todo mundo que some de projetos abertos só estavam lá por fama. Podem acontecer milhares de coisas que fazem com que a pessoa deixe de ajudar. O triste é saber que uma boa parte das pessoas realmente somem porque já deixaram um commit lá pra poder exibir em palestras, artigos, em conversas nos meetups, etc.

As pessoas que realmente querem ajudar o projeto normalmente o fazem por gostar do projeto. Por ter um vínculo especial com aquilo.

Quem só vai lá para dizer que está, logo deixa de contribuir.

Contribuidores(as) de markdown

Em todo projeto deve existir algum trecho de documentação escrita em mardown e é muito comum que pessoas iniciantes comecem ajudando em documentações.

Isso gerou um preconceito nas demais pessoas que acham que só de bibliotecas e frameworks vive um bom programador ou programadora, onde:

  • se você não envia um código fantástico para uma lib famosa, você não é programador(a)
  • se você só tem enviado pull requests em arquivos markdown significa que você não sabe programar

É engraçado, pois com os projetos escritos em markdown no Training Center nós temos mudado muitas vidas. Conseguimos ajudar pessoas a conseguirem seus primeiros empregos, aprenderem novas tecnologias e diversos outros resultados positivos em suas carreiras.

Training Center

Será que se eu estivesse enviando commits de JavaScript nos projetos que eu mais curto, como Babel ou React, eu estaria ajudando as pessoas a mudar de vida ou estaria somente contribuindo com a produtividade de algumas pessoas que já trabalham na área e “já tem a vida feita”?

Com o crescimento do Training Center eu já nem consigo tempo para olhar o código fonte dos projetos que eu curto externos a nossa comunidade. Será que eu sou um programador ruim pela quantidade de commits em markdown enviados?

Quantidade de commits que enviei para o mentoria, projeto de auxílio à carreira de iniciantes. 358 commits na época deste post

Na imagem acima temos a quantidade de commits enviados no Mentoria, um repositório no GitHub do Training Center que é uma documentação de como o projeto funciona.

Gráfico de contribuições

Conclusão

Você entende onde eu quero chegar com todo esse desabafo a respeito da busca por fama utilizando open source?

Só quero finalizar este artigo com um pensamento:

Você poderia estar mudando vidas com projetos abertos, mas está aí querendo ser a próxima pessoa a criar uma lib que pode morrer daqui a 2 anos.

Open Source é compartilhar, colaborar, aprender, ensinar. Open Source é muito mais do que só um quadradinho verde no GitHub.

Ao invés de ser a próxima pessoa em um pedestal de 15 minutos de fama, que tal ajudar nesses projetos:

Back to Blog

Related Posts

View All Posts »