{"id":795,"date":"2024-06-09T11:08:04","date_gmt":"2024-06-09T14:08:04","guid":{"rendered":"https:\/\/www.antonioladeia.com\/blog\/?p=795"},"modified":"2024-06-09T11:08:04","modified_gmt":"2024-06-09T14:08:04","slug":"contribuindo-e-aprendendo-com-foss","status":"publish","type":"post","link":"https:\/\/www.antonioladeia.com\/blog\/contribuindo-e-aprendendo-com-foss\/","title":{"rendered":"Contribuindo e aprendendo com FOSS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Eu sempre gostei da filosofia de software livre, desde mais novo que me envolvi com algumas comunidades e contribu\u00eda com elas em algum n\u00edvel. H\u00e1 muito tinha deixado isso de lado e h\u00e1 muito pouco voltei.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">J\u00e1 tinha feito bastante coisa, palestras, tradu\u00e7\u00f5es, c\u00f3digo etc. Mas na minha carreira de desenvolvedor, as contribui\u00e7\u00f5es com c\u00f3digo s\u00e3o sempre as melhores j\u00e1 que facilmente \u00e9 onde aprendo mais coisas onde posso adicionar ao meu dia a dia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hoje minha segunda contribui\u00e7\u00e3o para o Debian foi aceita, e desta vez precisei usar v\u00e1rios recursos que eu n\u00e3o conhecia e s\u00e3o coisas que agregaram bastante como profissional, vou numerar algumas aqui.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Durante meu processo de <em>review<\/em>, 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\u00e7\u00e3o do padr\u00e3o <em>posix<\/em>, cada arquivo deve terminar com uma linha em branco, muitos editores tentam ser resilientes e n\u00e3o quebrarem caso o arquivo n\u00e3o o tenha, mas os programas que implementam o padr\u00e3o corretamente podem apresentar problemas, como \u00e9 o caso do <strong>cat<\/strong>, onde ele pode misturar a sa\u00edda do arquivo juntamente com a linha do terminal(e muitas vezes j\u00e1 vi isso acontecendo, como o terminal mudar de cor, etc).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um outro ponto que aprendi bastante foi o uso do <em>rebase<\/em> para juntar <em>commits<\/em>, eu sempre fui da l\u00f3gica que todo o hist\u00f3rico se perderia ao alterar <em>commits<\/em> e isso seria ruim, ao fazer um <em>merge<\/em> com <em>squash<\/em> ter\u00edamos o melhor mundo, hist\u00f3rico de <em>commits<\/em> na <em>branch<\/em> de trabalho e um \u00fanico <em>commit<\/em> no <em>merge<\/em>, mas neste PR eu fui orientado a usar o <em>rebase<\/em> para manter altera\u00e7\u00f5es semelhantes juntas, com isso ao inv\u00e9s do meu hist\u00f3rico ter 3 <em>commits<\/em> alterando a <strong>manpage<\/strong>, ele teria um \u00fanico, ao inv\u00e9s de ter 4 <em>commits<\/em> alterando o <strong>readme<\/strong>, teria apenas 1, e assim sucessivamente.<br>Achei essa configura\u00e7\u00e3o muito melhor, as altera\u00e7\u00f5es ficam centralizadas, quando voc\u00ea v\u00ea um <em>commit<\/em> que altera uma coisa, todas as altera\u00e7\u00f5es estar\u00e3o l\u00e1, o hist\u00f3rico fica mantido, o n\u00famero de <em>commits<\/em> \u00e9 drasticamente reduzido e tudo fica mais leg\u00edvel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste <em>commit<\/em> aprendi bastante sobre documenta\u00e7\u00e3o tamb\u00e9m, atualizei a <strong>manpage<\/strong> do projeto de acordo com as especifica\u00e7\u00e3o do GNU, e mandei um PR para o <em>upstream<\/em> com a <strong>manpage<\/strong> que fizemos para o Debian, j\u00e1 que o projeto original n\u00e3o o tinha.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enfim, \u00e9 um trabalho muito gratificante poder contribuir com o projeto que uso diariamente, al\u00e9m de, claro, aprender e me divertir muito no processo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eu sempre gostei da filosofia de software livre, desde mais novo que me envolvi com algumas comunidades e contribu\u00eda com elas em algum n\u00edvel. H\u00e1 muito tinha deixado isso de lado e h\u00e1 muito pouco voltei. J\u00e1 tinha feito bastante coisa, palestras, tradu\u00e7\u00f5es, c\u00f3digo etc. Mas na minha carreira de desenvolvedor, as contribui\u00e7\u00f5es com c\u00f3digo&nbsp;&hellip;<\/p>\n","protected":false},"author":1,"featured_media":789,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[400,264],"tags":[407,107,106,291,408,410,409,72],"class_list":["post-795","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debian","category-voluntariado","tag-aprendizado","tag-contribuicao","tag-debian","tag-git","tag-manpage","tag-posix","tag-rebase","tag-software-livre"],"_links":{"self":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts\/795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/comments?post=795"}],"version-history":[{"count":1,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts\/795\/revisions"}],"predecessor-version":[{"id":796,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/posts\/795\/revisions\/796"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/media\/789"}],"wp:attachment":[{"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/media?parent=795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/categories?post=795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antonioladeia.com\/blog\/wp-json\/wp\/v2\/tags?post=795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}