Cursos Magento

Minha primeira contribuição para o Magento

, ,

Publicado em 27 de fevereiro de 2018

Na semana passada aconteceu o Magento Live aqui em Sydney, na Austrália. O evento contou com uma série de palestras técnicas e de negócios sobre diversos assuntos relacionados a Magento e e-commerce de uma forma geral.

Algumas celebridades do mundo de desenvolvimento também se fizeram presentes e fizeram suas apresentações (falarei mais sobre a seguir). Entre eles, Ben Marks (evangelista Magento), Oleksii Korshenko (arquiteto Magento), Anton Kril (diretor de arquitetura da Magento), e Mark Lavelle (CEO da Magento). Todos trouxeram conteúdo bem relevante sobre o desenvolvimento Magento e o futuro da plataforma.

Os Magenteiros cadastrados logo receberão em seus e-mails um resumo exclusivo de tudo o que rolou no evento, incluindo slides, fotos e alguns comentários pessoais. Se você ainda não recebe as novidades semanais do Magenteiro, cadastre-se no campo aqui no canto direito. 🙂 =>

Contribuindo para o Magento

Um dia antes do grande evento, tivemos o Magento Contribution Day, também no Hilton Hotel, onde aconteceu o evento nos dias seguintes.

No Contribution Day desenvolvedores de vários países tem a chance de estar lado a lado com alguns profissionais responsáveis pelo core da plataforma e, ali mesmo contribuir com uma melhoria ou correção de um bug existente.

Oleksii Korshenko (Magento), eu, Alisson Oldoni (ex-Netstarter), e Max Yekaterynenko (Magento)

Como contribuir

O Magento 2 é um projeto Open Source, cujo código está disponível no Github neste link.

Você pode contribuir com uma correção de um bug existente vendo a lista de bugs reportados pela comunidade e que possuem a tag G3 Passed.

Bugs e melhorias aprovados

Se preferir, também pode abrir uma nova issue com a sua sugestão de melhoria ou reportando algum novo bug caso o mesmo não esteja presente ou ainda não tenha sido fechado em algum release mais recente.

Assim como a maioria dos projetos Open Source, para contribuir com uma melhoria ou correção, você deve fazer duplicar o projeto em sua conta github. Este processo chama-se “fork” e para fazê-lo basta clicar no link no topo da página.

Depois de duplicar o repositório em sua conta você deverá cloná-lo (git clone) e trabalhar nas suas alterações em um branch separado. Após finalizado, testado localmente, e comitado suas alterações em seu repositório, você deve navegar até sua conta github e submeter o que chamamos de “pull request”, descrevendo sua alteração.

Descrição do Pull Request

Neste momento algumas mágicas acontecem e você estará a um passo de se tornar um Magento Contributor.

A Magento lhe adicionará aos grupos de desenvolvedores no Slack, suas permissões no repositório da Magento são elevadas, e você passa a fazer parte da organização Magento no Github. Mas antes de tudo isso, um rápido contrato (CLA) que concede os direitos das suas alterações à Magento precisa ser assinado digitalmente por você usando a própria conta Github.

Contrato CLA assinado

Boa parte do processo é automatizada, e um build automático com uma bateria de testes é executada ao realizar seu pull request. No entanto os mantenedores do projeto ainda precisarão revisar e aprovar sua alteração. Este processo pode levar alguns dias dependendo da complexidade da sua alteração/contribuição.

Porque contribuir?

No começo fui um tanto relutante em participar do Contribution Day. Não pelo fato de contribuir, mas sim porque ainda tínhamos que pagar pelo ingresso do Contribution Day. No final das contas a experiência se mostrou quase tão (talvez mais) valiosa que o próprio evento em si, e por 1/3 do valor.

Uma palestra inteira com o Kristof Ringleff – fundador da Fooman – sobre os motivos porque devemos contribuir com um projeto Open source tomou lugar no último dia do evento. Kristof é conhecido por seus módulos e suas contribuições com a plataforma. Hoje ele é um dos mantenedores do projeto.

Como mantenedor ele é um dos responsáveis por avaliar Pull Requests feitos ao projeto, e contou que esta é uma experiência enriquecedora e que aprende todos os dias com o código dos outros.

Além disso eu acrescentaria que contribuir com um projeto Open Source, além de ser uma experiência riquíssima de aprendizado e aumentar nosso senso de retribuição, pode ser uma ótima forma de se destacar no mercado de trabalho que você está inserido, mesmo fora do país. Ainda estou começando, mas tenho certeza que isso ajuda a sustentar minha credibilidade quando alguém está em dúvida em adquirir um dos meus cursos de magento. 🙂

O Magento é a plataforma de e-commerce Open Source mais popular do mundo, com mais de 300.000 membros no fórum e mais de 20 eventos de contribuição como este. Apesar disso, apenas cerca de 1600 Pull requests foram feitos, dos quais somente 355 por pessoas como eu, que contribuíram pela primeira vez com alguma coisa do projeto.

Não é tão difícil assim

Se soubesse que era tão simples e tão pouco burocrático, teria começado antes.

Você pode começar com um pequeno bug já existente, melhorar algo que já existe, ou ainda abrir uma nova issue com algo que você acabou de descobrir e corrigir por conta própria no seu trabalho.

No meu caso, peguei algo realmente pequeno e que me incomodava. Era pra ser uma tarefa de 10 minutos apenas para “esquentar os motores”, mas acabou tomando o dia todo do contribution day.

Minha correção consistiu apenas em remover algumas moedas antigas que apareciam no processo de instalação do Magento 2, como Cruzado, Cruzeiro, entre outras. No final, o problema parecia estar ligado a uma lib do próprio PHP, mas já existia um jeito nativo do Magento de lidar com elas. Menos de meia dúzia de linhas alteradas e pronto. Na ocasião do contribution day ainda rolou uma mini apresentação aos desenvolvedores presentes, mas na prática uma boa descrição no seu commit já será suficiente. 🙂

Espero que esta seja a primeira de muitas. Mas lembre-se: uma linha de melhoria ou correção já vale o pull request.

Cuidados e conselhos

Etiqueta

Como o próprio Kristof comentou na palestra dele, alguns desenvolvedores não se contentam em mostrar seu ponto de vista, mas de provar que ele está certo. E isso leva a muitas discussões infrutíferas em fóruns e grupos de discussão.

Portanto, tomar cuidado ao “dar um pitaco” usando uma abordagem interrogativa pode lhe poupar alguns minutos perdidos neste tipo de discussão. Veja:

“Você já tentou fazer desta outra forma?”,  “Você já pensou em usar isso ao invés daquilo?”, “Não sei se este é o melhor caminho, mas talvez usando a ferramenta X você consiga.” podem ser melhor que um “Isso não segue o padrão X”, “Não vai funcionar assim, porque..”.

Antes de começar a desenvolver aquele recurso novo

Muita gente investe seu trabalho e tempo desenvolvendo um novo recurso ou realizando uma grande melhoria ou correção em algo que ainda não foi aprovado ou que não faz parte da estratégia de negócios da Magento (ou qualquer projeto).

Portanto, antes de sair desenvolvendo, certifique-se de que exista uma issue aberta, com a label “G3 Passed” e que não há sinal que alguém está desenvolvendo ou trabalhando naquilo.

Ao começar a trabalhar em alguma das issues listadas no projeto, pode ser bacana adicionar um comentário informando que está trabalhando naquilo. Outras pessoas podem ajudá-lo(a).

Pronto para começar?

Já fez fork do repositório? Já criou a nova branch? Já escolheu ou criou a issue que vai trabalhar?

Mãos à obra. Nos vemos no Slack.

 

PS: Lembre-se de se cadastrar na lista aqui do lado para receber o resumo do Magento Live que enviarei em breve.

 

Últimos posts por Ricardo Martins (exibir todos)
Comentários

Deixe seu comentário

[fbcomments url="https://www.magenteiro.com/blog/magento-2/desenvolvimento-m2/magento-live-contribuindo-com-magento/"]