stringtranslate.com

Forja (software)

En las comunidades de desarrollo de software libre y de código abierto (FOSS) , una forja es una plataforma de software colaborativo basada en la web para desarrollar y compartir aplicaciones informáticas.

Para los desarrolladores de software, es un servicio en línea que aloja las herramientas que necesitan para trabajar y comunicarse con sus compañeros de trabajo. Proporciona un flujo de trabajo para proponer modificaciones y participar en debates. El objetivo es llegar a un acuerdo que permita que estas modificaciones se fusionen en el repositorio de software.

Para los usuarios, una forja es un repositorio de aplicaciones informáticas , un lugar donde se pueden reportar errores , un canal para estar informado de problemas de seguridad , etc.

El código fuente en sí se almacena en un sistema de control de revisión y se vincula a una amplia gama de servicios, como una revisión de código , una base de datos de errores , una integración continua , etc. Cuando una comunidad de desarrollo realiza un forge, duplica el contenido del forge y luego puede modificarlo sin pedir permiso. Una comunidad puede depender de servicios dispersos en varios forges: no necesariamente están alojados bajo el mismo dominio.

Historia

El término forja se refiere a un prefijo o sufijo común adoptado por varias plataformas creadas siguiendo el ejemplo de SourceForge en 2001. [1] Este uso de la palabra proviene de la forja de metales , utilizada para dar forma a piezas de metal .

En 2023, las dos plataformas de desarrollo colaborativo más utilizadas no se publicitan como forges . El lema de GitHub [2] es "La plataforma completa para desarrolladores para crear, escalar y entregar software seguro" . El lema de GitLab [3] es "la plataforma DevSecOps impulsada por IA más completa" . Aunque comparten todos los aspectos técnicos de lo que constituye un forge, la documentación y el material de marketing no hacen uso del término forges .

Sin embargo, en las comunidades de desarrollo de FOSS y desde el inicio de la primera bifurcación de SourceForge en 2001, el término forge todavía se usa comúnmente para designar plataformas de software colaborativo en línea.

Servicios en línea similares para desarrolladores

Algunos servicios en línea no se pueden considerar como una forja, incluso cuando comparten algunos de sus aspectos esenciales. Por ejemplo, un servicio de revisión de código independiente como Gerrit a veces se integra en una forja que carece de revisión de código integrada, pero no se puede utilizar para distribuir el software a los usuarios finales.

De manera similar, los servicios en línea que se centran en la gestión de proyectos o el seguimiento de problemas, como Trac , Redmine u OpenProject, no ofrecen un flujo de trabajo que los desarrolladores de software puedan utilizar para analizar los cambios que proponen y fusionar el resultado en el repositorio de software. Estos servicios pueden incluir una integración limitada con una variedad de sistemas de control de versiones, para visualizar y citar el código que contienen, pero eso por sí solo es más una característica que un flujo de trabajo que un desarrollador puede utilizar.

Tecnología

El término forja suele hacer referencia a dos tipos diferentes de conceptos :

Todas estas plataformas proporcionan herramientas similares que resultan útiles para los desarrolladores de software que trabajan en los proyectos alojados:

Algunos también ofrecen otras funciones:

Interoperabilidad

API y webhooks

Además de la interfaz de usuario web , es común que una forja proporcione una API REST con la documentación ( GitHub , [4] GitLab , [5] Gitea , [6] etc.) para permitir la interoperabilidad con otros productos. Los usuarios de Forge también pueden instalar webhooks para notificar a un servicio en línea de terceros cuando ocurre un evento en su proyecto de software (por ejemplo, se puede llamar al webhook cuando se crea un nuevo problema [7] ).

Federación

La federación y el protocolo asociado ActivityPub (introducido en 2018) permiten que las forjas se comuniquen entre sí sobre sus actividades (por ejemplo, cuando se crean problemas [8] o se envía una confirmación [9] ). Aunque a veces se habla de la compatibilidad con la federación nativa [10] o está en proceso [11], todavía no está disponible. Surgieron proyectos de terceros para cerrar la brecha, como un complemento para la forja de pagure [12] o un proxy que admita ActivityPub y lo traduzca a llamadas de API REST a la forja designada. [13]

Autenticación

No existe un SSO en el que las aplicaciones y los usuarios puedan confiar para autenticarse en todas las forjas. En cambio, es común que una forja admita varios proveedores de autenticación: si un usuario ya tiene una cuenta, puede usarla para autenticarse en la forja y no necesita crear una cuenta nueva (por ejemplo, GitLab admite proveedores de OAuth2 como GitHub [14] ). Algunas forjas pueden actuar como proveedores de autenticación (por ejemplo, Gitea es un proveedor de OAuth2 [15] al igual que GitLab [16] ).

Integración

Para mejorar la experiencia del usuario y del administrador del sistema al utilizar múltiples servicios en línea, algunas forjas están integradas con software y servicios de terceros populares, como el chat en línea (por ejemplo, Mattermost tiene un complemento para GitHub [17] y cuenta con soporte nativo de GitLab [18] ).

Ejemplos

Software libre

Freemiumsoftware

Servicios gratuitos en línea

Servicios online freemium

Software descontinuado

Servicios en línea discontinuados

Véase también

Referencias

  1. ^ Maguire, James (17 de octubre de 2007). «La historia de SourceForge». Archivado desde el original el 16 de julio de 2011. Consultado el 12 de abril de 2012 .
  2. ^ "Desarrolle mejor el software, juntos". GitHub . Consultado el 22 de noviembre de 2023 .
  3. ^ "La plataforma DevSecOps". about.gitlab.com . Consultado el 22 de noviembre de 2023 .
  4. ^ "API REST de GitHub" . Consultado el 31 de agosto de 2021 .
  5. ^ "API REST de GitLab" . Consultado el 31 de agosto de 2021 .
  6. ^ "API REST de Gitea" . Consultado el 31 de agosto de 2021 .
  7. ^ "Webhook de Gitea" . Consultado el 31 de agosto de 2021 .
  8. ^ "Emisión de forgefed" . Consultado el 31 de agosto de 2021 .
  9. ^ "commit forgefed" . Consultado el 31 de agosto de 2021 .
  10. ^ "GitLab federado" . Consultado el 31 de agosto de 2021 .
  11. ^ "Tema de la federación Gitea". GitHub . Consultado el 31 de agosto de 2021 .
  12. ^ "Plugin de Forgefed Pagure" . Consultado el 31 de agosto de 2021 .
  13. ^ "Fedeproxy forja federación" . Consultado el 31 de agosto de 2021 .
  14. ^ "Inicio de sesión en GitLab con GitHub" . Consultado el 31 de agosto de 2021 .
  15. ^ "Proveedor Gitea OAuth2" . Consultado el 31 de agosto de 2021 .
  16. ^ "Proveedor OAuth2 de GitLab" . Consultado el 31 de agosto de 2021 .
  17. ^ "Complemento Mattermost de GitHub". GitHub . Consultado el 31 de agosto de 2021 .
  18. ^ "GitLab Mattermost" . Consultado el 31 de agosto de 2021 .
  19. ^ "Forgejo - Más allá de la codificación. Forjamos". Forgejo . 15 de diciembre de 2022.
  20. ^ "Suite Launchpad en Launchpad". launchpad.net .
  21. ^ "sourcehut - la forja del hacker". 31-03-2021.
  22. ^ "Producto". GitLab .
  23. ^ "sourcehut - la forja del hacker". sourcehut .
  24. ^ "Precios de GitLab". GitLab .
  25. ^ "Precios · Planes para cada desarrollador". GitHub .
  26. ^ "Precios de Bitbucket". Atlassian .
  27. ^ "Phacility está cerrando sus operaciones".
  28. ^ "¿El fin de Gna?". 20 de noviembre de 2016. Archivado desde el original el 5 de mayo de 2017. Consultado el 13 de septiembre de 2017 .
  29. ^ "Tigris.org: cerrado el 1 de julio de 2020". Archivado desde el original el 30 de junio de 2020. Consultado el 2 de marzo de 2022 .