5 puntos por GN⁺ 2025-01-20 | 1 comentarios | Compartir por WhatsApp
  • Forgejo es una forja de software ligera para autoalojamiento pensada para equipos que quieren operar su propia plataforma de desarrollo, con enfoque en reducir la carga de instalación y mantenimiento
  • Está impulsado por una comunidad bajo Codeberg e.V., y tanto el proyecto como el proceso de desarrollo se mantienen basados en software libre
  • Ofrece un entorno fácil de adoptar para usuarios familiarizados con GitHub, pero diseñado para que los propios usuarios controlen la propiedad de la plataforma y la productividad de la colaboración
  • Ofrece muchas funciones mientras mantiene bajos requisitos de servidor, y afirma requerir una cantidad de recursos de un solo dígito frente a otras forjas
  • Prioriza la seguridad, la escalabilidad, la federación y la privacidad, con una orientación hacia el desarrollo colaborativo descentralizado

Posicionamiento y modelo operativo de Forgejo

  • Forgejo es una forja de software ligera para autoalojamiento que permite operar una plataforma de desarrollo de software en servidores propios
    • Su objetivo es que la instalación y el mantenimiento sean sencillos, con baja carga administrativa
    • También puedes crear una cuenta en Codeberg o en otras instancias públicas, o descargarlo y autoalojarlo por tu cuenta
  • La entidad que lo opera es una comunidad inclusiva bajo Codeberg e.V.
    • Codeberg e.V. se presenta como una organización democrática sin fines de lucro
    • Forgejo afirma ser confiable por ser exclusivamente software libre
  • El enfoque del producto está en la seguridad, la escalabilidad, la federación y la privacidad

Dirección funcional y áreas de participación

  • Forgejo busca recuperar el control del proceso de desarrollo de software, autoalojar los proyectos y ayudar a que quienes participan se enfoquen juntos en ofrecer software de calidad
  • Usabilidad y carga operativa

    • Promueve una gestión de proyectos sencilla y prioriza la experiencia de usuario para la colaboración y la productividad
    • Ofrece un entorno familiar para usuarios de GitHub, para que puedan migrar a una plataforma que les pertenece
    • Reduce la carga de instalación y mantenimiento para que se pueda operar una forja de software propia incluso sin conocimientos técnicos especializados
  • Software libre y colaboración descentralizada

    • Mantiene un perfil de servidor bajo aun ofreciendo muchas funciones
    • Tanto Forgejo como el proceso de desarrollo del proyecto usan software libre
    • Plantea una dirección que hace posible el desarrollo colaborativo de software a través de una plataforma descentralizada
  • Áreas en las que se puede contribuir

1 comentarios

 
GN⁺ 2025-01-20
Opiniones en Hacker News
  • Según las FAQ, se pronuncia forˈd͡ʒe.jo y, para un oído del Medio Oeste de EE. UU., suena como “4 Jay yo”. Dicen que en esperanto significa Forge
    Es un fork de Gitea, pero me gusta que se opere como organización sin fines de lucro y que todo tenga licencia libre (GPL), sin ventas adicionales premium. También me agrada que la comunicación de la comunidad sea por Matrix y Mastodon
    Parece que Codeberg lo usa y, por fuera, se ve como Gitea/GitHub, sin problema. El código fuente se puede ver desde el pequeño ícono de rama en la parte superior derecha, y está alojado en Codeberg. Lo que aprendí hoy es que Codeberg en sí es una instancia de Forgejo
    https://forgejo.org/2024-02-forking-forward/
    https://v10.next.forgejo.org/explore/repos
    https://codeberg.org/forgejo/forgejo

    • Si es “sin ventas adicionales premium”, me parece que Gitea también es así
      Según entiendo, el fork surgió porque Gitea creó una empresa que desarrolla funcionalidades a medida si una compañía las solicita, y no porque hubiera muchas señales de algo como un cambio de licencia
    • Así como en esperanto kafejo es “lugar de café”, es decir, una cafetería, forgejo también se parece más a “lugar de forge”
    • En realidad, pensaban que la palabra en esperanto para “forge” era forgejo, pero cuando alguien señaló que forgejo podía interpretarse como “fora gejo”, es decir, una persona gay lejana, ya era demasiado tarde. Por eso ahora parecen explicarlo como inspirado en forĝejo, la palabra en esperanto para forge
    • Hace ya un tiempo que Gitea y Forgejo se separaron, así que me daba curiosidad cuáles son las principales diferencias actuales, pero fue difícil encontrar una comparación directa
  • Dicen que el Fedora Project se está mudando hacia esto: https://fedoramagazine.org/fedora-moves-towards-forgejo-a-unified-decision/

  • Me dio curiosidad por qué Forgejo se separó de Gitea y, al buscar, parece otro caso más de creadores/mantenedores de software libre y de código abierto sin dinero siendo golpeados desde arriba, y quizá también desde abajo.
    Si uno ve el anuncio de la constitución de Gitea como empresa, parece que el software libre y de código abierto por sí solo no alcanzaba para cubrir los costos, y que había usuarios ricos que se beneficiaban gratis, algo permitido por la licencia MIT.
    El punto clave es este pasaje: “Durante años probamos varias formas de apoyar a los mantenedores y al proyecto, como recompensas, patrocinios directos y subvenciones. Muchas personas excelentes y algunas empresas fueron muy generosas, pero algunas compañías, aun con ingresos mayores que el PIB de algunos países, usaban Gitea en sus productos principales y no devolvían sus mejoras”.
    No soy fan de Bruce Perens, pero su frase “tenemos un excelente programa de bienestar corporativo, y sus usuarios son algunas de las empresas más ricas del mundo. En cambio, los desarrolladores reciben muy poca compensación si no trabajan en esas empresas” da justo en el clavo.
    Por otro lado, cuando los fundadores crearon una empresa, la comunidad reaccionó en contra; al parecer no tanto por la creación de la empresa en sí, sino porque esa empresa tenía el dominio y la marca registrada. A simple vista parece un motivo menor, pero no conozco los detalles.
    En cualquier caso, fuera de los desarrolladores por hobby y de FAANG, parece el caso #187 de fracaso de FOSS.

    • FOSS no es un modelo de negocio. No lo fue antes y tampoco lo será en el futuro.
      El software libre originalmente era un movimiento ético y no tenía por qué priorizar fuentes de ingresos. Su objetivo no era el desarrollo sostenible, sino la libertad de los usuarios. En la idea de que “los usuarios deben tener la libertad de hacer lo que quieran con el software” no aparece por ningún lado “y además debe poder pagarles un sueldo a algunos desarrolladores que trabajan por ese objetivo ético”.
      Según la propia historia de la OSI, en algún momento la gente empezó a pensar que el modelo de desarrollo abierto era intrínsecamente bueno para los negocios, Netscape se sumó y algunos se reunieron para cambiarle la marca al software libre como código abierto.
      http://web.archive.org/web/20071115150105/https://opensource.org/history/
      La palabra FOSS me suena parecida al budismo corporativo al estilo estadounidense. Así como el mindfulness y la meditación fueron separados de su profundo contexto religioso original y convertidos en programas de autoayuda, terminó siendo una forma difícil de reconocer para sus practicantes originales. El software libre no trataba de desarrollo sostenible, sino de hacer lo correcto: la libertad del usuario; todo lo demás era un medio para ese fin. Pero en algún momento el medio se convirtió en el fin, y ahora nos preguntamos por qué FOSS no paga las cuentas por sí solo.
    • Muchos desarrolladores de código abierto todavía creen equivocadamente que el entorno sigue siendo como hace 15 o 20 años, centrado en software creado por desarrolladores aficionados que tenían buenos trabajos de día y lo hacían por reputación.
      Quien leyó bien la tendencia fue GitLab. Encontró un punto de equilibrio: ofrecer el producto al estilo open source y aun así cubrir los costos operativos; ganó tanto confianza como ingresos, así que lo hizo bien.
      Si quieres ganarte la vida con trabajo de código abierto, tienes que operarlo como un negocio y usar los mecanismos comerciales adecuados. De lo contrario, tu propio esfuerzo puede terminar volviéndose una forma de explotación contra ti mismo. No hablo de mala intención, pero la justicia es una cuestión de equilibrio, y si el trabajo duro no te trata como corresponde, eso también es injusto.
    • Las licencias copyleft existen precisamente para impedir en cierta medida este tipo de aprovechamiento gratuito, pero parece que ya no están “de moda”.
      Es difícil entender que alguien se niegue a añadir condiciones copyleft adicionales a la licencia y, al final, espere que las empresas actúen de buena fe como si esas condiciones existieran.
      A empresas como Google les gustan las licencias permisivas, e incluso patrocinan alternativas con licencia MIT/BSD para componentes comunes, como toybox.
      Al parecer, Forgejo v9 y posteriores sí usan licencia GPL.
    • No sé exactamente cómo se aplica esa lógica aquí. ¿Qué es ese “bienestar corporativo” del que se habla? Casi nadie gana dinero con Gitea, y mucho menos las big tech.
      El cuento de terror sobre las big tech es útil para justificar que un proyecto open source cambie su licencia, pero aquí no encaja. En general tampoco tiene mucho sentido, pero en este caso ni siquiera parece que los propios mantenedores hayan dicho algo así.
      Proyectos como MongoDB, ElasticSearch y Redis se volvieron populares porque eran open source, y durante años posiblemente también limitaron la competencia porque es difícil competir contra lo gratis. Luego, más adelante, terminaron dándoles la espalda a sus usuarios. Si MongoDB 1.0 hubiera sido un producto comercial, nadie lo habría usado; por lo tanto, el dinero que ganaron existió precisamente porque originalmente era open source.
    • FOSS es una estrategia de distribución, no un modelo de negocio
  • Lo interesante de Forgejo es que se está trabajando en la federación de forjas (federation)
    https://codeberg.org/forgejo/forgejo/issues/59#issuecomment-1652830
    En un mundo ideal, GitHub y GitLab también soportarían la federación, pero probablemente eso no ocurra
    Como alternativa en el mismo espacio de problemas, existe algo como https://radicle.xyz/, que usa un enfoque P2P

  • Durante varios años pasé de Gogs a Gitea y luego a Forgejo, y es un software realmente excelente.
    Para el 90%, basta con poner repositorios Git personales en un servidor SSH. Si solo quieres tener un repositorio de Chezmoi en un lugar accesible desde todas tus computadoras, la familia Forgejo no aporta demasiado.
    Pero para el 10% de los casos, es decir, cuando quieres compartir código en privado con algunos amigos, es excelente. Gratis es mejor que el plan de pago de GitHub y, si de todos modos lo vas a correr por ese 10% de proyectos, conviene usarlo también para el resto como repositorio Git personal de referencia.

    • En mis proyectos uso Onedev: https://github.com/theonedev/onedev
      También tiene kanban y editor de código.
    • La primera vez que corrí un servidor Git fue GitLab CE, que usábamos en la empresa. Lo corrí en un servidor basado en Atom con poca RAM y era tan lento que la carga de páginas terminaba en timeout.
      Al cambiar a Gitea fue un alivio, y Forgejo me llamó la atención cuando Fedora lo eligió como servidor de repositorios.
      Mis requisitos son simples: básicamente un almacenamiento central de archivos para notas y código fuente. Probé migrar de Gitea 1.21 a Forgejo 9 y no hubo fricción.
      Estoy considerando seriamente cambiarme, pero todavía estoy pensando cuál de los dos tendrá mejor soporte a largo plazo y será más adecuado para uso gratuito.
    • Me da curiosidad si, más allá de la ideología, notaste diferencias importantes entre Gitea y Forgejo. Parece que Forgejo también agregó Actions mientras tanto.
    • Al principio instalé Gogs, pero me pasé a GitLab por GitLab CI y otras funciones. Sin embargo, era relativamente demasiado pesado y se volvió difícil seguir el ritmo de las actualizaciones, así que al final me pasé a Gitea y Drone CI. Puede que a algunos también les guste Woodpecker CI.
      Sinceramente, creo que mi próximo destino será Forgejo con Forgejo Actions para CI/CD (https://forgejo.org/docs/next/user/actions/), o irme al extremo y volver a Jenkins.
  • El tagline no es muy descriptivo. Recién después de hacer scroll una o dos veces en la página principal pude entender cuál era su propósito: una alternativa a GitHub autoalojada.
    En software, la palabra “forge” puede interpretarse de varias maneras, así que sería mejor decirlo claramente más arriba.

    • “Forge” se usa para describir este tipo de paquete de hosting desde SourceForge, quizá incluso desde antes.
      Técnicamente, sistemas de esa época como Redmine también podrían haberse llamado forge, pero parece que el término se consolidó después.
    • Creo que llamar a GitHub como si fuera el estándar que define la categoría va en contra del espíritu de Forgejo. Forgejo se sostiene por sí mismo.
    • Llamarlo forja de software es una expresión correcta. Solo que el término no es muy conocido.
      Referencia: https://en.wikipedia.org/wiki/Forge_(software)
    • Es claramente una alternativa a GitHub autoalojada, y creo que está bien describirlo así. Como dicen otros comentarios, al usarlo se vuelve más evidente: básicamente se parece a la interfaz de GitHub, y eso es bueno. Es familiar y fácil de usar.
    • Estaba intentando entender qué significa “forge” aquí.
      Cuando pienso en “forge”, me viene a la mente una herramienta que transforma materia prima en un producto terminado. Por ejemplo, herramientas de herrería que convierten hierro en herraduras.
      Como metáfora de software, encajaría mejor con algo que convierte código fuente de texto en binarios ejecutables, es decir, un compilador o intérprete.
      GitHub y SourceForge mueven código fuente de un lugar a otro. Si estiramos la metáfora, se parece más a una combinación de tienda y servicio de entrega. El código fuente se mueve, pero no se transforma.
      Por eso, desde la perspectiva de un desarrollador veterano de C/C++, forge se siente como un término bastante extraño para referirse a un servidor Git autoalojado.
  • Después de sufrir intentando mantener GitLab CE por su alto consumo de CPU y memoria, me cambié a Forgejo y no me decepcionó.
    Corre como contenedor rootless y casi no usa memoria ni CPU. Las actualizaciones también funcionan sin problemas con un simple podman pull.
    Ahora también corro Actions para ejecutar Jekyll y otras cosas, y mantener actualizados sitios web estáticos.
    Me gusta tener mi propia forja, desde la que puedo importar repositorios, issues y demás desde otras forjas como GitHub y GitLab, y también espero con ganas una integración más amplia con el Fediverse basada en ActivityPub en el futuro.
    Un enfoque de hosting de código descentralizado pero conectado era algo que siempre quise, y siento que ahora estamos casi ahí.

    • Me da curiosidad el estado del soporte de federación. Si se vuelven posibles los pull requests y reportes de bugs entre instancias, la colaboración se volvería muy sencilla.
  • Durante varios años pasé de GitHub → GitLab autoalojado → Gitea → Forgejo, y no me arrepiento.
    Forgejo es excelente, y creo que será aún mejor cuando la federación esté completa. Si se vuelven posibles los forks y pull requests distribuidos entre múltiples instancias, se resolverá el problema de fragmentación de las soluciones autoalojadas.
    Gitea perdió mi confianza cuando creó una rama comercial respaldada por capital de riesgo, y justamente por eso nació Forgejo como fork.
    Lo único que perdí al dejar GitLab fue la plataforma CI/CD integrada. Pero pude mover los pipelines a Drone CI y dispararlos con webhooks. Eso sí, dependiendo de qué tan complejos sean los pipelines de GitLab, puede que no siempre sea una opción viable.
    En cualquier caso, no quería alojar un servidor GitLab que consumía 5 GB de RAM para unos pocos proyectos pequeños. Forgejo usa alrededor de 500 MB de RAM incluso en picos.

  • Me da curiosidad cómo es la experiencia de revisión de código. Supongo que será parecida a Gitea, pero no he usado ninguno de los dos
    Hace poco hice una revisión de código bastante seria en GitHub, y como herramienta de revisión de código se sentía casi como una versión de juguete. A menos que diseñes todo el modelo de control de código fuente en torno a esa herramienta, no parecía usable para trabajo de ingeniería serio, y entonces se sacrifican otros factores que afectan la gestión del historial
    Estoy acostumbrado principalmente a Gerrit; el modelo básico es razonable, pero tiene muchas asperezas y también problemas de rendimiento
    Pensándolo de pronto, creo que nunca he usado una herramienta de revisión que realmente me guste. Me pregunto si la industria simplemente está aguantando sin una herramienta adecuada
    Según recuerdo, GitLab era un poco mejor que GitHub, pero no recuerdo los detalles

    • He diseñado código para el diseño de una planta nuclear con Phabricator y GitHub, y me parece un trabajo bastante serio. Me gustaría saber más sobre qué crees que falta para que las revisiones sean usables
    • Me pregunto si has probado Codelantis, una herramienta de revisión para GitHub
  • Me pregunto si la respuesta a “¿qué es Forgejo?” sería algo como: “Forgejo es una forja de software ligera que puede alojarse por cuenta propia. Es fácil de instalar, requiere poco mantenimiento y hace lo que tiene que hacer”

    • Me pregunto cómo podrían explicarlo sin mencionar GitHub, BitBucket, GitLab, etc.
    • La comunicación es realmente dispersa. El nombre también suena bastante raro para angloparlantes
      Claro que no todo tiene que adaptarse al inglés, y dicen que es esperanto, pero como otras partes del sitio no lo son, la mayoría no lo interpretará así