Conoce YOLO26: IA de visión de nueva generación.
Ultralytics
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 Vina
4 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 la idea de contribuir, ya sea escribiendo documentación, revisando código o resolviendo problemas, pero no sabes por dónde empezar o te enfrentas a algunos problemas, estamos aquí para ayudarte a comenzar. En este artículo, te guiaremos a través de algunos consejos para empezar a contribuir a los proyectos de código abierto de Ultralytics. ¡Vamos allá!

Link to this sectionLa importancia de las contribuciones de la comunidad de Ultralytics#

Antes de ver cómo contribuir, respondamos a la pregunta de por qué son tan cruciales las contribuciones. Creemos firmemente en la importancia de las contribuciones 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 fundamental 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 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 contribuir a proyectos de código abierto

Fig 1. Razones para contribuir. Imagen del autor.

Link to this sectionCómo empezar con las contribuciones de código abierto a Ultralytics#

Un gran lugar para empezar es consultar la guía oficial de contribución de Ultralytics. Está repleta de mejores 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 entendiendo las pautas de contribución y profundizando en el código.

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

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

Link to this sectionDiferentes á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:

  • Documentación: Contribuir a la documentación es una forma excelente de sumergirte en el proyecto mientras perfeccionas tus habilidades de escritura. Puedes ayudar mejorando la documentación existente, añadiendo detalles que faltan o creando nuevas guías que faciliten la contribución a otros.
  • Corrección de errores: Si tienes experiencia en programación, considera trabajar en la corrección de errores. Esto puede ir desde ajustes menores hasta problemas más complejos, dándote la oportunidad de lograr un impacto tangible en el proyecto.
  • Mejoras de funcionalidades: Para aquellos que estén listos para profundizar, trabajar en mejoras de funcionalidades puede ser a la vez desafiante y gratificante. Esto podría implicar añadir nuevas funcionalidades, mejorar las existentes o trabajar en la hoja de ruta del proyecto.
  • Revisión de pull requests: Revisar pull requests es otra forma valiosa de contribuir, especialmente si conoces los estándares y las mejores prácticas del proyecto. Al proporcionar comentarios y sugerir mejoras, ayudas a mantener la calidad y la integridad de la base del código.
  • Debates de la comunidad: Participar en los debates de la comunidad es una manera excelente de contribuir si te gusta colaborar y compartir ideas. Participa en conversaciones en curso, propone nuevas ideas o ayuda a otros 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 comunidad en crecimiento

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

Link to this sectionContribució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 formato Markdown.
  • 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, la precisión y la 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 donde pertenezca y encaje mejor (guías, soluciones, integraciones, etc.). Por favor, echa también un vistazo al archivo index.md para las secciones relevantes y al archivo mkdocs.yml general, y realiza las actualizaciones que sean necesarias. La atención a los detalles ayudará a que el proceso de revisión sea fluido y garantizará que tu contribución esté bien integrada en el proyecto.

Link to this sectionCosas 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 efectivos docstrings: Explica claramente qué hace tu código y enlaza a recursos relevantes.
  • Evita dependencias innecesarias: Añade dependencias solo si son absolutamente necesarias.

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

Fig 4. Mejores 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 contribuir, tendrás que probarla. Puedes usar marcos de trabajo como pytest para probar tus cambios antes de enviarlos. Un formato de código coherente es otro aspecto de tu contribución que es muy importante. Herramientas como el Ruff Formatter pueden ayudarte a mantener la coherencia estilística y a detectar cualquier error lógico o inconsistencia en tu código.

Link to this sectionRevisió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 Integración Continua (CI) están pasando, incluyendo comprobaciones de formato de código y resultados de 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.

Link to this sectionContribuir es sinónimo de comunidad#

Contribuir a proyectos de código abierto como Ultralytics puede darte un sentido inspirador de comunidad. Ya sea escribiendo código, revisando PRs, actualizando documentación o participando en debates, cada esfuerzo ayuda a que el proyecto crezca y evolucione. Responder a problemas 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, ¡tus contribuciones, por pequeñas que sean, tienen un impacto significativo y ayudan a fomentar un entorno colaborativo y de apoyo para todos los involucrados!

En Ultralytics, nos apasiona impulsar la innovación en la comunidad de código abierto. Mantente al tanto de nuestros últimos desarrollos visitando nuestro repositorio de GitHub. Únete a nuestra vibrante comunidad y mira cómo estamos marcando la diferencia en industrias como la agricultura y la fabricación.

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