Dicas para começar a contribuir para os projectos Ultralytics Open-Source

Abirami Vina

4 min ler

28 de agosto de 2024

Saiba como contribuir para os projectos de código aberto do Ultralytics e explore as melhores sugestões relacionadas com documentação, revisão de PRs e utilização de ferramentas essenciais.

A base do software de código aberto é a colaboração, a aprendizagem e a partilha. Os projectos de código aberto são uma excelente forma de as pessoas se juntarem para construir algo maior do que elas próprias. Na Ultralytics, temos os princípios do código aberto bem presentes no nosso coração e encorajamo-lo sempre a contribuir para os nossos projectos de código aberto. 

Se está ansioso por contribuir, seja escrevendo documentação, revendo código ou resolvendo problemas, mas não sabe por onde começar ou está a enfrentar alguns problemas, estamos aqui para o ajudar a começar. Neste artigo, apresentaremos algumas dicas para começar a contribuir com os projetos de código aberto do Ultralytics. Vamos mergulhar de cabeça!

A importância das contribuições da comunidade Ultralytics

Antes de vermos como contribuir, vamos responder à questão de saber porque é que as contribuições são tão cruciais. Acreditamos firmemente na importância das contribuições da comunidade Ultralytics. Ao participar nos nossos projectos de código aberto, está a fazer mais do que apenas ajudar-nos a criar um software melhor. Os colaboradores desempenham um papel fundamental para garantir que a nossa tecnologia se mantém aberta, colaborativa e em constante evolução. As suas contribuições mantêm os nossos projectos prósperos, acessíveis e benéficos para os utilizadores e programadores de todo o mundo!

Para além de criar software de ponta, contribuir para os projectos Ultralytics é também uma oportunidade fantástica para crescer. Pode desenvolver as suas capacidades de codificação, resolução de problemas e trabalho em equipa enquanto trabalha com programadores experientes que podem oferecer orientação e partilhar as melhores práticas. Os seus esforços podem ter um impacto real em ferramentas utilizadas por milhares de pessoas em todo o mundo. O envolvimento com a nossa comunidade pode também ajudá-lo a expandir a sua rede profissional, abrir novas oportunidades e melhorar o seu portefólio para se destacar junto dos empregadores.

__wf_reserved_inherit
Figura 1. Razões para contribuir. Imagem do autor.

Como começar a utilizar as contribuições de código aberto do Ultralytics

Um ótimo ponto de partida é consultar o guia de contribuição oficial do Ultralytics. Está repleto de práticas recomendadas e dicas para o ajudar a tirar o máximo partido das suas contribuições. O primeiro passo seria familiarizar-se com o que já faz parte do projeto, compreendendo as diretrizes de contribuição e mergulhando no código. 

Quer esteja a tentar contribuir para o desenvolvimento ou apenas queira explorar o código mais recente, o próximo passo é clonar o repositório Ultralytics. Depois de o fazer, pode ir ao diretório do projeto e instalar o pacote em modo editável, como mostra o excerto de código abaixo.

Se precisar de ajuda, o nosso guia de início rápido tem tudo o que precisa para começar sem problemas.

Diferentes domínios para os quais contribuir

Depois de ter configurado o seu ambiente e de se ter familiarizado com o projeto, pode explorar as diferentes áreas em que pode ter um impacto significativo. O Ultralytics oferece várias formas de envolvimento, e pode escolher como contribuir com base nas suas competências e interesses. 

Eis algumas das opções:

  • Documentação: Contribuir para a documentação é uma óptima maneira de mergulhar no projeto enquanto aperfeiçoa as suas capacidades de escrita. Você pode ajudar melhorando a documentação existente, adicionando detalhes que faltam, ou criando novos guias que facilitam a contribuição de outros.
  • Correcções de erros: Se tem alguma experiência de programação, considere a possibilidade de trabalhar na correção de erros. Estas podem variar entre pequenos ajustes e problemas mais complexos, dando-lhe a oportunidade de ter um impacto tangível no projeto.
  • Melhorias nas caraterísticas: Para aqueles que estão prontos para se aprofundar, trabalhar em melhorias de recursos pode ser desafiador e gratificante. Isto pode envolver a adição de novas funcionalidades, a melhoria das existentes ou o trabalho no roteiro do projeto.
  • Revisões do pull request: Revisar pull requests é outra forma valiosa de contribuir, especialmente se você estiver familiarizado com os padrões e as melhores práticas do projeto. Ao fornecer feedback e sugerir melhorias, você ajuda a manter a qualidade e a integridade da base de código.
  • Discussões comunitárias: Participar nas discussões da comunidade é uma excelente forma de contribuir se gosta de colaborar e partilhar ideias. Participe nas conversas em curso, proponha novas ideias ou ajude os outros oferecendo os seus conhecimentos e soluções.

Cada uma destas áreas oferece uma forma única de contribuir, e pode escolher a que melhor se alinha com os seus pontos fortes e interesses. Lembre-se, cada contribuição, por mais pequena que seja, desempenha um papel fundamental para ajudar a Ultralytics a crescer e a evoluir.

__wf_reserved_inherit
Figura 2. Todas as contribuições são valorizadas na nossa comunidade em crescimento. Fonte da imagem: Envato Elements.

Contribuir para a documentação de código aberto do Ultralytics

Ao contribuir para a documentação do Ultralytics, certifique-se de que analisa a documentação existente e verifica se existem problemas ou discussões que realcem as áreas que necessitam de ser melhoradas. Isso ajuda a garantir que suas contribuições sejam concentradas onde são mais necessárias. 

Ao escrever ou editar, não se esqueça de que é fundamental seguir as diretrizes do projeto para manter a coerência. Eis algumas dicas de formatação:

  • Utilizar sempre a formatação Markdown.
  • Comece cada documento com uma introdução clara e mantenha a sua linguagem simples e acessível.
  • Utilize marcadores nas listas, texto descritivo nas hiperligações e imagens com menos de 1 MB para que as páginas carreguem rapidamente.
  • Caso tenha dúvidas sobre a formatação, uma forma fácil de verificar a formatação é verificar como foi formatada a documentação anterior.
__wf_reserved_inherit
Fig. 3. Um exemplo de formatação Markdown (à esquerda) e o documento final visualizado (à direita). Imagem do autor.

Depois de ter feito o seu rascunho, é importante pré-visualizá-lo criando a documentação localmente. Pode detetar quaisquer problemas antes de a submeter. Para tal, comece por clonar o repositório e navegue até ao diretório do projeto:

Em seguida, pode instalar as dependências necessárias:

Por fim, apresente a documentação localmente para rever as suas alterações:

Pode ver os documentos criados localmente navegando para `http://127.0.0.1:8000/` no seu navegador Web. 

Depois de revisar a clareza, a precisão e a consistência, você pode enviar um pull request com uma descrição clara do documento que criou. Certifique-se de que coloca o documento na secção apropriada com base no local onde pertence e se enquadra melhor(guias, soluções, integrações, etc.). Consulte também o ficheiro index.md para as secções relevantes e o ficheiro mkdocs.yml geral e faça as actualizações necessárias. A atenção aos detalhes ajudará o processo de revisão a decorrer sem problemas e garantirá que a sua contribuição seja bem integrada no projeto.

Coisas a ter em conta ao contribuir para o open-sourcecCode

Ao fazer contribuições de código para o projeto Ultralytics, é importante seguir as práticas recomendadas que ajudam a garantir que o seu código é limpo, sustentável e fácil de integrar. Aqui estão alguns pontos-chave a ter em conta:

  • Evitar a duplicação de código: Reutilizar o código existente sempre que possível e minimizar os argumentos desnecessários.
  • Fazer alterações mais pequenas e direcionadas: Concentrar-se em alterações mais pequenas e direcionadas em vez de grandes modificações.
  • Simplificar ou remover código: Procurar oportunidades para simplificar o código ou remover partes desnecessárias.
  • Escrever docstrings: Explicar claramente o que o seu código faz e ligar a recursos relevantes.
  • Evitar dependências desnecessárias: Só adicione dependências se elas forem absolutamente necessárias.
__wf_reserved_inherit
Figura 4. Melhores práticas de documentação do código fonte.

É também essencial ter em conta a capacidade de manutenção a longo prazo da base de código. Antes de efetuar quaisquer alterações, pergunte a si próprio se as suas modificações poderão quebrar o código existente de alguém que utilize Ultralytics. Em caso afirmativo, considere a forma de resolver este problema e certifique-se de que as suas alterações são tão compatíveis quanto possível.

Assim que tiver desenvolvido um pedaço de código para contribuir, precisará de o testar. Pode utilizar estruturas como pytest para testar as suas alterações antes de as submeter. A formatação consistente do código é outro aspeto da sua contribuição que é muito importante. Ferramentas como o Ruff Formatter podem ajudá-lo a manter a consistência estilística e a detetar quaisquer erros lógicos ou inconsistências no seu código. 

Revisão de pedidos pull

A revisão de pull requests (PRs) é uma óptima forma de contribuir! Um PR é criado quando alguém solicita a fusão das suas alterações no projeto principal. Ele ajuda a manter o projeto Ultralytics funcionando sem problemas. Ao revisar um PR, certifique-se de entender por que as alterações foram feitas. O autor deve explicar claramente a finalidade e os benefícios da atualização, e você deve ver evidências de testes completos no PR. 

__wf_reserved_inherit
Figura 5. O que é um pull request?

Vejamos alguns pontos-chave em que nos devemos concentrar.

  • Verificar a existência de testes unitários: Verificar se o PR inclui testes para novas funcionalidades ou alterações para confirmar que o código funciona como esperado e não introduz problemas.
  • Rever as actualizações da documentação: Verificar se a documentação está actualizada para refletir alterações ou novas funcionalidades, incluindo exemplos, referências de API e outros detalhes relevantes.
  • Avaliar o impacto no desempenho: Considere como as alterações afectam o desempenho. Se necessário, solicite referências de desempenho ou testes adicionais.
  • Verificar testes de CI: Garantir que todos os testes de Integração Contínua (CI) estão a passar, incluindo verificações de formatação de código e resultados de testes unitários.
  • Colaborar nas correcções: Se algum teste falhar, trabalhe com o autor para resolver os problemas antes de aprovar o PR.

Como revisor, não se esqueça de dar feedback específico e claro sobre quaisquer questões ou preocupações. Ofereça sugestões de melhoria e faça perguntas que ajudem o autor a refletir sobre potenciais problemas. Incentive-o a seguir as práticas recomendadas de codificação, teste e documentação, e não hesite em indicar recursos que possam ajudar. Por último, mas não menos importante, reconheça sempre o esforço que o autor colocou no PR. O feedback positivo ajuda a manter uma atmosfera amigável e colaborativa na comunidade de código aberto.

Contribuir tem tudo a ver com a comunidade

Contribuir para projectos de código aberto como o Ultralytics pode dar-lhe um sentido inspirador de comunidade. Quer esteja a escrever código, a rever PRs, a atualizar documentação ou a participar em discussões, todos os esforços ajudam o projeto a crescer e a evoluir. Responder a problemas ou participar de conversas, seja no GitHub, Discord, Subreddit ou outros fóruns, é uma maneira valiosa de contribuir e se conectar com outras pessoas. Lembre-se, as suas contribuições, por mais pequenas que sejam, têm um impacto significativo e ajudam a promover um ambiente de colaboração e apoio para todos os envolvidos!

Na Ultralytics, somos apaixonados por impulsionar a inovação na comunidade de código aberto. Mantenha-se a par dos nossos últimos desenvolvimentos visitando o nosso repositório GitHub. Junte-se à nossa vibrante comunidade e veja como estamos a ter um impacto em sectores como a agricultura e a indústria transformadora.

Vamos construir juntos o futuro
da IA!

Comece a sua viagem com o futuro da aprendizagem automática

Comece gratuitamente
Ligação copiada para a área de transferência