Contribuindo e aprendendo com FOSS

programação, software livre, rpg, e música

logo do Debian

Contribuindo e aprendendo com FOSS

Eu sempre gostei da filosofia de software livre, desde mais novo que me envolvi com algumas comunidades e contribuía com elas em algum nível. Há muito tinha deixado isso de lado e há muito pouco voltei.

Já tinha feito bastante coisa, palestras, traduções, código etc. Mas na minha carreira de desenvolvedor, as contribuições com código são sempre as melhores já que facilmente é onde aprendo mais coisas onde posso adicionar ao meu dia a dia.

Hoje minha segunda contribuição para o Debian foi aceita, e desta vez precisei usar vários recursos que eu não conhecia e são coisas que agregaram bastante como profissional, vou numerar algumas aqui.

Durante meu processo de review, fui solicitado a por uma linha em branco num arquivo de manual, inicialmente achei que era preciosismo demais, mas depois de explicado a necessidade entendi e faz total sentido. Na implementação do padrão posix, cada arquivo deve terminar com uma linha em branco, muitos editores tentam ser resilientes e não quebrarem caso o arquivo não o tenha, mas os programas que implementam o padrão corretamente podem apresentar problemas, como é o caso do cat, onde ele pode misturar a saída do arquivo juntamente com a linha do terminal(e muitas vezes já vi isso acontecendo, como o terminal mudar de cor, etc).

Um outro ponto que aprendi bastante foi o uso do rebase para juntar commits, eu sempre fui da lógica que todo o histórico se perderia ao alterar commits e isso seria ruim, ao fazer um merge com squash teríamos o melhor mundo, histórico de commits na branch de trabalho e um único commit no merge, mas neste PR eu fui orientado a usar o rebase para manter alterações semelhantes juntas, com isso ao invés do meu histórico ter 3 commits alterando a manpage, ele teria um único, ao invés de ter 4 commits alterando o readme, teria apenas 1, e assim sucessivamente.
Achei essa configuração muito melhor, as alterações ficam centralizadas, quando você vê um commit que altera uma coisa, todas as alterações estarão lá, o histórico fica mantido, o número de commits é drasticamente reduzido e tudo fica mais legível.

Neste commit aprendi bastante sobre documentação também, atualizei a manpage do projeto de acordo com as especificação do GNU, e mandei um PR para o upstream com a manpage que fizemos para o Debian, já que o projeto original não o tinha.

Enfim, é um trabalho muito gratificante poder contribuir com o projeto que uso diariamente, além de, claro, aprender e me divertir muito no processo.

 

Nenhum comentário

Adicione seu comentário