Talvez você já tenha visto alguma coisa com esse nome "Hacktoberfest", mas nunca entendeu muito bem o que é e como funciona. Foi assim pra mim por muito tempo, até que consegui entender e fazer minha primeira participação no ano passado. Então esse ano te convido a explorar esse lado da tecnologia comigo. Bora?
O que é Hacktoberfest?
É um evento anual, que acontece sempre em outubro, que este ano comemora sua 10ª edição em que pretende-se apoiar e divulgar o movimento open source entre as empresas e comunidades de tecnologia no mundo inteiro.
Objetivos do Hacktoberfest
1. Código aberto: Promover projetos de código aberto e engajar a comunidade a contribuir de maneira orgânica, não apenas no evento.
2. Aprendizado: Possibilitar a troca de aprendizado e experiência entre as diferentes pessoas e diferentes tipos de projetos, além de incluir as pessoas iniciantes também.
3. Comunidades: Apoiar as comunidades e possibilitar o networking entre as mais diversas comunidades no mundo inteiro.
E o que é Open Source ou Código Aberto?
Trata-se de projetos em que o código ou seu conteúdo fica disponível, através de diversos tipos de licença, para conhecimento e uso da comunidade, permitindo receber contribuições de pessoas externas a esses projetos. Contudo, é importante ressaltar que existem diversos tipos de licença e cada uma delas tem suas próprias regras.
E o tal do Software Livre?
Permitam-me o disclaimer: não vamos entrar aqui no mérito da discussão software livre e open source. Pode ser sim uma discussão importante e podemos tê-la em outro momento. Por enquanto, não precisamos entrar nessa profundidade.
Quem pode participar do Hacktoberfest?
É extremamente importante ressaltar que esse evento não se trata apenas de códigos e linguagens de programação. Então você não precisa ser uma pessoa desenvolvedora para participar. Existem projetos de conteúdos diversos, documentações, traduções, design, entre outros tópicos, que fazem parte do movimento open source e que você não precisa ter experiência para participar.
E quais papéis eu posso ter dentro do evento?
- Pessoa contribuidora: quem fará contribuições em projetos Open Source participantes do evento;
- Pessoa mantenedora: quem mantém projetos Open Source, os quais receberão contribuições das pessoas durante o evento;
- Pessoa organizadora de eventos: quem vai organizar eventos para promover com a comunidade sobre como participar do Hacktoberfest e incentivar as pessoas a contribuírem com Open Source.
Por que participar?
Porque você pode aproveitar esse momento e o engajamento da comunidade para ajudá-las. Para aprender mais sobre diversas tecnologias, seja uma que você ainda não conheça ou alguma que você queira aprimorar seus conhecimentos. Para conhecer projetos diferentes e, quem sabe, até mesmo ajudar a construir algo de muito valor para a sociedade. Além do fato de poder trocar experiências com outras pessoas que estiverem participando do evento.
Como se inscrever para ser parte do Hacktoberfest?
Passo 1: Criar a conta no GitHub;
Passo 2: Conectar a conta do GitHub ao cadastro no Hacktoberfest;
Passo 3: Procurar por projetos que tenham o tópico Hacktoberfest;
Passo 4: Identificar ou criar issues que você possa contribuir e/ou resolver;
Passo 5: Fazer Fork do projeto e efetuar as alterações sugeridas;
Passo 6: Mandar a Pull Request para o projeto original e acompanhar.
Se você não entendeu algum dos nomes que utilizei nesses passos, não se preocupe. Vamos entender por partes.
Entendendo alguns termos
GitHub: Repositório online de projetos diversos;
Issues: Registro de um problema ou sugestão de alteração dentro do projeto no GitHub. Clique nesta documentação para saber como criar uma issue;
Fork: Criar uma cópia válida de um projeto para que você possa adicionar alterações e sugestões discutidas nas issues, antes de mandar para o projeto original. Clique nesta documentação para saber como fazer um fork;
Pull Request: Solicitação registrada de envio de uma alteração para um projeto, onde mostra o que foi alterado e descrevemos os motivos das alterações. Clique nesta documentação para saber como criar um pull request.
Qualquer dúvida que tenha ficado, pode mandar nos comentários, me procurar nas redes sociais, ou ainda conversar com a nossa comunidade GitHub Open Source Community SP. Ficaremos felizes em ajudar.
Quais projetos podem participar?
Podem ser projetos de documentação, projetos de conteúdos diversos, projetos que trazem pontos de design, projetos de software, entre muitos outros. O importante é que o projeto tenha o tópico hacktoberfest relacionado.
O que eu preciso saber antes de contribuir com projetos no Hacktoberfest?
Vou deixar algumas sugestões de conteúdos. Um deles é para você entender como funciona o GitHub neste artigo da @levxyca chamado GitHub para pessoas leigas. Este outro link traz diversos artigos compartilhados pela comunidade sobre suas experiências e seus aprendizados no hacktoberfest. E eu não poderia deixar de sugerir os artigos da @pachicodes, pelos quais você pode ver diversas dicas de como usar o GitHub da melhor forma. E caso você queira utilizar algumas das ações via linha de comando, pode ser interessante você aprender sobre o Git. Para isso, gosto de indicar um curso bem legal (e gratuito) na Udemy.
IMPORTANTE: Git é diferente de GitHub!
O GitHub é um repositório onde você pode disponibilizar seus projetos e gerenciá-los. Já o Git é um sistema para você fazer o controle de versionamento das alterações no seu projeto.
Mas eu não sei nada disso... não vou conseguir participar?
Lembre-se de não ter pressa. Entenda o seu processo de aprendizado e vá por partes. Em alguns projetos você não precisa saber tudo isso. E mesmo que o evento acabe, os projetos continuam disponíveis e precisando de ajuda da comunidade para serem cada vez melhores.
Não se preocupe com a quantidade ou com a complexidade da sua participação. Pense muito mais no seu aprendizado e na sua evolução.
E se não aprovarem meu pull request?
Olha, é possível, isso pode acontecer normalmente em projetos open source. E a não aprovação da sua alteração pode acontecer porque vão te pedir para ajustar alguma coisa, ou porque não faz sentido para o projeto a sua sugestão naquele momento, ou porque a pessoa mantenedora não teve tempo de revisar as suas alterações, entre outros possíveis motivos. Mas não se preocupe com isso. Mantenha-se firme e continue participando desses projetos.
E aí, bora contribuir?
Conta aí nos comentários se você vai participar pela primeira vez, se você ainda quer entender um pouco mais ou se você já participa há mais tempo desse evento. E, sempre que puder, ajude as pessoas novas da comunidade a entenderem como tudo isso funciona e porque é tão legal ser parte de algo assim.