Sintonize na YOLO Vision 2025!
25 de setembro de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024

Dicas para começar a contribuir com projetos de código aberto da Ultralytics

Abirami Vina

4 min de leitura

28 de agosto de 2024

Aprenda como contribuir para os projetos de código aberto da Ultralytics e explore as melhores dicas relacionadas à documentação, revisão de PRs e uso de ferramentas essenciais.

A base do software de código aberto é a colaboração, o aprendizado e o compartilhamento. Os projetos de código aberto são uma ótima maneira para as pessoas se unirem para construir algo maior do que elas mesmas. Na Ultralytics, mantemos os princípios de código aberto perto de nossos corações e sempre incentivamos você a contribuir com nossos projetos de código aberto. 

Se está entusiasmado para contribuir, seja através da escrita de documentação, revisão de código ou resolução de problemas, mas não tem a certeza por onde começar ou está a enfrentar alguns problemas, estamos aqui para o ajudar a começar. Neste artigo, vamos guiá-lo através de algumas dicas para começar a contribuir para projetos de código aberto da Ultralytics. Vamos mergulhar de cabeça!

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

Antes de analisarmos como contribuir, vamos responder à pergunta de por que as contribuições são tão cruciais. Acreditamos fortemente na importância das contribuições da comunidade Ultralytics. Ao participar de nossos projetos de código aberto, você está fazendo mais do que apenas nos ajudar a construir um software melhor. Os contribuidores desempenham um papel fundamental para garantir que nossa tecnologia permaneça aberta, colaborativa e em constante evolução. Suas contribuições mantêm nossos projetos prósperos, acessíveis e benéficos para usuários e desenvolvedores em todo o mundo!

Além de criar software de ponta, contribuir para os projetos da Ultralytics também é uma oportunidade fantástica para você crescer. Você pode desenvolver suas habilidades de programação, resolução de problemas e trabalho em equipe enquanto trabalha ao lado de desenvolvedores experientes que podem oferecer orientação e compartilhar as melhores práticas. Seus esforços podem ter um impacto real nas ferramentas usadas por milhares de pessoas em todo o mundo. Envolver-se com nossa comunidade também pode ajudá-lo a expandir sua rede profissional, abrir novas oportunidades e aprimorar seu portfólio para destacá-lo para os empregadores.

Fig 1. Razões para Contribuir. Imagem do Autor.

Como começar com as contribuições de código aberto da Ultralytics

Um ótimo lugar para começar é conferir o guia de contribuição oficial da Ultralytics. Ele está repleto de práticas recomendadas e dicas para ajudá-lo a aproveitar ao máximo suas contribuições. O primeiro passo seria se familiarizar com o que já faz parte do projeto, entendendo as diretrizes de contribuição e mergulhando no código. 

Se você deseja contribuir com o desenvolvimento ou apenas explorar o código mais recente, o próximo passo é clonar o repositório da Ultralytics. Depois de fazer isso, você pode ir para o diretório do projeto e instalar o pacote no modo editável, como mostrado no trecho de código abaixo.

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

Diferentes áreas para contribuir

Depois de configurar o seu ambiente e estar familiarizado com o projeto, pode explorar as diferentes áreas onde pode ter um impacto significativo. A Ultralytics oferece várias maneiras de se envolver, e pode escolher como contribuir com base nas suas habilidades e interesses. 

Aqui estão algumas das opções:

  • Documentação: Contribuir para a documentação é uma ótima maneira de mergulhar no projeto enquanto aprimora suas habilidades de escrita. Você pode ajudar melhorando a documentação existente, adicionando detalhes ausentes ou criando novos guias que facilitem a contribuição de outras pessoas.
  • Correções de bugs: Se você tem alguma experiência em programação, considere trabalhar em correções de bugs. Elas podem variar de ajustes menores a problemas mais complexos, dando a você a chance de causar um impacto tangível no projeto.
  • Aprimoramentos de recursos: Para aqueles que estão prontos para se aprofundar, trabalhar em aprimoramentos de recursos pode ser desafiador e gratificante. Isso pode envolver adicionar novos recursos, melhorar os existentes ou trabalhar no roteiro do projeto.
  • Revisões de pull requests: Revisar pull requests é outra forma valiosa de contribuir, especialmente se você estiver familiarizado com os padrões e as práticas recomendadas do projeto. Ao fornecer feedback e sugerir melhorias, você ajuda a manter a qualidade e a integridade da base de código.
  • Discussões da comunidade: Participar de discussões da comunidade é uma excelente forma de contribuir se você gosta de colaboração e compartilhamento de ideias. Participe de conversas em andamento, proponha novas ideias ou ajude outras pessoas, oferecendo suas ideias e soluções.

Cada uma dessas áreas oferece uma maneira única de contribuir, e você pode escolher aquela que melhor se alinha com seus pontos fortes e interesses. Lembre-se, cada contribuição, por menor que seja, desempenha um papel fundamental para ajudar a Ultralytics a crescer e evoluir.

Fig 2. Cada contribuição é valorizada em nossa crescente comunidade. Fonte da imagem: Envato Elements.

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

Ao contribuir para a documentação da Ultralytics, certifique-se de revisar a documentação existente e verificar se há problemas ou discussões que destaquem áreas que precisam de melhorias. Isso ajuda a garantir que suas contribuições estejam focadas onde são mais necessárias. 

Ao escrever ou editar, lembre-se de que é fundamental seguir as diretrizes do projeto para manter a consistência. Aqui estão algumas dicas de formatação:

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

Depois de fazer seu rascunho, é importante visualizá-lo construindo a documentação localmente. Você pode detectar quaisquer problemas antes de enviar. Para fazer isso, comece clonando o repositório e navegando até o diretório do projeto:

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

Finalmente, sirva a documentação localmente para revisar suas alterações:

Você pode visualizar os documentos construídos localmente navegando até `http://127.0.0.1:8000/` no seu navegador web. 

Após revisar a clareza, precisão e consistência, você pode enviar um pull request com uma descrição clara do documento que você criou. Certifique-se de colocar o documento na seção apropriada com base em onde ele pertence e se encaixa melhor (guias, soluções, integrações, etc.). Por favor, dê também uma olhada no arquivo index.md para as seções relevantes e no arquivo mkdocs.yml geral, e faça as atualizações necessárias. A atenção aos detalhes ajudará o processo de revisão a correr bem e garantirá que sua contribuição seja bem integrada ao projeto.

Coisas para ter em mente ao contribuir com código de código aberto

Ao fazer contribuições de código para o projeto Ultralytics, é importante seguir as melhores práticas que ajudam a garantir que seu código seja limpo, fácil de manter e fácil de integrar. Aqui estão alguns pontos-chave a serem lembrados:

  • Evite duplicação de código: Reutilize o código existente sempre que possível e minimize argumentos desnecessários.
  • Faça mudanças menores e focadas: Concentre-se em mudanças menores e direcionadas, em vez de grandes modificações.
  • Simplifique ou remova o código: Procure oportunidades para simplificar o código ou remover partes desnecessárias.
  • Escreva docstrings eficazes: Explique claramente o que seu código faz e vincule a recursos relevantes.
  • Evite dependências desnecessárias: Adicione dependências somente se forem absolutamente necessárias.
Fig 4. Melhores Práticas de Documentação de Código Fonte.

É também essencial considerar a capacidade de manutenção a longo prazo da base de código. Antes de fazer qualquer alteração, pergunte-se se as suas modificações podem quebrar o código existente de alguém que utilize o Ultralytics. Se sim, considere como resolver este problema e certifique-se de que as suas alterações são o mais compatíveis possível.

Depois de desenvolver um trecho de código para contribuir, você precisará testá-lo. Você pode usar frameworks como o pytest para testar suas alterações antes de enviá-las. A formatação consistente do código é outro aspecto da sua contribuição que é muito importante. Ferramentas como o Ruff Formatter podem ajudá-lo a manter a consistência estilística e detectar quaisquer bugs lógicos ou inconsistências no seu código. 

Revisando pull requests

Revisar pull requests (PRs) é uma ótima maneira de contribuir! Um PR é levantado quando alguém solicita a fusão de suas alterações no projeto principal. Isso 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 o propósito e os benefícios da atualização, e você deve ver evidências de testes completos em seu PR. 

Fig 5. O que é um pull request?

Vamos abordar alguns pontos-chave nos quais se concentrar.

  • Verificar testes unitários: Verifique se o PR inclui testes para novos recursos ou alterações para confirmar se o código funciona como esperado e não introduz problemas.
  • Revisar atualizações da documentação: Verifique se a documentação está atualizada para refletir as alterações ou novos recursos, incluindo exemplos, referências de API e outros detalhes relevantes.
  • Avalie o impacto no desempenho: Considere como as mudanças afetam o desempenho. Se necessário, solicite benchmarks de desempenho ou testes adicionais.
  • Verificar testes de CI: Garanta que todos os testes de Integração Contínua (CI) estão a ser aprovados, incluindo verificações de formatação de código e resultados de testes unitários.
  • Colabore nas correções: Se algum teste falhar, trabalhe com o autor para resolver os problemas antes de aprovar o PR.

Como revisor, certifique-se de fornecer feedback específico e claro sobre quaisquer problemas 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 melhores práticas em 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 dedicou ao PR. O feedback positivo ajuda a manter um ambiente amigável e colaborativo na comunidade de código aberto.

Contribuir tem tudo a ver com comunidade

Contribuir para projetos 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 em conversas, seja no GitHub, Discord, Subreddit ou outros fóruns, é uma forma valiosa de contribuir e conectar-se com outros. Lembre-se, as suas contribuições, por mais pequenas que sejam, têm um impacto significativo e ajudam a promover um ambiente colaborativo e de 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 mais recentes desenvolvimentos visitando o nosso repositório GitHub. Junte-se à nossa vibrante comunidade e veja como estamos a causar impacto em setores como a agricultura e o setor manufatureiro.

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente
Link copiado para a área de transferência