3 puan yazan GN⁺ 2025-12-02 | 1 yorum | WhatsApp'ta paylaş
  • Kendi projelerimi ve web sitemi GitHub'dan Codeberg'e taşırken izlediğim süreç ve sonucu ayrıntılı olarak anlatıyorum
  • Forgejo'nun “migrate from GitHub” özelliğini kullanarak depoları, issue'ları, PR'ları, wiki'leri ve release'leri tamamen taşıdım
  • Taşıma olgusunu net biçimde göstermek için link yeniden yönlendirmesini ve GitHub depo stub'larının işlenmesini otomatik betikler ile yaptım
  • CI/CD geçişinde Codeberg'in Forgejo Actions'ını kullandım ve ortam kısıtlarına göre hafif bir iş akışı kurdum
  • Web sitesi git-pages ve Grebedoc ile kesintisiz taşındı; tüm geçişi bir hafta sonu içinde tamamladım

Geçiş özeti

  • GitHub Pages'de barındırılan bir siteyi ve 45 depoyu Codeberg'e taşıdım
    • Tek bir tıklamayla bitmedi ve birden fazla manuel adım gerekiyordu
    • Tüm süreç bir hafta sonu içinde tamamlandı ve sorunsuz gitti
  • Bu süreçle diğer geliştiricilerin de kolayca geçiş yapabileceğini göstermeyi hedefledim

1. Aşama: Depo Taşıma

  • Codeberg, Forgejo tabanlı bir platformdur ve “migrate from GitHub” özelliği sunar
    • GitHub'da Personal Access Token (PAT) oluşturarak issue'lar gibi meta veriler de alınabiliyor
    • GitHub API'deki rate limit nedeniyle aynı anda birden fazla depoyu taşımaya çalışınca hata oluşabiliyordu
  • Issue'lar, PR'lar, wiki ve release'ler eksiksiz taşındığından GitHub referanslarına gerek kalmadı
Reklam

2. Aşama: Link Yeniden Yönlendirme

  • Yerel depolardaki GitHub bağlantılarını Codeberg adreslerine toplu olarak dönüştürdüm
    • sed ve find komutlarını kullanarak metin tabanlı otomatik bir değişim yaptım
  • Her deponun git remote URL'sini Codeberg olarak değiştirip tüm depolara push ettim

3. Aşama: GitHub Depo Stub Yönetimi

  • GitHub depolarına taşıma duyurusu için README ekledim ve açıklamayı ile ana sayfa bağlantısını Codeberg'e çevirdim
    • Bu işlemi birden fazla depoya toplu uygulamak için otomasyon betiği yazdım
    • gh repo archive komutuyla depoları arşivledim

4. Aşama: CI/CD Geçişi

  • Codeberg'in CI dokümanında enerji tüketimini minimumda tutma prensibi vurgulanıyor
    • Bu nedenle yalnızca gerçekten gerekli projelerde (web sitesi, dokümantasyon derleme vb.) CI tutuyorum
    Reklam
  • Codeberg iki CI seçeneği sunuyor: Woodpecker ve Forgejo Actions
    • GitHub Actions'a benzediği için Forgejo Actions'ı seçtim
  • Başlıca farklar
    • Çoğu Action olduğu gibi çalışıyor
    • Yalnızca Linux özelinde runner var, macOS ve Windows sunulmuyor
    • Kurulu yazılım az ve kaynaklar kısıtlı
    • lazy runners ile yük dengelemesi yapıp daha çevreci çalıştırma mümkün
  • CI performansını artırmak için önceden kurulmuş LaTeX içeren bir Docker imajı kullandım ancak sürüm sorunu nedeniyle temel Ubuntu imajına döndüm

5. Aşama: Web Sitesi Yeniden Barındırma

  • GitHub Pages'den çalışan siteyi Codeberg Pages'e taşımayı planladım ama bu özellik bakım modundaydı
    • Karmaşıklık ve performans sorunları nedeniyle güncellemeler gecikiyor
  • Alternatif olarak git-pages ve Grebedoc bulundu ve kullanıldı
    • DNS değişikliği öncesi yükleme desteği ile kesintisiz geçiş mümkün oldu
    • Sunucu tarafı yönlendirme ve özel başlık desteği
    • Mevcut bağlantıyı (eldred.fr/fortISSimO) koruyarak geçiş tamamlandı
    Reklam
  • Codeberg ileride git-pages'e kademeli geçiş planlıyor
  • GitHub Pages'ten daha memnunum, bu yüzden git-pages geliştiricisine Patreon'dan destek olmaya başladım

Harcanan Süre

  • Depo geçişi (1-3. aşama): Yarım gün
  • CI geçişi (4. aşama): Yarım gün
  • Web sitesi geçişi (5. aşama): Teknik borç temizliği dahil birkaç gün
  • Genel olarak bir hafta sonu içinde tamamlandı, beklenenden daha basit bir iş oldu

Geçiş Sonrası

  • Web sitesi işlevlerinde sorun yok, yalnızca GitHub'daki master dalı daraltıldı
    • Kalıcı linkler (permalink) hala çalışıyor
  • GitHub depolarını silme işlemi, yönlendirme olmaması nedeniyle beklemede
  • GitHub hesabı, diğer projelere katkı için tutuluyor
  • Codeberg'e taşınırken katkıda bulunan sayısında azalma yaşanabilir; ancak bazı kullanıcılar zaten Codeberg hesabı açıp katkı vermeyi sürdürüyor

Teşekkür

  • Catherine ‘whitequark’: git-pages ve Grebedoc operasyonu
  • SERVFAIL network ekibi: DNS sağlama
  • Codeberg ve Forgejo katılımcıları: geçiş altyapısı sağlama

1 yorum

 
GN⁺ 2025-12-02
Hacker News yorumu
  • Bu geçiş hikâyesinde dikkat çeken şey teknik taraf değil, asıl engelin gerçekten ‘özellik eşdeğerliği (feature parity)’ olmaması
    Codeberg günlük iş akışları için yeterli, ama GitHub’ın yıllar içinde biriktirdiği ağ etkisi ve atalete sahip değil

    • Tangled.org gibi projeler bu sorunu kısmen çözmeye çalışıyor
      Bluesky benzeri protokoller temel alınarak, Git nerede barındırılırsa barındırılsın kimlik ve bağlantılılığın korunması hedefleniyor
    • Codeberg’de yaşadığım en büyük rahatsızlık, issue arama özelliğinin zayıf olması
      Daha önce kesin gördüğüm bir issue’yu yeniden bulmak zor oluyor. Performans son zamanlarda düzelmiş gibi, ama yüzlerce issue’su olan bir projeyse önce bir test geçişi yapmak iyi olur
    • GitHub’da çok geniş dokümantasyon ve örnekler var; bu yüzden yeni katılanlar da kolayca uyum sağlayabiliyor
      CI/CD gibi şeyleri ekibin tamamının bilmesi gerekmiyor, bir kişinin iyi bilmesi bile yeterli
  • Codeberg, Gitea’nın bir fork’u; Gitea da Gogs’un fork’u
    Her iki fork da teknik nedenlerden çok felsefi nedenlerle başladı ve Gogs’u yapan Joe Chen’in büyük katkısı oldu

    • Aslında Codeberg, Forgejo tabanlı bir web sitesi
      Gitea, bir geliştiricinin depo yetkilerini tekeline alması nedeniyle fork’lanmıştı; Forgejo ise Gitea’nın marka haklarıyla ilgili sorunları aşmak için ortaya çıkan bir fork
    • Şaka yollu da olsa, bir gün Codeberg topluluğunun da küçük ideolojik ayrılıklar yüzünden bölünebileceği söyleniyor
  • Codeberg ile F-Droid’u birlikte kullanan biri var mı merak ediyorum
    GitHub’daki gibi sürümleri otomatik algılayıp algılayamadığını bilmek istiyorum

    • F-Droid değil ama, Codeberg desteği ekleyen projelerin sayısı artıyor
      Artık bir eşik etkisine (threshold effect) ulaşılmış gibi görünüyor
  • Son birkaç gündür çeşitli projelerin GitHub’dan ayrıldığını görüyorum
    Bunun arkasında bir olay ya da bir trend mi var diye merak ediyorum

    • GitHub’ın erişilebilirlik sorunları, Microsoft’un AI’ı zorla entegre etmesi ve Azure geçişine odaklanırken özellik geliştirmelerinin geri planda kalması nedenlerden biri olabilir
    • Zig’in geçiş duyurusu iyi bir referans olabilir
    • GitHub sanki bir güven çöküşü (trust thermocline) yaşıyor
      Açık kaynak topluluğundaki memnuniyetsizlik birikerek sınır noktasına ulaşmış gibi görünüyor
      Microsoft genelindeki AI ve reklamlaşma tartışmaları ile Windows 10 desteğinin sona ermesi de etkili oluyor gibi
      İlgili kavram ilk kez bu Twitter flood’unda ortaya atılmıştı
    • Kişisel olarak GitHub’daki AI aşırılığından bıktım
      Rails tabanlı olduğu eski dönem daha iyiydi gibi geliyor
    • Bu biraz Summer of the Shark türü bir olaya benziyor
      Gerçekte olduğundan fazla ilgi gören geçici bir durum da olabilir
  • GitHub alternatifleri içinde küçük ekipler veya bireysel geliştiriciler için uygun olan var mı merak ediyorum
    Codeberg FOSS odaklı olduğu için ticari kullanım için pek uygun görünmüyor

    • Codeberg’in temeli olan Forgejo’yu kendiniz barındırabilirsiniz
      GitLab çok özellikli ama bakım yükü ağır
      Bunun dışında Gitea, Gogs, Phorge gibi çeşitli FOSS forge’lar da var
    • GitHub’ın özü teknoloji değil, sosyal ağın kendisi
    • Ben sourcehut’ı tercih ediyorum
      GitHub arayüzünü kopyalamaması ve yerel bir uygulama gibi hızlı, anında tepki veren arayüzü hoşuma gidiyor
    • Özel bir neden yoksa GitHub kullanmaya devam etmek mantıklı
      Sırf “Microsoft’tan hoşlanmıyorum” diye taşınmak gerekmiyor
    • Kişisel kullanım için Migadu benzeri düşük maliyetli özel barındırma arıyordum ama uygun bir seçenek bulamadım
      Sonunda yeni projeyi Codeberg’e koydum, bazılarını da GCP üzerinde özel ayna olarak tutuyorum
      Bununla ilgili Ask HN başlığı açtım ama yanıt gelmedi
  • eldred.fr’nin blog yazısına bakınca yazarın gerekçeleri makul, ama kullanıcı açısından hissedilen iyileşme neredeyse yok
    Codeberg’i kullanınca

    • “Bot olmadığınızı doğruluyoruz” şeklinde animasyonlu doğrulama ekranı sık sık çıkıyor
    • GitHub ile giriş düğmesi küçük şekilde gizlenmiş durumda
    • Arayüz GitHub’la neredeyse aynı ve README’nin aşağıda olması rahatsız edici
      Örnek: https://codeberg.org/dnkl/foot
      README’nin ana sayfada olması daha iyi olurdu
    • Sonuçta fark yaratmayan bir kopyalama stratejisi cazip gelmiyor
    • “Bot doğrulaması” için Anubis adlı açık bir çözüm kullanılıyor
      Ücretli sürümde görsel özelleştirme de yapılabiliyor
    • GitHub’ı birebir takip etmek, kullanıcı aşinalığını korumak için seçilmiş bir yol
      Fazla farklı yapılırsa tam tersine tepki çekebiliyor
      GitHub giriş düğmesinin gizlenmesi de topluluk odaklı bir karar; istenirse PR ile öneri sunulabilir
    • Bu tür sorunlar aslında hizmetteki daha derin problemleri gösteren işaretler de olabilir
    • Ben GitHub’daki AI eğitim tartışmalarından ve merkezileşmeden yorulduğum için Codeberg’e geçtim
      Amaç, GitHub’la benzer işlevleri sunan etik bir alternatif bulmaktı
  • GitHub’daki AI taraması sorun değilse, siyasi olmayan nedenlerle taşınmak için yeterli gerekçe var mı merak ediyorum

    • Son dönemde GitHub’da erişilebilirlik düşüşü yaşandı ama bunun ne kadar rahatsız edici olduğu kişiden kişiye değişir
  • Codeberg’in ücretsiz CI runner sağlayıp sağlamadığını merak ediyorum
    GitHub’ın yılda 100 milyon dolardan fazla CI harcaması yaptığı tahmin ediliyor

    • Codeberg dokümanına göre (docs.codeberg.org/ci), kapasite sınırlı ve talep edip onay almak gerekiyor
    • Ben kişisel olarak bir Woodpecker instance’ını Codeberg ile birlikte kullanıyorum ve iyi çalışıyor
    • Codeberg, CI/CD’nin enerji maliyetini özellikle vurguluyor
      Ama çevresel maliyetten söz etmek, aksine kullanıcı katılımını caydırabilir
      Teknik kişiler için buna performans optimizasyonu problemi olarak yaklaşmak daha etkili olur
    • Bence böyle bir CI altyapısı GitHub’ın asıl hendek etkisi (moat)
  • Codeberg’in geçmişte bir spam olayını “aşırı sağ nefret kampanyası” diye abartıp kendini övmesi beni hayal kırıklığına uğratmıştı
    Basitçe önleme konusunda başarısız olduklarını kabul etmeleri yeterliydi, ama bunu siyasi bir çerçeveye oturttular
    İlgili bağlantılar: issue, HN tartışması, blog yazısı

    • Bu tavır biraz aşırı öz-yüceltme gibi görünüyor
    • Ama spam gerçekten ırkçı ifadeler içeriyorsa, Codeberg’in tepkisinin haklı olduğunu düşünüyorum
      Bu yüzden saygı kaybettiyseniz, sorun projede değil o bakış açısında olabilir
  • Ben de bir dönem Codeberg’e depolarımı taşıyıp sonra yeniden GitHub’a dönmüştüm
    GitHub’daki pek çok özelliği sevmiyor olsam da, Codeberg’de işbirliğini kendine çeken güç eksik
    Tek başına bakım yapan biri olarak görünürlük ve ağ etkisine gerçekten ihtiyaç duyuyorum