YOLO Vision 2026:
Ultralytics YOLO

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 PRs y el uso de herramientas esenciales.

ABAbirami Vina4 min read
Razones para contribuir a los proyectos de código abierto de Ultralytics

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 excelente para que las personas se unan y construyan algo más grande que ellas mismas. En Ultralytics, valoramos mucho los principios del código abierto y siempre te animamos a contribuir a nuestros proyectos de código abierto.

Si te entusiasma colaborar, ya sea escribiendo documentación, revisando código o resolviendo incidencias, pero no sabes por dónde empezar o te enfrentas a algunos issues, estamos aquí para ayudarte a dar el primer paso. En este artículo, te guiaremos a través de algunos consejos para empezar a colaborar en los proyectos de código abierto de Ultralytics. ¡Vamos directo al grano!

La importancia de las contribuciones de la comunidad de Ultralytics#

Antes de ver cómo colaborar, respondamos a la pregunta de por qué las contribuciones son tan cruciales. Creemos firmemente en la importancia de las aportaciones de la comunidad de Ultralytics. Al participar en nuestros proyectos de código abierto, haces mucho más que ayudarnos a crear un mejor software. 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 activos, accessible y útiles 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 oportunidad fantástica para que crezcas. Puedes desarrollar tus habilidades de programació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 portafolio para destacar ante posibles empleadores.

Razones para colaborar en proyectos de código abierto

Fig 1. Razones para contribuir. Imagen del autor.

Cómo empezar con las contribuciones de código abierto a Ultralytics#

Un excelente punto de partida es consultar la official Ultralytics contributing guide. Está repleta de buenas prácticas y consejos para ayudarte a aprovechar al máximo tus contribuciones. El primer paso sería familiarizarte con lo que ya forma parte del proyecto comprendiendo las contributing guidelines y adentrándote en el código.

Tanto si buscas colaborar en el desarrollo como si solo quieres explorar el código más reciente, el siguiente paso es clone the Ultralytics repository. Una vez hecho esto, puedes ir al directorio del proyecto e instalar el paquete en modo editable, tal como se muestra en el fragmento de código a continuación.

Si necesitas ayuda, our quickstart guide tiene todo lo necesario para que empieces sin problemas.

Diferentes áreas en 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 un vistazo a algunas de las opciones:

  • Documentation: Colaborar en la documentación es una forma excelente de adentrarse en el proyecto mientras perfeccionas tus habilidades de redacción. Puedes ayudar mejorando la documentación existente, añadiendo detalles que faltten o creando nuevas guías que faciliten la colaboración a los demás.
  • Bug fixes: Si tienes experiencia programando, considera trabajar en la corrección de errores. Estos pueden ir desde ajustes menores hasta problemas más complejos, lo que te brinda la oportunidad de generar un impacto tangible en el proyecto.
  • Feature enhancements: Para quienes están listos para profundizar más, trabajar en mejoras de funcionalidades puede ser tanto un desafío como una recompensa. Esto podría implicar añadir nuevas características, mejorar las existentes o trabajar en la hoja de ruta del proyecto.
  • Pull request reviews: Revisar pull requests es otra forma valiosa de colaborar, especialmente si conoces los estándares y las buenas prácticas del proyecto. Al proporcionar comentarios y sugerir mejoras, ayudas a mantener la calidad y la integridad de la base de código.
  • Community discussions: Participar en debates de la comunidad es una excelente manera de colaborar si te gusta la colaboración y compartir ideas. Participa en las conversaciones en curso, propón nuevas ideas o ayuda a los demás ofreciendo tus perspectivas y soluciones.

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

Cada contribución es valorada en nuestra creciente comunidad

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

Contribución a la documentación de código abierto de Ultralytics#

Al contribuir a la documentación de Ultralytics, asegúrate de revisar la documentación existente y comprobar si hay problemas o debates que señalen áreas que necesiten mejoras. Hacer esto ayuda a asegurar que tus contribuciones se centren donde más se necesitan.

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

  • Utiliza siempre Markdown formatting.
  • Comienza cada documento con una introducción clara y mantén un lenguaje sencillo y accesible.
  • Usa 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 preguntas sobre el formato, una forma fácil de verificarlo es comprobar cómo se ha dado formato a la documentación anterior.

Formato Markdown junto al documento visualizado final

Fig 3. Un ejemplo de formato Markdown (a la izquierda) y el documento visualizado final (a la derecha). Imagen del autor.

Una vez que hayas realizado tu borrador, es importante previsualizarlo creando la documentación localmente. Así podrás detectar cualquier problema antes de enviarlo. Para ello, empieza clonando el repositorio y navegando al directorio del proyecto:

A continuación, puedes instalar las dependencias necesarias:

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

Puedes ver la documentación generada localmente navegando a http://127.0.0.1:8000/ en tu navegador web.

Tras revisar la claridad, precisión y coherencia, puedes enviar un pull request con una descripción clara del documento que has creado. Asegúrate de colocar el documento en la sección adecuada según dónde pertenezca y encaje mejor (guides, solutions, integrations, etc.). Por favor, echa un vistazo también al archivo index.md para las secciones relevantes y al archivo general mkdocs.yml, y realiza las actualizaciones que sean necesarias. La atención al detalle ayudará a que el proceso de revisión transcurra sin contratiempos y garantizará que tu contribución se integre perfectamente en el proyecto.

Cosas a tener en cuenta al contribuir a código fuente abierto#

Al realizar contribuciones de código al proyecto Ultralytics, es importante seguir las mejores prácticas que ayudan a garantizar que tu código esté limpio, sea 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.
  • Realiza cambios más pequeños y enfocados: Céntrate en cambios más pequeños y específicos en lugar de grandes modificaciones.
  • Simplifica o elimina código: Busca oportunidades para simplificar el código o eliminar partes innecesarias.
  • Escribe docstrings eficaces: Explica claramente lo que hace tu código y enlázalo a los recursos pertinentes.
  • Evita dependencias innecesarias: Añade dependencias solo si son absolutamente necesarias.

Buenas prácticas de documentación del código fuente

Fig 4. Buenas prácticas de documentación del código fuente.

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

Una vez que hayas desarrollado una pieza de código para colaborar, tendrás que probarla. Puedes usar frameworks como pytest para probar tus cambios antes de enviarlos. Un formato de código coherente es otro aspecto muy importante de tu colaboración. Herramientas como Ruff Formatter pueden ayudarte a mantener la consistencia estilística y a detectar cualquier error lógico o incoherencia en tu código.

Revisión de pull requests#

¡Revisar pull requests (PRs) es una excelente manera de contribuir! Un PR se plantea cuando alguien solicita fusionar sus cambios en el proyecto principal. Ayuda a mantener el proyecto Ultralytics funcionando sin problemas. Cuando estés revisando un PR, asegúrate de entender por qué se realizaron los cambios. El autor debería explicar claramente el propósito y los beneficios de la actualización, y deberías ver pruebas de un testing exhaustivo en su PR.

Diagrama que explica qué es un pull request

Fig 5. ¿Qué es un pull request?

Vamos a repasar algunos puntos clave en los que centrarse.

  • Comprueba las pruebas unitarias: Verifica que el PR incluya pruebas para nuevas funcionalidades o cambios para confirmar que el código funciona como se espera y no introduce problemas.
  • Revisa las actualizaciones de la documentación: Verifica que la documentación se actualice para reflejar los cambios o las nuevas funcionalidades, incluyendo ejemplos, referencias de API y otros detalles relevantes.
  • Evalúa el impacto en el rendimiento: Considera cómo afectan los cambios al rendimiento. Si es necesario, solicita benchmarks de rendimiento o pruebas adicionales.
  • Verifica las pruebas de CI: Asegúrate de que todas las pruebas de Continuous Integration (CI) se pasen correctamente, incluidas las comprobaciones de formato de código y los resultados de las pruebas unitarias.
  • Colabora en las correcciones: Si alguna prueba falla, trabaja con el autor para resolver los problemas antes de aprobar el PR.

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

Contribuir es sinónimo de comunidad#

Colaborar en proyectos de código abierto como Ultralytics puede infundirte un inspirador sentido de comunidad. Ya estés escribiendo código, revisando PRs, actualizando documentación o participando en debates, cada esfuerzo ayuda a que el proyecto crezca y evolucione. Responder a incidencias o participar en conversaciones, ya sea en GitHub, Discord, Subreddit u otros foros, es una forma valiosa de colaborar y conectar con los demás. Recuerda que tus contribuciones, por muy pequeñas que sean, generan un impacto significativo y ayudan a fomentar un entorno colaborativo y de apoyo para todos los implicados.

En Ultralytics, nos apasiona impulsar la innovación en la comunidad de código abierto. Mantente al día con nuestros últimos avances visitando nuestro GitHub repository. Únete a our vibrant community y descubre cómo estamos marcando la diferencia en sectores como la agriculture y la manufacturing.

Explore solutions

Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Comienza tu viaje con el futuro del aprendizaje automático