5 puan yazan GN⁺ 2025-01-20 | 1 yorum | WhatsApp'ta paylaş
  • Forgejo, geliştirme platformunu kendi işletmek isteyen ekipler için kendi barındırılan hafif bir yazılım forge’u olup kurulum ve bakım yükünü azaltmaya odaklanır
  • Codeberg e.V. çatısı altındaki topluluk tarafından işletilir; hem proje hem de geliştirme süreci özgür yazılım temelini korur
  • GitHub’a alışkın kullanıcıların kolayca geçiş yapabileceği bir ortam sunarken, platform sahipliği ve iş birliği verimliliği üzerinde kontrolü kullanıcıların doğrudan elinde tutması için tasarlanmıştır
  • Zengin özellikler sunarken düşük sunucu gereksinimlerini korur; diğer forge’lara kıyasla tek haneli ölçekte daha az kaynak gerektirdiğini belirtir
  • Güvenlik, ölçeklenebilirlik, federasyon ve gizlilik odağında dağıtık iş birliğine dayalı geliştirmeyi hedefler

Forgejo’nun konumu ve işletim biçimi

  • Forgejo, kendi barındırılan hafif bir yazılım forge’u olarak, yazılım geliştirme platformunu kendi sunucularınızda işletmenizi sağlar
  • İşletici yapı, Codeberg e.V. çatısı altındaki kapsayıcı topluluktur
    • Codeberg e.V. demokratik bir kâr amacı gütmeyen kuruluş olarak tanıtılır
    • Forgejo’nun yalnızca özgür yazılım olarak güvenilir olduğu belirtilir
  • Ürün odağı güvenlik, ölçeklenebilirlik, federasyon ve gizlilik üzerindedir

Özellik yönelimi ve katkı alanları

  • Forgejo, yazılım geliştirme sürecinin kontrolünü geri almayı, projeleri kendi ortamınızda barındırmayı ve katılımcıların kaliteli yazılım sunmaya birlikte odaklanmasına yardımcı olmayı amaçlar
  • Kullanılabilirlik ve işletim yükü

    • Basit proje yönetimini öne çıkarır; iş birliği ve verimlilik için kullanıcı deneyimine önem verir
    • GitHub kullanıcılarına tanıdık bir ortam sunarak, kullanıcıların sahip olduğu bir platforma geçiş yapabilmelerini sağlar
    • Uzman teknik bilgi olmadan da kendi yazılım forge’unu işletmeyi mümkün kılmak için kurulum ve bakım yükünü azaltır
  • Özgür yazılım ve dağıtık iş birliği

    • Zengin özellikler sunarken düşük sunucu profilini korur
    • Hem Forgejo’nun kendisi hem de proje geliştirme süreci özgür yazılım kullanır
    • Dağıtık bir platform aracılığıyla iş birliğine dayalı yazılım geliştirmeyi mümkün kılan bir yön ortaya koyar
  • Katkıda bulunulabilecek alanlar

1 yorum

 
GN⁺ 2025-01-20
Hacker News yorumları
  • FAQ’ya göre telaffuzu forˈd͡ʒe.jo; Ortabatı Amerikan İngilizcesi kulağına “4 Jay yo” gibi geliyor. Esperanto’da Forge anlamına geldiği söyleniyor
    Gitea’nın bir fork’u ama kâr amacı gütmeden işletiliyor ve premium upsell olmadan tamamen özgür lisanslı (GPL); bu hoşuma gidiyor. Topluluk iletişiminin Matrix ve Mastodon üzerinden olması da güzel
    Codeberg bunu kullanıyor gibi görünüyor; dışarıdan Gitea/GitHub’a benziyor ve bunda bir sorun yok. Kaynak kodu sağ üstteki küçük branch simgesinden görülebiliyor ve Codeberg’de barındırılıyor. Bugün öğrendiğim şey, Codeberg’ün kendisinin bir Forgejo instance’ı olduğu
    https://forgejo.org/2024-02-forking-forward/
    https://v10.next.forgejo.org/explore/repos
    https://codeberg.org/forgejo/forgejo

    • “Premium upsell yok” deniyorsa, Gitea için de öyle değil mi diye düşünüyorum
      Anladığım kadarıyla fork’un ortaya çıkmasının nedeni, Gitea’nın şirketlerden talep geldiğinde özel özellikler geliştiren bir şirket kurmasıydı; lisansı tersine çevirme gibi çok sayıda işaret yoktu
    • Esperanto’da kafejo’nun “kahve yeri”, yani kafe anlamına gelmesi gibi, forgejo da daha çok “forge yeri”ne yakın
    • Aslında “forge”un Esperanto’daki kelimesinin forgejo olduğu düşünülmüş; ancak birisi forgejo’nun “fora gejo”, yani uzaktaki gey kişi gibi yorumlanabileceğini belirttiğinde artık çok geçtiği söyleniyor. Bu yüzden şimdi forge’un Esperanto’daki karşılığı olan forĝejo’dan esinlenildiğini açıklıyor gibiler
    • Gitea ile Forgejo ayrılalı epey oldu; bu yüzden şu anki başlıca farkların ne olduğunu merak ettim, ama doğrudan karşılaştırma materyali bulmak zordu
  • Fedora Project’in bu tarafa taşınmakta olduğu söyleniyor: https://fedoramagazine.org/fedora-moves-towards-forgejo-a-unified-decision/

  • Forgejo’nun neden Gitea’dan ayrıldığını merak edip bakınca, parasız özgür açık kaynak yaratıcılarının/bakımcılarının yine yukarıdan, belki aşağıdan da ezildiği bir örnek gibi görünüyor
    Gitea’nın şirketleşme duyurusuna bakılırsa, yalnızca özgür açık kaynakla maliyetleri karşılayamamışlar; MIT lisansının izin verdiği varlıklı bedavacılar da varmış gibi duruyor
    Kilit nokta şu bölüm: “Yıllar boyunca bakımcıları ve projeyi desteklemek için bounty’ler, doğrudan sponsorluklar, hibeler gibi çeşitli yollar denedik. Birçok harika birey ve bazı şirketler son derece cömert davrandı; ancak bazı şirketler, bazı ülkelerin GSYİH’sinden daha büyük gelirler elde ederken Gitea’yı temel ürünlerinde kullandı ve iyileştirmeleri geri vermedi”
    Bruce Perens’i pek sevmem ama “Harika bir kurumsal refah programımız var ve kullanıcıları dünyanın en zengin şirketleri. Buna karşılık geliştiriciler o şirketlerde çalışmıyorsa neredeyse hiç karşılık alamıyor” sözü sorunun tam kalbine dokunuyor
    Öte yandan kurucular bir şirket kurunca topluluk tepki göstermiş; bunun şirketin kurulmasından ziyade, o şirketin alan adına ve ticari markaya sahip olmasından kaynaklandığı söyleniyor. Dışarıdan küçük bir gerekçe gibi görünüyor ama ayrıntıları bilmiyorum
    Her hâlükârda hobi geliştiriciler ve FAANG dışı için FOSS’un başarısız olduğu vaka #187 gibi görünüyor

    • FOSS bir iş modeli değildir. Eskiden de değildi, gelecekte de olmayacak
      Özgür yazılım aslında etik bir hareketti ve gelir kaynaklarına öncelik vermesi gerekmiyordu. Çünkü hedef sürdürülebilir geliştirme değil, kullanıcı özgürlüğüydü. “Kullanıcıların yazılımla istedikleri şeyi yapma özgürlüğü olmalı” sözünün hiçbir yerinde “ve bu etik hedef için çalışan birkaç geliştiriciye maaş ödeyebilmeliyiz” diye bir şey yok
      OSI’nin kendi tarihçesine göre, bir noktada insanlar açık geliştirme modelinin iş dünyası için de özünde iyi olduğunu düşünmeye başladı, Netscape katıldı ve bazı kişiler bir araya gelip özgür yazılımı açık kaynak olarak yeniden markaladı
      http://web.archive.org/web/20071115150105/https://opensource.org/history/
      FOSS sözcüğü bana Amerikan tarzı kurumsal Budizm gibi geliyor. Mindfulness ve meditasyonun, asıl derin dini bağlamından koparılıp bir kişisel gelişim programına dönüşmesi gibi; özgün uygulayıcıların tanımakta zorlanacağı bir biçim aldı. Özgür yazılım sürdürülebilir geliştirme değil, kullanıcı özgürlüğü denen doğru şeyi yapmakla ilgiliydi; geri kalan her şey bu amaca yönelik araçtı. Ama bir noktada araç amaç hâline geldi ve FOSS’un neden doğal olarak masrafları karşılamadığını merak eder olduk
    • Birçok açık kaynak geliştiricisi hâlâ ortamı 15–20 yıl önceki gibi sanıyor: gündüzleri iyi işlerde çalışan hobi geliştiricilerinin, itibar uğruna yaptığı yazılımların merkezde olduğu bir dünya
      Gidişatı doğru okuyan yer GitLab oldu. Ürünü açık kaynak usulüyle sunarken işletme giderlerini karşılayacak dengeyi buldu; hem güven hem gelir elde etti, iyi iş
      Açık kaynak çalışmasıyla geçinmek istiyorsanız bunu bir iş gibi yürütmeli ve uygun ticari araçları kullanmalısınız. Aksi hâlde emeğiniz bir gün size sömürü gibi geri dönebilir. Kötü niyetten söz etmiyorum ama adalet bir denge meselesidir; çok çalışmanız sizi düzgün muamele görecek konuma getirmiyorsa bu da adaletsizliktir
    • Copyleft lisanslar bu tür bedavacılığı bir ölçüde engellemek için var, ama artık “moda” değil gibi
      Lisansa ek copyleft koşulları koymayı reddedip, sonunda şirketlerin sanki o koşullar varmış gibi iyi niyetle davranmasını beklemek anlaşılması zor bir şey
      Google gibi şirketler izin verici lisansları seviyor; hatta toybox gibi yaygın bileşenlerin MIT/BSD lisanslı alternatiflerini desteklemeye kadar gidiyor
      Forgejo v9 ve sonrası gerçekten GPL lisanslı gibi görünüyor
    • Burada bu mantığın tam olarak nasıl uygulandığını bilmiyorum. Burada sözü edilen “kurumsal refah” ne? Gitea’dan kâr eden yer neredeyse yok; özellikle de büyük teknoloji şirketleri hiç değil
      Büyük teknoloji korku hikâyesi, açık kaynak projelerinin lisansını tersine çevirmesini meşrulaştırırken işe yarıyor ama buraya uymuyor. Genelde de pek mantıklı değil; bu örnekte ise bakımcıların kendileri bile böyle bir şey söylemiş gibi görünmüyor
      MongoDB, ElasticSearch, Redis gibi projeler açık kaynak oldukları için popüler oldu ve ücretsizle rekabet etmek zor olduğundan, muhtemelen yıllarca rekabeti de sınırladılar. Sonra yıllar sonra kullanıcılara sırtlarını dönmüş oldular. MongoDB 1.0 ticari bir ürün olsaydı kimse kullanmazdı; dolayısıyla kazandıkları para da en başta açık kaynak olmaları sayesinde ortaya çıktı
    • FOSS bir dağıtım stratejisidir, iş modeli değil
  • Forgejo’nun ilginç yanlarından biri, forge federation (federasyon) çalışmasının devam ediyor olması
    https://codeberg.org/forgejo/forgejo/issues/59#issuecomment-1652830
    İdeal bir dünyada GitHub ve GitLab da federasyonu desteklerdi, ama muhtemelen böyle olmayacak gibi görünüyor
    Aynı problem alanındaki alternatifler arasında P2P yaklaşımını kullanan https://radicle.xyz/ gibi çözümler var

  • Birkaç yıl boyunca Gogs’tan Gitea’ya, oradan da Forgejo’ya geçtim; gerçekten harika bir yazılım.
    %90 için kişisel Git depolarını bir SSH sunucusuna koymak yeterli. Chezmoi deposunu tüm bilgisayarlardan erişilebilir bir yere koymak istiyorsanız Forgejo ailesinin çok fazla ek katkısı yok.
    Ama kalan %10’da, yani birkaç arkadaşla kodu özel olarak paylaşmak istediğinizde harika. Ücretsiz olması GitHub’ın ücretli planından daha iyi; zaten o %10’luk proje için çalıştıracaksanız, geri kalanını da kişisel referans Git deposu olarak kullanmak daha mantıklı.

    • Kendi projelerimde Onedev kullanıyorum: https://github.com/theonedev/onedev
      Kanban ve kod düzenleyici de var.
    • İlk kez bir Git sunucusu çalıştırdığımda şirkette kullandığımız GitLab CE idi. RAM’i yetersiz Atom tabanlı bir sunucuda çalıştırınca o kadar yavaştı ki sayfa yüklemeleri zaman aşımına uğruyordu.
      Gitea’ya geçince rahat bir nefes aldık; Fedora’nın depo sunucusu olarak Forgejo’yu seçmesiyle Forgejo dikkatimi çekti.
      Gereksinimlerim basit: notlar ve kaynak kodu için merkezi bir dosya deposu gibi bir şey. Gitea 1.21’den Forgejo 9’a geçişi test ettim, hiç sürtünme yaşamadım.
      Ciddi şekilde taşınmayı düşünüyorum ama uzun vadede hangisinin daha iyi destekleneceği ve ücretsiz kullanım için daha uygun olacağı konusunda hâlâ kararsızım.
    • İdeoloji dışında Gitea ile Forgejo arasındaki önemli farkları hissedip hissetmediğinizi merak ediyorum. Görünüşe göre Forgejo bu arada Actions’ı da eklemiş.
    • Başta Gogs kurmuştum ama GitLab CI ve diğer özellikler nedeniyle GitLab’a geçtim. Ancak nispeten çok ağırdı ve güncellemeleri takip etmek de zorlaştı; sonunda Gitea ve Drone CI’ye geçtim. Woodpecker CI’yi sevecek olanlar da olabilir.
      Açıkçası bir sonraki durağın CI/CD için Forgejo Actions(https://forgejo.org/docs/next/user/actions/) eklenmiş Forgejo olacağını ya da tamamen derin tarafa gidip Jenkins’e dönmek olacağını düşünüyorum.
  • Slogan pek açıklayıcı değil. Ana sayfada bir iki kez kaydırdıktan sonra amacının ne olduğunu, yani kendi barındırdığınız bir GitHub alternatifi olduğunu anlayabildim.
    Yazılımda “forge” kelimesi farklı şekillerde yorumlanabilir; bunu daha başta net söylemek iyi olurdu.

    • “Forge” SourceForge’dan beri, belki daha da öncesinden, bu tür barındırma paketlerini tanımlamak için kullanılıyor.
      Teknik olarak Redmine gibi o dönemin sistemleri de forge diye adlandırılabilirdi; sanırım terim sonrasında yerleşti.
    • GitHub’ı kategoriyi tanımlayan ölçüt gibi anmanın Forgejo’nun ruhuna aykırı olduğunu düşünüyorum. Forgejo kendi başına ayakta duruyor.
    • Buna software forge demek doğru bir ifade. Sadece terim yaygın olarak bilinmiyor.
      Referans: https://en.wikipedia.org/wiki/Forge_(software)
    • Açıkça kendi barındırılan bir GitHub alternatifi ve bence böyle açıklamak doğru. Diğer yorumlarda söylendiği gibi, gerçekten kullanınca daha da netleşiyor; temelde GitHub arayüzüne benziyor ve bu yüzden iyi. Tanıdık ve kullanımı kolay.
    • Burada “forge”un ne anlama geldiğini anlamaya çalışıyordum.
      “Forge” deyince aklıma ham maddeyi bitmiş ürüne dönüştüren bir araç geliyor. Örneğin demiri nal hâline getiren demirci atölyesi araçları gibi.
      Yazılım benzetmesi yapılacaksa, metin hâlindeki kaynak kodunu çalıştırılabilir ikili dosyaya dönüştüren şey, yani derleyici veya yorumlayıcı daha uygun olur.
      GitHub ve SourceForge kaynak kodunu bir yerden başka bir yere taşır. Benzetmeyi zorla uzatırsak daha çok mağaza ve teslimat hizmeti kombinasyonuna benzer. Kaynak kodu hareket eder ama dönüşmez.
      Bu yüzden eski bir C/C++ geliştiricisi açısından forge’un kendi barındırılan Git sunucusu anlamına gelen bir terim olması epey tuhaf geliyor.
  • GitLab CE’yi çalıştırmaya devam etmeye çalışırken CPU ve bellek tüketimi yüzünden çok uğraştıktan sonra Forgejo’ya geçtim ve hayal kırıklığı yaşamadım.
    Rootless container olarak çalışıyor ve neredeyse hiç bellek ve CPU kullanmıyor. Güncellemeler de tek bir podman pull ile sorunsuz oluyor.
    Artık Actions da çalıştırıyorum; Jekyll vb. çalıştırarak statik web sitelerini sürekli güncel tutuyorum.
    GitHub, GitLab gibi diğer forge’lardan depoları ve issue’ları içe aktarabilen kendi forge’uma sahip olmak güzel; ileride gelecek ActivityPub tabanlı daha geniş Fediverse entegrasyonunu da dört gözle bekliyorum.
    Merkeziyetsiz ama bağlantılı bir kod barındırma yaklaşımı hep istediğim şeydi; şimdi neredeyse oraya varmış gibi hissediyorum.

    • Federasyon desteğinin durumunu merak ediyorum. Örnekler arası pull request ve hata raporu mümkün olursa işbirliği çok kolaylaşacak gibi.
  • Birkaç yıl boyunca GitHub → kendi barındırdığım GitLab → Gitea → Forgejo yolunu izledim ve pişman değilim.
    Forgejo harika; federasyon tamamlandığında daha da iyi olacak gibi. Birden fazla örnek arasında dağıtık fork ve pull request mümkün olursa kendi barındırılan çözümlerdeki parçalanma sorunu çözülür.
    Gitea, arkasına VC fonu alan kâr amaçlı bir kol oluşturduğunda güvenimi kaybetti; Forgejo’nun fork edilmesinin nedeni de tam olarak buydu.
    GitLab’dan kaybettiğim tek şey yerleşik CI/CD platformu oldu. Ama pipeline’ları Drone CI’ye taşıyıp webhook ile tetikleyebildim. Yine de GitLab pipeline’larının ne kadar karmaşık olduğuna bağlı olarak bu her zaman mümkün bir seçenek olmayabilir.
    Her halükârda birkaç küçük proje için 5 GB RAM yiyen bir GitLab sunucusu barındırmak istemiyordum. Forgejo en yoğun anda bile yaklaşık 500 MB RAM kullanıyor.

  • Kod inceleme deneyiminin nasıl olduğunu merak ediyorum. Gitea’ya benzeyeceğini tahmin ediyorum ama ikisini de kullanmış değilim.
    Yakın zamanda GitHub’da epey ciddi bir kod incelemesi yaptım; kod inceleme aracı olarak oyuncak sürüme yakın geldi. Tüm kaynak kontrol modelini o araca göre tasarlamadıkça ciddi mühendislik işleri için kullanılabilir görünmüyordu; bunu yapınca da geçmiş yönetimini etkileyen başka unsurlardan feragat ediliyor.
    Çoğunlukla Gerrit’e alışığım; temel modeli makul ama çok pürüzlü tarafı var ve performans sorunları da bulunuyor.
    Birden düşününce, gerçekten hoşuma giden bir inceleme aracı kullanmış değilim galiba. Sektör düzgün araçlar olmadan idare edip gidiyor olabilir mi diye düşünüyorum.
    Hatırladığım kadarıyla GitLab tarafı GitHub’dan biraz daha iyiydi ama ayrıntıları hatırlamıyorum.

    • Phabricator ve GitHub ile nükleer santral tasarım kodu tasarladım; bu epey ciddi bir iş gibi görünüyor. Bir incelemeyi kullanılabilir kılmak için neyin eksik olduğunu düşündüğünü daha çok bilmek isterim.
    • GitHub için bir inceleme aracı olan Codelantis’i denedin mi merak ediyorum.
  • “Forgejo nedir?” sorusuna “Forgejo, kendi kendine barındırılabilen hafif bir yazılım forge’udur. Kurulumu kolaydır, az bakım ister ve yapması gerekeni yapar” diye cevap veren bir şey mi acaba?

    • GitHub, BitBucket, GitLab vb. anılmadan bunları nasıl açıklayabileceklerini merak ediyorum.
    • İletişim gerçekten dağınık. İsmi de İngilizce konuşulan yerlerde epey tuhaf.
      Elbette her şeyin İngilizceye uyması gerekmiyor ve Esperanto olduğu söyleniyor; ama sitenin diğer bölümleri öyle olmadığından çoğu kişi bunu böyle yorumlamayacaktır.