Meet YOLO26: next-gen vision AI.

Link to this sectionCómo contribuir 🚀#

¡Bienvenido! Estamos encantados de que consideres contribuir a los proyectos de código abierto de Ultralytics. Tu participación ayuda a mejorar la calidad de nuestros repositorios y beneficia a toda la comunidad de visión artificial.

Guías completas

Para obtener guías de contribución exhaustivas, consulta también la Guía oficial de contribución de Ultralytics en nuestra documentación principal.

Colaboradores de código abierto de Ultralytics

Link to this sectionVídeo: Cómo contribuir a Ultralytics#

Link to this sectionGuía de inicio rápido 🎯#

¿Listo para contribuir? Sigue estos pasos:

  1. Lee nuestro Código de conducta: respeto, amabilidad y profesionalidad
  2. Haz un fork del repositorio al que quieras contribuir
  3. Crea una rama de funcionalidades con un nombre descriptivo
  4. Realiza tus cambios siguiendo los estándares de programación
  5. Escribe pruebas para la nueva funcionalidad
  6. Envía una pull request con una descripción clara
  7. Firma el CLA comentando en tu PR
  8. Responde a los comentarios de los revisores

Consulta el Flujo de trabajo de desarrollo para ver el proceso detallado de las PR.

Link to this sectionGuías de contribución 📋#

Link to this sectionCódigo de conducta 🤝#

Todos los colaboradores deben cumplir nuestro Código de conducta, basado en el Contributor Covenant. Esto garantiza un entorno acogedor e inclusivo para todos. El respeto, la amabilidad y la profesionalidad son el corazón de nuestra comunidad.

Link to this sectionAcuerdo de licencia de colaborador (CLA) 📝#

Antes de que podamos fusionar tu PR, debes firmar nuestro CLA. Este acuerdo legal garantiza que las contribuciones tengan la licencia adecuada bajo AGPL-3.0, protegiéndote tanto a ti como al proyecto.

Tras enviar tu PR, el bot del CLA te guiará. Para firmar, comenta:

I have read the CLA Document and I sign the CLA

El CLA cubre:

  • Licencias de derechos de autor y patentes para tus contribuciones
  • Derechos de Ultralytics para usar y distribuir tu trabajo
  • Declaraciones de que posees los derechos de tus contribuciones
  • Exención de garantías

Revisa el documento del CLA completo para ver todos los términos.

Link to this sectionBuenas prácticas ✨#

Cuando contribuyas con código:

  • Evita la duplicación: reutiliza el código existente siempre que sea posible
  • Haz cambios pequeños: prioriza las modificaciones específicas sobre cambios a gran escala
  • Simplifica: busca oportunidades de simplificación
  • Considera la compatibilidad: evita romper el código existente
  • Usa un formato consistente: sigue Ruff Formatter
  • Añade pruebas: incluye tests para las nuevas funcionalidades
  • Actualiza la documentación: mantén la documentación al día

Link to this sectionEstándares de programación 📐#

  • Docstrings: utiliza docstrings al estilo Google con los tipos entre paréntesis
  • Ancho de línea: máximo 120 caracteres
  • Imports: usa pathlib en lugar de os
  • Testing: todas las PR deben superar las pruebas de CI
  • Type hints: úsalos donde sea beneficioso

Consulta el Flujo de trabajo de desarrollo para conocer los estándares de programación completos.

Link to this sectionFormas de contribuir 🌟#

Link to this sectionContribuciones de código 💻#

Link to this sectionDocumentación 📚#

Link to this sectionTesting 🧪#

  • Escribe pruebas unitarias para nuevas funcionalidades
  • Prueba nuevas funcionalidades en diferentes modelos y tareas
  • Informa sobre lagunas en la cobertura de pruebas
  • Benchmarking de rendimiento entre plataformas

Link to this sectionSoporte comunitario 💬#

Link to this sectionInformar de errores 🐞#

Ayúdanos a mejorar informando de errores a través de GitHub Issues:

Link to this sectionRequisitos para informar de errores#

  1. Comprueba si ya existen issues para evitar duplicados
  2. Crea un MRE (Ejemplo Mínimo Reproducible): código pequeño y autónomo que reproduzca el error
  3. Describe el entorno: SO, versión de Python, versiones de librerías, hardware (CPU/GPU)
  4. Explica el comportamiento esperado frente al real con mensajes de error y trazas

Link to this sectionQué hace que un MRE sea bueno#

Un Ejemplo Mínimo Reproducible debería:

  • Aislar el problema: elimina código innecesario
  • Usar modelos y datasets públicos: p. ej., yolo26n.pt y coco8.yaml
  • Incluir dependencias: lístalas con yolo checks o pip list
  • Proporcionar una descripción clara: comportamiento esperado frente al real
  • Formatear correctamente: usa bloques de código con tres comillas invertidas
  • Ser ejecutable: que otros puedan ejecutarlo sin modificaciones

Consulta la Guía de MRE completa para obtener instrucciones detalladas.

Link to this sectionRevisar pull requests 👀#

Revisar PRs es una contribución valiosa:

  • Comprueba las pruebas unitarias: verifica las pruebas de nuevas funcionalidades
  • Revisa la documentación: asegúrate de que esté actualizada
  • Evalúa el rendimiento: considera el impacto en velocidad/memoria
  • Verifica las pruebas de CI: confirma que todas las pruebas pasen
  • Proporciona feedback constructivo: sé específico y servicial
  • Reconoce el esfuerzo: agradece a los colaboradores

Link to this sectionInformación de licencia 📜#

Link to this sectionLicencia AGPL-3.0#

Ultralytics utiliza AGPL-3.0 para sus repositorios. Esto promueve la apertura, la transparencia y la mejora colaborativa.

Link to this sectionUso de YOLO en tu proyecto#

Si utilizas modelos o código de Ultralytics YOLO en tu proyecto, la AGPL-3.0 requiere que tu trabajo derivado completo también sea de código abierto bajo AGPL-3.0.

Por qué es importante el cumplimiento:

  • Mantiene el software abierto para beneficio de la comunidad
  • Es un requisito legal al usar código bajo AGPL-3.0
  • Fomenta la colaboración y la transparencia

Alternativa: Si prefieres no hacer que tu proyecto sea de código abierto, obtén una Enterprise License.

Link to this sectionCómo cumplir con AGPL-3.0#

Haz que el código fuente completo esté disponible públicamente bajo AGPL-3.0:

  1. Elige el punto de partida:

  2. Licencia tu proyecto:

    • Añade un archivo LICENSE con el texto completo de AGPL-3.0
    • Añade el aviso de licencia en la parte superior de los archivos fuente
  3. Publica el código fuente incluyendo:

    • La aplicación/sistema completo
    • Las modificaciones al código de Ultralytics
    • Scripts de entrenamiento/validación/inferencia
    • Los pesos del modelo si han sido modificados
    • Archivos de configuración y los datasets utilizados
    • Código del backend/frontend
    • Librerías de terceros modificadas
    • Datos de entrenamiento si son redistribuibles
  4. Documenta claramente:

    • Indica la licencia AGPL-3.0 en el README.md
    • Incluye las instrucciones de configuración
    • Atribuye Ultralytics YOLO adecuadamente

Consulta el repositorio de plantillas de Ultralytics para ver una estructura de ejemplo.

Link to this sectionNuestro equipo de desarrollo 👥#

Siéntete libre de contactar a los miembros del equipo para obtener orientación:

NombrePerfil de GitHub
Abi AndersonUltralyticsAbi
Abirami Vinaabirami-vina
Alex WongUltraAlex118
Alexis Schutzgerpicsalex
Altaïr Kabunda-Margaletaltair-jpg
Anastasiia Khrapalnastijakh
Andrei Banicabanica-ultralytics
Antonina PoludenaAntonina2111
Craig Johnstoncraigjohnston1
Craig Maxwellcraig-ships-it
Esat Kalfaogluartest08
Fatih Akyonfcakyon
Francesco Mattioliambitious-octopus
Giovanni Dal Zillioggg-dz-ultralytics
Glenn Jocherglenn-jocher
Hannah StreifHannahStreif
Jake Qianfengqianjake
Jianing Qi (Jalyn)jianing-Jalyn
Jin Xulaodouya
Jing QiuLaughing-q
Joey TjonNoCodeJoey
Kasim Acikbaskayselmecnun
Kirill VerbitskyKverbitski
Kristian Sommersokrisba
Lakshantha Dissanayakelakshanthad
Leo Samsingerlsamsinger
Marius KeiserSkillnoob
Matt Bristowmatt-ultralytics
Mengyu (Mason) Liulmycross
Miles Deansmiles-deans-ultralytics
Mohammed YasinY-T-G
Muhammad Rizwan MunawarRizwanMunawar
Mykola Boikomykolaxboiko
Nicolai Nielsenniconielsen32
Nuvola LadiNLadi
Olivia Wangziyue-olivia
Onuralp Sezeronuralpszr
Pablo Karnbaumpablokarnbaum
Paula Derrengerpderrenger
Rick HouBovey0809
Sergiu Waxmannsergiuwaxmann
Shuai (Louis) LyuShuaiLYU
Thomas Chuangchuang091
Yogendra Singhyogendrasinghx
Tigran Hakobyant-hakobyan
Zinnia Pourdadzinnialp
Zuzana Kontrikovazkontri

Link to this sectionObtén asistencia 💬#

¿Tienes preguntas o necesitas ayuda?

Link to this section¡Gracias! 🎉#

Gracias por tu interés en contribuir a los proyectos de código abierto de Ultralytics. Tu participación es esencial para dar forma al futuro de nuestro software y construir una comunidad vibrante de innovación y colaboración.

Estamos emocionados de ver cómo cobran vida tus ideas y agradecemos tu compromiso con el avance de la tecnología de detección de objetos. ¡Juntos, sigamos creciendo e innovando! 🚀🌟

Link to this sectionRecursos 📚#