Cheque verde
Enlace copiado en el portapapeles

Consejos para empezar a contribuir a los proyectos de código abierto de Ultralytics

Aprende a contribuir a los proyectos de código abierto de Ultralytics y explora los mejores consejos relacionados con la documentación, la revisión de PR y el uso de herramientas esenciales.

La base del software de código abierto es la colaboración, el aprendizaje y el intercambio. Los proyectos de código abierto son una forma estupenda de que la gente se una para construir algo más grande que ellos mismos. En Ultralytics, llevamos los principios del código abierto en el corazón y siempre te animamos a que contribuyas a nuestros proyectos de código abierto. 

Si te apetece contribuir, ya sea escribiendo documentación, revisando código o resolviendo problemas, pero no estás seguro de por dónde empezar o te enfrentas a algunos problemas, estamos aquí para ayudarte a empezar. En este artículo, te daremos algunos consejos para empezar a contribuir a los proyectos de código abierto de Ultralytics . ¡Sumerjámonos de lleno!

La importancia de Ultralytics Contribuciones comunitarias

Antes de echar un vistazo a cómo contribuir, respondamos a la pregunta de por qué las contribuciones son tan cruciales. Creemos firmemente en la importancia de las contribuciones de la comunidad Ultralytics . Al participar en nuestros proyectos de código abierto, estás haciendo algo más que ayudarnos a crear un software mejor. Los colaboradores desempeñan un papel clave para garantizar que nuestra tecnología siga siendo abierta, colaborativa y en constante evolución. Tus contribuciones mantienen nuestros proyectos prósperos, accesibles y beneficiosos para usuarios y desarrolladores de todo el mundo.

Más allá de crear software de vanguardia, contribuir a los proyectos de Ultralytics es también una fantástica oportunidad para que crezcas. Puedes desarrollar tus habilidades de codificación, resolución de problemas y trabajo en equipo mientras trabajas junto a desarrolladores experimentados que pueden ofrecerte orientación y compartir las mejores prácticas. Tus esfuerzos pueden tener un impacto real en herramientas utilizadas por miles de personas en todo el mundo. Participar en nuestra comunidad también puede ayudarte a ampliar tu red profesional, abrir nuevas oportunidades y mejorar tu cartera para que destaques ante los empleadores.

Fig. 1. Razones para contribuir. Imagen del autor.

Cómo empezar con Ultralytics Contribuciones de código abierto

Un buen punto de partida es consultar la guía oficial de contribuciones de Ultralytics . Está repleta de buenas prácticas y consejos que te ayudarán a sacar el máximo partido a tus contribuciones. El primer paso sería familiarizarte con lo que ya forma parte del proyecto comprendiendo las directrices de contribución y sumergiéndote en el código. 

Tanto si quieres contribuir al desarrollo como si sólo quieres explorar el código más reciente, el siguiente paso es clonar el repositorio Ultralytics . Una vez hecho esto, puedes ir al directorio del proyecto e instalar el paquete en modo editable, como se muestra en el siguiente fragmento de código.


# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

Si necesitas ayuda, nuestra guía de inicio rápido tiene todo lo que necesitas para empezar sin problemas.

Diferentes áreas a las que contribuir

Una vez que hayas configurado tu entorno y estés familiarizado con el proyecto, puedes explorar las diferentes áreas en las que puedes tener un impacto significativo. Ultralytics ofrece varias formas de participar, y puedes elegir cómo contribuir en función de tus habilidades e intereses. 

Aquí tienes algunas opciones:

  • Documentación: Contribuir a la documentación es una forma estupenda de sumergirte en el proyecto a la vez que perfeccionas tus habilidades de redacción. Puedes ayudar mejorando la documentación existente, añadiendo detalles que falten o creando nuevas guías que faciliten la contribución de otros.
  • Corrección de errores: Si tienes alguna experiencia en codificación, considera la posibilidad de trabajar en la corrección de errores. Éstas pueden ir desde pequeños ajustes a problemas más complejos, dándote la oportunidad de tener un impacto tangible en el proyecto.
  • Funciones mejoradas: Para quienes estén dispuestos a profundizar, trabajar en la mejora de funciones puede ser un reto y una recompensa. Esto puede implicar añadir nuevas funciones, mejorar las existentes o trabajar en la hoja de ruta del proyecto.
  • Pull request reviews: Revisar pull requests es otra forma valiosa de contribuir, especialmente si estás familiarizado con las normas y buenas prácticas del proyecto. Proporcionando comentarios y sugiriendo mejoras, ayudas a mantener la calidad e integridad del código base.
  • Debates comunitarios: Participar en los debates de la comunidad es una forma excelente de contribuir si te gusta colaborar y compartir ideas. Participa en las conversaciones en curso, propone nuevas ideas o ayuda a los demás ofreciendo tus ideas y soluciones.

Cada una de estas áreas ofrece una forma única de contribuir, y puedes elegir la que mejor se ajuste a tus puntos fuertes e intereses. Recuerda que cada contribución, por pequeña que sea, desempeña un papel clave para ayudar a Ultralytics a crecer y evolucionar.

Fig 2. Toda contribución es valorada en nuestra creciente comunidad. Fuente de la imagen: Envato Elements.

Contribuir a la documentación de código abierto de Ultralytics

Cuando contribuyas a la documentación de Ultralytics , asegúrate de revisar la documentación existente y de comprobar si hay algún problema o debate que destaque las áreas que necesitan mejoras. De este modo te asegurarás de que tus contribuciones se centran donde más se necesitan. 

Al escribir o editar, ten en cuenta que es fundamental seguir las directrices del proyecto para mantener la coherencia. Aquí tienes algunos consejos de formato:

  • Utiliza siempre el formatoMarkdown .
  • Empieza cada documento con una introducción clara, y mantén un lenguaje sencillo y accesible. 
  • Utiliza viñetas para las listas, texto descriptivo para los enlaces e imágenes de menos de 1 MB para que las páginas se carguen rápidamente.
  • En caso de que tengas dudas sobre el formato, una forma fácil de comprobarlo es ver cómo se ha formateado la documentación anterior.
Fig. 3. Un ejemplo de formato Markdown (a la izquierda) y el documento final visualizado (a la derecha). Imagen del autor.

Una vez que hayas hecho tu borrador, es importante previsualizarlo construyendo la documentación localmente. Así podrás detectar cualquier problema antes de enviarla. Para ello, clona el repositorio y navega hasta el directorio del proyecto:


git clone https://github.com/ultralytics/ultralytics
cd ultralytics

A continuación, puedes instalar las dependencias necesarias:


pip install -e ".[dev]"

Por último, sirve la documentación localmente para revisar tus cambios:


mkdocs serve -f mkdocs.yml

Puedes ver los documentos creados localmente accediendo a `http://127.0.0.1:8000/` en tu navegador web. 

Después de revisar la claridad, precisión y coherencia, puedes enviar una solicitud de extracción con una descripción clara del documento que has creado. Asegúrate de colocar el documento en la sección adecuada en función de dónde pertenezca y encaje mejor(guías, soluciones, integraciones, etc.). Echa también un vistazo al archivo index.md para las secciones pertinentes y al archivo general mkdocs.yml, y realiza las actualizaciones necesarias. Prestar atención a los detalles ayudará a que el proceso de revisión se desarrolle sin problemas y garantizará que tu contribución quede bien integrada en el proyecto.

Cosas a tener en cuenta al contribuir al código de fuente abierta

Cuando realices contribuciones de código al proyecto Ultralytics , es importante que sigas las mejores prácticas que ayuden a garantizar que tu código sea limpio, mantenible y fácil de integrar. Aquí tienes algunos puntos clave que debes tener en cuenta:

  • Evita la duplicación de código: Reutiliza el código existente siempre que sea posible y minimiza los argumentos innecesarios.
  • Haz cambios más pequeños y centrados: Céntrate en cambios más pequeños y específicos, en lugar de en grandes modificaciones.
  • Simplifica o elimina código: Busca oportunidades para simplificar el código o eliminar partes innecesarias.
  • Escribir eficazmente docstrings: Explica claramente lo que hace tu código y enlaza con los recursos pertinentes.
  • Evita las dependencias innecesarias: Añade dependencias sólo si son absolutamente necesarias.
Fig. 4. Buenas prácticas de documentación del código fuente.

También es esencial tener en cuenta la mantenibilidad a largo plazo del código base. Antes de hacer cualquier cambio, pregúntate si tus modificaciones podrían romper el código existente de alguien que utilice Ultralytics. Si es así, piensa en cómo abordarlo y asegúrate de que tus cambios sean lo más compatibles posible.

Una vez que hayas desarrollado un fragmento de código para contribuir, tendrás que probarlo. Puedes utilizar frameworks como pytest para probar tus cambios antes de enviarlos. El formato coherente del código es otro aspecto muy importante de tu contribución. Herramientas como el Formateador Ruff pueden ayudarte a mantener la coherencia estilística y a detectar cualquier error lógico o incoherencia en tu código. 

Revisar Pull Requests

¡Revisar pull requests (PRs) es una forma estupenda de contribuir! Un PR se genera cuando alguien solicita fusionar sus cambios en el proyecto principal. Ayuda a que el proyecto Ultralytics funcione sin problemas. Cuando revises un PR, asegúrate de que entiendes por qué se han hecho los cambios. El autor debe explicar claramente el propósito y los beneficios de la actualización, y debes ver en su PR pruebas exhaustivas. 

Fig 5. ¿Qué es un pull request?

Repasemos algunos aspectos clave en los que centrarnos.

  • Comprueba las pruebas unitarias: Comprueba que el RP incluye pruebas de las nuevas funciones o cambios para confirmar que el código funciona como se espera y no introduce problemas.
  • Revisa las actualizaciones de la documentación: Comprueba que la documentación está actualizada para reflejar los cambios o las nuevas funciones, incluyendo ejemplos, referencias a la API y otros detalles relevantes.
  • Evalúa el impacto en el rendimiento: Considera cómo afectan los cambios al rendimiento. Si es necesario, solicita referencias de rendimiento o pruebas adicionales.
  • Verifica las pruebas de IC: Asegúrate de que se superan todas las pruebas de Integración Continua (IC ), incluidas las comprobaciones del formato del código y los resultados de las pruebas unitarias.
  • Colabora en las correcciones: Si falla alguna prueba, colabora con el autor para resolver los problemas antes de aprobar el RP.

Como revisor, asegúrate de proporcionar comentarios específicos y claros sobre cualquier problema o preocupación. Ofrece sugerencias de mejora y haz preguntas que ayuden al autor a reflexionar sobre posibles problemas. Anímale a seguir las mejores prácticas de codificación, pruebas y documentación, y no dudes en indicarle recursos que puedan ayudarle. Por último, pero no por ello menos importante, reconoce siempre el esfuerzo que el autor ha dedicado al RP. Los comentarios positivos ayudan a mantener un ambiente amistoso y de colaboración en la comunidad de código abierto.

Contribuir es una cuestión de comunidad

Contribuir a proyectos de código abierto como Ultralytics puede darte un inspirador sentido de comunidad. Ya sea escribiendo código, revisando relaciones públicas, actualizando la documentación o participando en debates, cada esfuerzo ayuda al proyecto a crecer y evolucionar. Responder a cuestiones o participar en conversaciones, ya sea en GitHub, Discord, Subreddit u otros foros, es una forma valiosa de contribuir y conectar con los demás. Recuerda que tus contribuciones, por pequeñas que sean, tienen un impacto significativo y ayudan a fomentar un entorno de colaboración y apoyo para todos los implicados.

En Ultralytics, nos apasiona impulsar la innovación en la comunidad de código abierto. Mantente al día de nuestros últimos avances visitando nuestro repositorio de GitHub. Únete a nuestra vibrante comunidad y descubre cómo estamos influyendo en sectores como la agricultura y la fabricación.

Logotipo de FacebookLogotipo de TwitterLogotipo de LinkedInSímbolo de enlace de copia

Leer más en esta categoría

¡Construyamos juntos el futuro
de la IA!

Comienza tu viaje con el futuro del aprendizaje automático