Ter contribuições de código aberto adiciona peso ao seu currículo e ajuda você a se destacar da multidão se quiser entrar no campo de TI.
As pessoas geralmente associam o código aberto a projetos de grande escala e programadores prodígios codificando em seus porões. Mas a realidade é diferente. Contribuir para um projeto de código aberto é muito mais fácil do que você imagina. E você nem precisa saber programar para começar.
Etapa 1: identificando suas habilidades e pilha de tecnologia
Antes de entrar no GitHub ou em outras plataformas de desenvolvimento de software, você deve analisar suas habilidades. Talvez seja desenvolvimento web com React. Ou se você gosta de sistemas operacionais, pode ser proficiente em C e desenvolvimento de driver de dispositivo.
Faça uma lista de todas as tecnologias com as quais você está familiarizado, juntamente com algumas que deseja aprender ao longo do caminho. Em seguida, classifique essas tecnologias com base em sua experiência para encontrar um projeto que corresponda ao seu domínio.
Tecnologias de pré-requisito
Todos os projetos de código aberto usam um sistema de controle de versão, seja Git, Apache Subversion ou Mercurial. Portanto, é crucial educar-se sobre qualquer um desses sistemas de controle de versão, para que você possa participar ativamente do desenvolvimento do projeto.
Etapa 2: Encontrar um projeto de código aberto
O próximo passo é procurar um bom projeto de código aberto atualmente ativo e aberto a contribuições. Você pode avaliar a popularidade de um projeto observando seu número de estrelas e bifurcações.
Mas onde você encontra um projeto? Aqui estão três plataformas bem conhecidas para procurar projetos:
Acesse a página da web Google Summer of Code Organizations para encontrar uma lista completa de projetos de código aberto atualmente abertos a contribuições. E não, você não precisa se registrar no GSoC para fazer isso.
O site fornece um campo de pesquisa, funções de classificação e uma visão categórica das organizações para que você possa filtrar aquelas que não correspondem ao seu conjunto de habilidades.
Você pode até pesquisar uma tecnologia específica e retornará as organizações que usam essa tecnologia específica.
Quando estiver pronto, clique no cartão de uma organização e você será direcionado para sua página da web. A partir daí, você pode aprender mais sobre isso, navegar pelos projetos disponíveis e visualizar seus códigos.
Visite a página CNCF Contributors e role para baixo para encontrar uma lista bem organizada de projetos de código aberto junto com a principal linguagem de programação usada.
Você pode clicar em um projeto específico, que o levará a uma seção destacando o repositório do projeto, site oficial, identificadores de mídia social e muito mais.
3. Tópicos do GitHub
Outra maneira notável e, sem dúvida, a melhor, de pesquisar projetos de código aberto é usar o GitHub. Se as organizações de grande porte listadas no site do GSoC e do CNCF o assustam, fique tranquilo, pois você pode encontrar muitos projetos pequenos ganhando força no GitHub.
Escolha um tópico de seu interesse (por exemplo, "desenvolvimento de kernel") e insira-o na URL abaixo:
https://github.com/topics/topic-name
Certifique-se de substituir nome do tópico com a tecnologia ou tópico em que você está interessado.
O GitHub retornará projetos nesse domínio específico, incluindo detalhes como descrição, contagem de estrelas, tags e muito mais. A partir daqui, você pode escolher qualquer um que desperte seu interesse e continuar a partir daí.
Etapa 3: Compreendendo uma base de código-fonte aberto
Então você finalizou um projeto. Parece promissor e o tema parece fascinante. Mas como você entende toda a base de código? Parece um osso duro de roer, mesmo para programadores experientes.
A primeira coisa que você precisa saber é: se for um grande projeto de código aberto, provavelmente os desenvolvedores teria dividido em seções, e você não precisa entender cada linha de código para poder contribuir. Em vez disso, tenha uma visão panorâmica do projeto e aprofunde-se na seção com a qual deseja mexer.
Também é recomendável que você use o software em projetos pessoais para ter uma ideia de como ele funciona. Isso ajudaria você a aprender mais sobre o software, mesmo quando não estiver trabalhando diretamente nele.
1. Junte-se à lista de discussão
A melhor maneira de fazer perguntas e entender o código é entrar na lista de discussão oficial. Se for um projeto enorme, prepare-se para ser bombardeado com e-mail após e-mail contendo problemas e solicitações de recursos. Verifique o arquivo README do projeto para o URL da lista de discussão.
Como iniciante, você pode enviar um e-mail informando que é um novato e gostaria de contribuir com o projeto. A maioria dos desenvolvedores apreciaria e ajudaria você com um bug ou problema que é do seu nível.
2. Junte-se à Plataforma de Comunicação do Projeto
Muitos projetos de código aberto têm Discord, Slack ou alguma outra plataforma de comunicação para os desenvolvedores conversarem. Semelhante ao URL da lista de discussão, você pode encontrá-los listados no arquivo README de um projeto.
Etapa 4: Contribuindo para um projeto de código aberto
Você estabeleceu contato com colaboradores existentes e se sente bastante confiante sobre o código. Qual o proximo?
Agora é hora de encontrar algumas frutas fáceis e corrigir um problema escrevendo algum código.
1. Encontrando problemas bons primeiro no GitHub
No GitHub, os desenvolvedores listam bugs e solicitações de recursos em uma seção chamada Problemas. Você pode percorrer esta lista e encontrar um problema que parece corrigível para você. Para iniciantes, clique no botão Etiquetas opção e filtre a lista clicando em Boas primeiras edições ou Para iniciantes.
2. Usando goodfirstissue.dev
goodfirstissue.dev é um site fantástico que torna o trabalho mais fácil para você. Ele agrega problemas de primeira linha e iniciantes de milhares de repositórios e os lista em um formato fácil de ler. Você pode escolher questões de um projeto e filtrar a lista por idioma e tecnologia utilizada.
Clicar em uma entrada irá expandi-la e exibir questões que são ideais para iniciantes começando com contribuições de código aberto.
Se você não se sentir confiante o suficiente para resolver um problema sozinho, poderá filtrar os problemas com o rótulo Ajuda, Procura-se ajuda, ou Ajuda necessária. Eles são listados por desenvolvedores que já estão trabalhando em um problema, mas precisam de ajuda.
Ajudar outra pessoa é uma boa maneira de encontrar um mentor e aprender mais sobre o projeto.
4. Embelezando a documentação ou a interface do usuário
As pessoas que não sabem codificar também podem contribuir com o código aberto. Você pode ajudar a criar uma interface de usuário para o site do projeto ou melhorar o arquivo README existente ou a documentação para torná-lo compreensível para iniciantes. O último exige que você conheça alguns fundamentos sobre o projeto e seu funcionamento.
Você pode encontrar problemas relacionados à melhoria do README ou ao desenvolvimento de uma UI/UX para o site do projeto. Se não puder, envie um e-mail ao proprietário do projeto destacando suas habilidades e o motivo pelo qual deseja contribuir. A maioria dos desenvolvedores apreciaria a ajuda e o colocaria a bordo.
Passo 5: Obtendo sua primeira solicitação pull mesclada
Agora, tudo o que resta é corrija um problema e crie uma solicitação pull para enviar suas alterações no código para aprovação. Você pode usar o Git para contribuir com o projeto. Se suas modificações corrigirem o problema sem interromper nada, o proprietário mesclará sua solicitação pull e você terá feito sua primeira contribuição de código aberto.
Se você cometeu um erro, pode pedir que tirem suas dúvidas antes de começar a trabalhar no problema novamente. De qualquer forma, é preciso tempo, esforço e persistência para aprender um projeto e contribuir com ele.
Agora você é um colaborador de código aberto
Agora você aprendeu tudo o que precisa fazer, desde a escolha de um projeto de código aberto até a mesclagem de sua primeira solicitação pull. Este é apenas o começo, no entanto. Se você gosta do projeto, pode continuar contribuindo e se tornar um desenvolvedor conhecido na comunidade.
O código-fonte aberto é diferente do código proprietário. Você deve conhecer as características de cada um e como eles são diferentes uns dos outros.