Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
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 descubre los mejores consejos sobre documentación, revisión de PR y uso de herramientas esenciales.

Abirami VinaAbirami Vina9 min de lectura
Motivos para contribuir a los proyectos de código abierto de Ultralytics

La colaboración, el aprendizaje y el intercambio son la base del software de código abierto. Los proyectos de código abierto son una forma estupenda de reunir a personas para crear algo más grande que ellas mismas. En Ultralytics, valoramos profundamente los principios del código abierto y siempre te animamos a contribuir a nuestros proyectos de código abierto.

Si te apetece colaborar, ya sea escribiendo documentación, revisando código o resolviendo problemas, pero no sabes por dónde empezar o te has encontrado con dificultades, estamos aquí para ayudarte a dar los primeros pasos. En este artículo te ofrecemos algunos consejos para empezar a contribuir a los proyectos de código abierto de Ultralytics.

La importancia de las contribuciones de la comunidad de Ultralytics#

Antes de ver cómo puedes contribuir, respondamos a la pregunta de por qué las contribuciones son tan importantes. 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 clave para garantizar que nuestra tecnología siga siendo abierta, colaborativa y esté en constante evolución. Tus contribuciones mantienen nuestros proyectos activos, accesibles y útiles para usuarios y desarrolladores de todo el mundo.

Además de crear software, contribuir a los proyectos de Ultralytics también es una oportunidad fantástica para crecer. Puedes desarrollar tus habilidades de programación, resolución de problemas y trabajo en equipo mientras colaboras con desarrolladores con experiencia que pueden orientarte y compartir buenas prácticas. Tus esfuerzos pueden influir de verdad en herramientas que utilizan miles de personas en todo el mundo. Participar en nuestra comunidad también puede ayudarte a ampliar tu red profesional, abrirte nuevas oportunidades y mejorar tu portafolio para que destaques ante los empleadores.

Motivos para contribuir a proyectos de código abierto

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

Cómo empezar a contribuir a los proyectos de código abierto de Ultralytics#

Un buen punto de partida es consultar la guía oficial de contribución de Ultralytics. Está repleta de buenas prácticas y consejos para que saques el máximo partido a tus contribuciones. El primer paso sería familiarizarte con lo que ya forma parte del proyecto: entiende las directrices de contribución, firma el Acuerdo de licencia de contribuidor (CLA) y explora el código.

Tanto si quieres contribuir al desarrollo como si simplemente quieres explorar el código más reciente, el siguiente paso es clonar el repositorio de Ultralytics. 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 siguiente.

git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .

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

Distintas áreas en las que puedes contribuir#

Una vez que hayas configurado tu entorno y te hayas familiarizado con el proyecto, puedes explorar las distintas áreas en las que puedes aportar un valor significativo. Ultralytics ofrece varias formas de participar y puedes elegir cómo contribuir en función de tus habilidades e intereses.

Estas son algunas de las opciones:

  • Documentación: Contribuir a la documentación es una forma estupenda de adentrarte en el proyecto mientras perfeccionas tus habilidades de redacción. Puedes ayudar a mejorar la documentación existente, añadir detalles que falten o crear nuevas guías para que a otras personas les resulte más fácil contribuir.
  • Corrección de errores: Si tienes algo de experiencia programando, puedes plantearte trabajar en la corrección de errores. Pueden ser desde pequeños ajustes hasta problemas más complejos, y te ofrecen la oportunidad de aportar un impacto tangible al proyecto.
  • Mejoras de funciones: Si quieres profundizar, trabajar en mejoras de funciones puede ser todo un reto y muy gratificante. Puede consistir en añadir funciones nuevas, mejorar las existentes o trabajar en la hoja de ruta del proyecto.
  • Revisiones de solicitudes de cambios: Revisar solicitudes de cambios es otra forma valiosa de contribuir, sobre todo si conoces los estándares y las prácticas recomendadas del proyecto. Al dar tu opinión y proponer mejoras, ayudas a mantener la calidad y la integridad del código.
  • Debates de la comunidad: Participar en los debates de la comunidad es una forma excelente de contribuir si te gusta colaborar y compartir ideas. Participa en conversaciones en curso, propón ideas nuevas o ayuda a otras personas compartiendo tus conocimientos y soluciones.

Cada una de estas áreas ofrece una forma diferente de contribuir, y puedes elegir la que mejor se adapte a tus puntos fuertes e intereses. Recuerda que todas las contribuciones, por pequeñas que sean, desempeñan un papel fundamental para ayudar a Ultralytics a crecer y evolucionar.

En nuestra comunidad en crecimiento, valoramos todas las contribuciones

Fig. 2. En nuestra comunidad en crecimiento, valoramos todas las contribuciones. Fuente de la imagen: Envato Elements.

Cómo contribuir a la documentación de código abierto de Ultralytics#

Cuando contribuyas a la documentación de Ultralytics, revisa la documentación existente y busca incidencias o debates que señalen áreas que necesitan mejoras. Así te asegurarás de centrar tus contribuciones en lo que más falta hace.

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

  • Usa siempre el formato Markdown.
  • Empieza cada documento con una introducción clara y utiliza un lenguaje sencillo y accesible.
  • Usa listas con viñetas, texto descriptivo para los enlaces e imágenes de menos de 1 MB para que las páginas carguen rápidamente.
  • Si tienes dudas sobre el formato, una forma sencilla de comprobarlo es consultar cómo se ha aplicado el formato en la documentación anterior.

Formato Markdown junto al documento final renderizado

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

Cuando tengas listo el borrador, es importante que lo previsualices generando la documentación en local. Así podrás detectar cualquier problema antes de enviarlo. Para hacerlo, empieza clonando el repositorio y accediendo al directorio del proyecto:

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

A continuación, instala las dependencias necesarias:

pip install -e ".[dev]"

Por último, compila la documentación y sírvela localmente para revisar los cambios:

python docs/build_docs.py
python -m http.server --directory site

Puedes ver la documentación generada en local accediendo a http://127.0.0.1:8000/ en el navegador.

Tras revisar la claridad, la precisión y la coherencia, puedes enviar una solicitud de cambios 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 corresponda y encaje mejor (guías, soluciones, integraciones, etc.). Consulta también el archivo index.md para ver las secciones pertinentes y el archivo mkdocs.yml general, y actualízalos si es necesario. Prestar atención a los detalles facilitará el proceso de revisión y garantizará que tu contribución quede bien integrada en el proyecto.

Aspectos que debes tener en cuenta al contribuir a proyectos de código abierto#

Al contribuir con código al proyecto Ultralytics, es importante seguir las buenas prácticas que ayudan a garantizar que el código esté limpio, sea fácil de mantener y sencillo de integrar. Estos son algunos puntos clave que debes tener en cuenta:

  • Evita duplicar código: Reutiliza el código existente siempre que sea posible y reduce al mínimo los argumentos innecesarios.
  • Haz cambios pequeños y concretos: Céntrate en cambios pequeños y específicos en lugar de hacer modificaciones grandes.
  • Simplifica o elimina código: Busca oportunidades para simplificar el código o eliminar partes innecesarias.
  • Escribe docstrings eficaces: Explica claramente qué hace tu código y enlaza a recursos pertinentes.
  • Evita dependencias innecesarias: Añade dependencias solo si son absolutamente necesarias.

Prácticas recomendadas para documentar el código fuente

Fig. 4. Prácticas recomendadas para documentar el código fuente.

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

Cuando hayas desarrollado una parte de código para contribuir, tendrás que probarla. Puedes utilizar frameworks como pytest para probar los cambios antes de enviarlos. Mantener un formato de código coherente es otro aspecto muy importante de tu contribución. Herramientas como Ruff pueden ayudarte a mantener la coherencia estilística y detectar errores o incoherencias habituales en el código.

Revisión de solicitudes de cambios#

¡Revisar solicitudes de cambios (PR) es una forma estupenda de contribuir! Se crea una PR cuando alguien solicita integrar sus cambios en el proyecto principal. Esto ayuda a que el proyecto Ultralytics funcione correctamente. Al revisar una PR, asegúrate de entender por qué se han hecho los cambios. El autor debe explicar claramente el propósito y las ventajas de la actualización, y la PR debe incluir pruebas de que se han realizado comprobaciones exhaustivas.

Diagrama que explica qué es una solicitud de cambios

Fig. 5. ¿Qué es una solicitud de cambios?

Veamos algunos aspectos clave en los que debes centrarte.

  • Comprueba las pruebas unitarias: Comprueba que la PR incluya pruebas para las funciones nuevas o los cambios, a fin de 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 se haya actualizado para reflejar los cambios o las nuevas funciones, incluidos los ejemplos, las referencias de API y otros detalles pertinentes.
  • Evalúa el impacto en el rendimiento: Ten en cuenta cómo afectan los cambios al rendimiento. Si es necesario, solicita pruebas comparativas de rendimiento o pruebas adicionales.
  • Verifica las pruebas de CI: Asegúrate de que todas las pruebas de integración continua (CI) se superen, incluidas las comprobaciones del formato del código y los resultados de las pruebas unitarias.
  • Colabora para resolver los problemas: Si falla alguna prueba, trabaja con el autor para resolver los problemas antes de aprobar la PR.

Como revisor, asegúrate de ofrecer comentarios concretos y claros sobre cualquier problema o duda. Propón mejoras y haz preguntas que ayuden al autor a reflexionar sobre posibles problemas. Anímale a seguir buenas prácticas de programación, pruebas y documentación, y no dudes en recomendarle recursos que puedan ayudarle. Por último, reconoce siempre el esfuerzo que ha dedicado el autor a la PR. Los comentarios positivos ayudan a mantener un ambiente cordial y colaborativo en la comunidad de código abierto.

Contribuir es cosa de toda la comunidad#

Contribuir a proyectos de código abierto como Ultralytics puede darte una inspiradora sensación de comunidad. Tanto si escribes código, revisas PR, actualizas documentación o participas en debates, cada esfuerzo ayuda a que el proyecto crezca y evolucione. Responder a incidencias o participar en conversaciones, ya sea en GitHub, Discord, Reddit u otros foros, es una forma valiosa de contribuir y conectar con otras personas. Recuerda que tus contribuciones, por pequeñas que sean, tienen un impacto importante y ayudan a fomentar un entorno colaborativo y solidario para todas las personas que participan.

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 generando impacto en sectores como la agricultura y la fabricación.

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual 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
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático