5 pontos por GN⁺ 2025-01-20 | 1 comentários | Compartilhar no WhatsApp
  • Forgejo é uma forja de software leve com auto-hospedagem para equipes que querem operar sua própria plataforma de desenvolvimento, com foco em reduzir a carga de instalação e manutenção
  • É operado por uma comunidade ligada à Codeberg e.V., mantendo tanto o projeto quanto o processo de desenvolvimento baseados em software livre
  • Oferece um ambiente fácil para quem já está acostumado com o GitHub migrar, mas foi projetado para que os usuários controlem diretamente a propriedade da plataforma e a produtividade da colaboração
  • Oferece muitos recursos, mas mantém baixos requisitos de servidor, afirmando exigir uma quantidade de recursos de um dígito em comparação com outras forjas
  • Coloca segurança, escalabilidade, federação e privacidade no centro, com foco em desenvolvimento colaborativo distribuído

Posição e modelo de operação do Forgejo

  • Forgejo é uma forja de software leve com auto-hospedagem, permitindo operar uma plataforma de desenvolvimento de software em seu próprio servidor
    • Busca facilitar a instalação e a manutenção, com baixa carga administrativa
    • Você pode criar uma conta no Codeberg ou em outras instâncias públicas, ou baixar e fazer a auto-hospedagem por conta própria
  • O projeto é administrado por uma comunidade inclusiva sob a Codeberg e.V.
    • A Codeberg e.V. é apresentada como uma organização democrática sem fins lucrativos
    • O Forgejo afirma ser confiável por ser exclusivamente software livre
  • O foco do produto está em segurança, escalabilidade, federação e privacidade

Direção de recursos e áreas de participação

  • O Forgejo tem como objetivo retomar o controle do processo de desenvolvimento de software, auto-hospedar projetos e ajudar os participantes a se concentrarem juntos na entrega de software de qualidade
  • Usabilidade e carga operacional

    • Destaca o gerenciamento simples de projetos e valoriza a experiência do usuário para colaboração e produtividade
    • Oferece um ambiente familiar para usuários do GitHub, permitindo migrar para uma plataforma que eles próprios controlam
    • Reduz a carga de instalação e manutenção para que seja possível operar sua própria forja de software mesmo sem conhecimento técnico especializado
  • Software livre e colaboração distribuída

    • Mantém um perfil de servidor baixo mesmo oferecendo muitos recursos
    • Tanto o Forgejo quanto o processo de desenvolvimento do projeto usam software livre
    • Apresenta uma direção voltada a viabilizar o desenvolvimento colaborativo de software por meio de uma plataforma distribuída
  • Áreas em que é possível contribuir

1 comentários

 
GN⁺ 2025-01-20
Opiniões do Hacker News
  • Segundo o FAQ, a pronúncia é forˈd͡ʒe.jo e, para ouvidos do meio-oeste dos EUA, soa como “4 Jay yo”. Dizem que significa Forge em esperanto
    É um fork do Gitea, mas é administrado como uma organização sem fins lucrativos e é bom por ser totalmente licenciado como software livre (GPL), sem upsell premium. Também gosto de a comunicação da comunidade ser pelo Matrix e pelo Mastodon
    Parece que o Codeberg usa isso e, por fora, parece Gitea/GitHub, sem problemas. O código-fonte pode ser visto pelo pequeno ícone de branch no canto superior direito e está hospedado no Codeberg. O que descobri hoje foi que o próprio Codeberg é uma instância do Forgejo
    https://forgejo.org/2024-02-forking-forward/
    https://v10.next.forgejo.org/explore/repos
    https://codeberg.org/forgejo/forgejo

    • Se é “sem upsell premium”, acho que o Gitea também não faz isso
      Pelo que entendo, o fork surgiu porque o Gitea criou uma empresa que desenvolve funcionalidades sob medida quando empresas solicitam, e não porque houvesse muitos indícios de algo como uma mudança de licença
    • Assim como, em esperanto, kafejo é “lugar de café”, ou seja, um café, forgejo também fica mais próximo de “lugar de forge”
    • Na verdade, parece que acharam que a palavra em esperanto para “forge” era forgejo, mas, quando alguém apontou que forgejo poderia ser interpretado como “fora gejo”, ou seja, uma pessoa gay distante, já era tarde demais. Então agora parecem explicar que o nome foi inspirado em forĝejo, a palavra em esperanto para forge
    • Já faz algum tempo que Gitea e Forgejo se separaram, então eu estava curioso sobre quais são hoje as principais diferenças, mas foi difícil encontrar uma comparação direta
  • Dizem que o Fedora Project está migrando para ele: https://fedoramagazine.org/fedora-moves-towards-forgejo-a-unified-decision/

  • Fiquei curioso para saber por que o Forgejo se separou do Gitea e fui pesquisar; parece mais um caso de criadores/mantenedores de software livre e open source sem dinheiro sendo prejudicados por cima — e talvez também por baixo
    Pelo anúncio de incorporação do Gitea, só software livre e open source não dava conta dos custos, e parece que havia aproveitadores ricos permitidos pela licença MIT
    O trecho central é: “Ao longo dos anos, tentamos várias formas de apoiar os mantenedores e o projeto, como bounties, patrocínios diretos e subsídios. Muitas pessoas excelentes e algumas empresas foram muito generosas, mas algumas empresas faturam mais do que o PIB de certos países, usam o Gitea em seus produtos principais e não devolvem melhorias”
    Não sou fã do Bruce Perens, mas a frase “temos um excelente programa de welfare corporativo, e os usuários são algumas das empresas mais ricas do mundo. Em contrapartida, se os desenvolvedores não trabalharem nessas empresas, quase não recebem compensação” acerta em cheio o problema
    Por outro lado, quando os fundadores criaram uma empresa, a comunidade reagiu mal; pelo que dizem, o problema não era tanto a criação da empresa em si, mas o fato de ela deter o domínio e a marca. Parece um motivo pequeno à primeira vista, mas não conheço os detalhes
    De todo modo, fora de desenvolvedores por hobby e da FAANG, parece caso #187 de fracasso do FOSS

    • FOSS não é um modelo de negócios. Nunca foi e não será
      Software livre era originalmente um movimento ético, e não precisava priorizar fontes de receita. O objetivo não era desenvolvimento sustentável, mas a liberdade do usuário. Em “o usuário deve ter a liberdade de fazer o que quiser com o software” não há nada como “e alguns desenvolvedores que trabalham por esse objetivo ético precisam poder receber salário”
      Segundo a própria história da OSI, em algum momento as pessoas começaram a achar que o modelo de desenvolvimento aberto também era intrinsecamente bom para os negócios, a Netscape entrou nessa, e alguns se reuniram para rebatizar software livre como open source
      http://web.archive.org/web/20071115150105/https://opensource.org/history/
      O termo FOSS me soa parecido com o budismo corporativo à americana. Assim como mindfulness e meditação foram retirados de seu contexto religioso profundo original e transformados em programas de autoajuda, isso virou algo que os praticantes originais dificilmente reconheceriam. Software livre era sobre fazer a coisa certa — a liberdade do usuário —, não sobre desenvolvimento sustentável; o resto era meio para esse fim. Só que, em algum momento, o meio virou o fim, e passamos a nos perguntar por que o FOSS obviamente não paga as contas
    • Muitos desenvolvedores open source ainda entendem mal o cenário, como se ele continuasse igual ao de 15 ou 20 anos atrás, centrado em software criado por desenvolvedores hobbyistas com bons empregos diurnos em busca de reputação
      Quem leu bem a tendência foi o GitLab. Eles encontraram um ponto de equilíbrio para oferecer o produto no estilo open source e ao mesmo tempo bancar os custos operacionais; ganharam confiança e receita, então fizeram bem
      Se você quer viver de trabalho open source, precisa operar como um negócio e usar mecanismos empresariais adequados. Caso contrário, seu próprio esforço pode acabar se voltando contra você como exploração. Não estou falando de má-fé, mas justiça é uma questão de equilíbrio; se o trabalho duro não trata você adequadamente, isso também é injusto
    • Licenças copyleft existem justamente para impedir, em certa medida, esse tipo de carona, mas parecem não estar mais “na moda”
      É difícil entender a recusa em colocar condições copyleft adicionais na licença e, no fim, esperar que as empresas ajam de boa-fé como se essas condições existissem
      Empresas como o Google gostam de licenças permissivas e chegam a financiar substitutos sob MIT/BSD para componentes comuns, como o toybox
      Pelo visto, o Forgejo v9 em diante é de fato licenciado sob GPL
    • Não sei exatamente como essa lógica se aplica aqui. O que seria esse “welfare corporativo” neste caso? Quase ninguém lucra com o Gitea, e big techs menos ainda
      O espantalho da big tech é útil para justificar quando um projeto open source muda a licença de repente, mas não se encaixa aqui. Normalmente já não faz muito sentido, e neste caso os próprios mantenedores parecem nunca ter dito algo assim
      Projetos como MongoDB, ElasticSearch e Redis ganharam popularidade porque eram open source, e provavelmente limitaram a concorrência por anos porque é difícil competir com o grátis. Depois, anos mais tarde, viraram as costas para os usuários. Se o MongoDB 1.0 fosse um produto comercial, ninguém teria usado; portanto, o dinheiro que eles ganharam existiu, para começo de conversa, porque era open source
    • FOSS é uma estratégia de distribuição, não um modelo de negócios
  • O interessante no Forgejo é que o trabalho de federação de forjas (federation) está em andamento
    https://codeberg.org/forgejo/forgejo/issues/59#issuecomment-1652830
    Em um mundo ideal, GitHub e GitLab também dariam suporte à federação, mas provavelmente isso não vai acontecer
    Como alternativa no mesmo espaço de problema, há opções P2P como https://radicle.xyz/

  • Ao longo de alguns anos, migrei do Gogs para o Gitea e depois para o Forgejo, e é um software realmente excelente
    Em 90% dos casos, basta colocar repositórios Git pessoais em um servidor SSH. Se a ideia é só manter um repositório do Chezmoi em algum lugar acessível a partir de todos os computadores, a família Forgejo não acrescenta muita coisa
    Mas nos outros 10%, ou seja, quando você quer compartilhar código de forma privada com alguns amigos, ele é ótimo. Gratuito é melhor do que um plano pago do GitHub e, se você já vai rodá-lo por causa desses 10% de projetos, faz sentido usar o resto também como seu repositório Git pessoal de referência

    • Uso o Onedev nos meus projetos: https://github.com/theonedev/onedev
      Também tem Kanban e editor de código
    • A primeira vez que rodei um servidor Git foi com o GitLab CE que usávamos na empresa. Coloquei para rodar em um servidor baseado em Atom com pouca RAM, e era tão lento que o carregamento das páginas dava timeout
      Ao trocar para o Gitea, foi um alívio; e quando o Fedora escolheu o Forgejo como servidor de repositórios, o Forgejo chamou minha atenção
      Minhas necessidades são simples: algo como um armazenamento central de arquivos para notas e código-fonte. Testei a migração do Gitea 1.21 para o Forgejo 9 e foi sem atrito
      Estou considerando seriamente a mudança, mas ainda fico pensando qual dos dois será mais bem suportado no longo prazo e mais adequado para uso gratuito
    • Tenho curiosidade se alguém sentiu diferenças importantes entre Gitea e Forgejo, fora a ideologia. Parece que, nesse meio-tempo, o Forgejo também adicionou Actions
    • No começo instalei o Gogs, mas migrei para o GitLab por causa do GitLab CI e de outros recursos. Só que ele era pesado demais, relativamente falando, e ficou difícil acompanhar as atualizações, então acabei migrando para Gitea e Drone CI. Algumas pessoas talvez gostem do Woodpecker CI
      Sinceramente, acho que o próximo destino será o Forgejo com Forgejo Actions para CI/CD (https://forgejo.org/docs/next/user/actions/), ou então ir para o lado mais profundo e voltar para o Jenkins
  • A tagline não é muito explicativa. Só depois de rolar a página principal uma ou duas vezes consegui entender qual era o objetivo, isto é, uma alternativa auto-hospedada ao GitHub
    Em software, a palavra “forge” pode ser interpretada de várias formas, então seria melhor deixar isso claro mais cedo

    • “Forge” é usado desde o SourceForge, talvez até antes, para descrever esse tipo de pacote de hospedagem
      Tecnicamente, sistemas da época como o Redmine também poderiam ser chamados de forge, mas parece que o termo se consolidou depois disso
    • Acho que tratar o GitHub como referência que define a categoria vai contra o espírito do Forgejo. O Forgejo se sustenta por si só
    • Chamar isso de software forge é a expressão correta. O termo só não é amplamente conhecido
      Referência: https://en.wikipedia.org/wiki/Forge_(software)
    • É claramente uma alternativa auto-hospedada ao GitHub, e acho correto descrevê-la assim. Como outros comentários disseram, isso fica ainda mais claro quando você usa de fato: basicamente a interface lembra a do GitHub, e isso é bom. É familiar e fácil de usar
    • Fiquei tentando entender o que “forge” significa aqui
      Quando ouço “forge”, penso em uma ferramenta que transforma matéria-prima em um produto acabado. Por exemplo, ferramentas de uma ferraria que transformam ferro em ferraduras
      Como metáfora de software, faria mais sentido algo que transforma código-fonte em texto em binários executáveis, ou seja, um compilador ou interpretador
      GitHub e SourceForge movem código-fonte de um lugar para outro. Se forçar a metáfora, parecem mais uma combinação de loja e serviço de entrega. O código-fonte se move, mas não é transformado
      Então, do ponto de vista de um desenvolvedor antigo de C/C++, forge soa bem estranho como termo para um servidor Git auto-hospedado
  • Depois de sofrer tentando manter o GitLab CE rodando, por ele consumir muita CPU e memória, migrei para o Forgejo e não me decepcionei
    Ele roda como contêiner rootless e quase não usa memória nem CPU. Atualizar também é simples: um podman pull e tudo simplesmente funciona
    Agora também rodo Actions para executar Jekyll e afins, mantendo sites estáticos sempre atualizados
    Gosto de ter minha própria forge, capaz de importar repositórios, issues etc. de outras forges como GitHub e GitLab, e também estou ansioso por uma integração mais ampla com o Fediverse baseada em ActivityPub no futuro
    Uma abordagem descentralizada, mas ainda conectada, para hospedagem de código era algo que eu sempre quis, e agora parece que estamos quase lá

    • Tenho curiosidade sobre o estado do suporte à federação. Quando pull requests e relatórios de bugs entre instâncias forem possíveis, a colaboração deve ficar muito fácil
  • Ao longo de alguns anos, migrei de GitHub → GitLab auto-hospedado → Gitea → Forgejo, e não me arrependo
    O Forgejo é excelente e deve ficar ainda melhor quando a federação estiver completa. Quando forks e pull requests distribuídos entre várias instâncias forem possíveis, o problema da fragmentação das soluções auto-hospedadas será resolvido
    Perdi a confiança no Gitea quando ele criou um braço comercial com dinheiro de VC, e foi exatamente por isso que o Forgejo foi criado como fork
    A única coisa que perdi ao sair do GitLab foi a plataforma de CI/CD integrada. Mas consegui migrar meus pipelines para o Drone CI e acioná-los por webhooks. Ainda assim, dependendo da complexidade dos pipelines do GitLab, essa pode não ser sempre uma opção viável
    De qualquer forma, eu não queria hospedar um servidor GitLab consumindo 5 GB de RAM por causa de alguns projetinhos. O Forgejo usa cerca de 500 MB de RAM mesmo nos picos

  • Fico curioso para saber como é a experiência de code review. Imagino que seja parecida com a do Gitea, mas nunca usei nenhum dos dois
    Recentemente fiz um code review bem sério no GitHub e, como ferramenta de code review, ele pareceu quase uma versão de brinquedo. A menos que você projete todo o modelo de controle de código-fonte em torno dessa ferramenta, acho que ela não serve para trabalho de engenharia sério; e, se fizer isso, outros fatores que afetam a gestão do histórico acabam sendo sacrificados
    Estou mais acostumado ao Gerrit; o modelo básico é razoável, mas tem muitas arestas e também problemas de desempenho
    Pensando agora, acho que nunca usei uma ferramenta de revisão de que eu realmente gostasse. Fico com a impressão de que o setor está simplesmente se virando sem ferramentas adequadas
    Pelo que lembro, o GitLab era um pouco melhor que o GitHub, mas não me recordo dos detalhes

    • Já usei Phabricator e GitHub para projetar código de projeto de usina nuclear, e isso parece um trabalho bem sério. Gostaria de entender melhor o que você acha que falta para tornar a revisão utilizável
    • Fico curioso se você já usou o Codelantis, uma ferramenta de revisão para GitHub
  • Parece uma resposta à pergunta “o que é Forgejo?” do tipo: “Forgejo é uma forja de software leve que pode ser auto-hospedada. É fácil de instalar, exige pouca manutenção e faz o que precisa fazer”

    • Fico curioso para saber como alguém poderia descrevê-los sem mencionar GitHub, BitBucket, GitLab etc.
    • A comunicação é realmente dispersa. O nome também soa bastante estranho para falantes de inglês
      Claro que nem tudo precisa ser adaptado ao inglês, e dizem que é esperanto, mas como outras partes do site não são assim, a maioria provavelmente não vai interpretar dessa forma