- Bazı projeleri GitHub'dan Codeberg'e taşırken, en az çabayla geçişe başlamanın yolunu derliyor
- Codeberg'in depo içe aktarma özelliği sayesinde issue, PR ve release'leri de kapsayan tam bir geçiş mümkün; arayüz ve iş akışı GitHub'a benziyor
- Statik sayfa barındırma için
codeberg.page kullanılabilir; grebedoc.dev ve statichost.eu gibi alternatifler de mevcut
- En büyük zorluk CI ortamını kurmak; GitHub'ın macOS runner'larından ve ücretsiz çalışma kotasından vazgeçmek gerekiyor, bunun yerine Forgejo Actions veya Woodpecker CI kullanılabiliyor
- Geçişten sonra GitHub deposunu salt okunur bir arşiv olarak tutmak veya aynalamak, açık kaynak ekosistemiyle bağı tamamen koparmamanın bir yolu olarak öneriliyor
GitHub'dan Codeberg'e geçiş süreci
- Bazı depoları GitHub'dan Codeberg'e taşımaya başlama deneyimine dayanarak, gerçek geçiş sürecinin zorluk ve kolaylık düzeyi anlatılıyor
- Codeberg'in yeterince hazır olmadığını düşünüp bunu ertelemiş olsa da, projeye bağlı olarak geçiş beklenmedik ölçüde kolay olabilir
- Hedef kusursuz bir kurulum değil, geçişe başlamanın en kolay yolunu bulmak
-
Depo ve issue taşıma
- Codeberg, GitHub depo içe aktarma (import) özelliği sunuyor; issue, PR, release ve bunların artifact'leri birlikte taşınabiliyor
- Bu süreçte issue numaraları, etiketler ve yazar bilgileri aynen korunuyor
- Codeberg'in arayüzü GitHub ile neredeyse aynı ve başka bir issue tracker'dan GitHub'a geçerken gereken karmaşık adımlara kıyasla çok daha basit bir deneyim sunuyor
-
Statik sayfa barındırma
- GitHub Pages kullanılıyorsa, bunun yerine codeberg.page kullanılabiliyor
- Resmî bir erişilebilirlik garantisi (SLO) yok, ancak pratikte hiç kesinti yaşamadığını belirtiyor
- HTML'i bir branch'e push etme yöntemiyle çalışıyor; GitHub Pages'a benzer bir yapı sunuyor
- Alternatif olarak grebedoc.dev veya statichost.eu da kullanılabilir
-
CI (sürekli entegrasyon) ortamının zorlukları
- Geçiş sırasında en zorlu kısım CI ortamını kurmak
- GitHub, ücretsiz macOS runner'ları ve genel depolar için sınırsız çalışma kotası sunuyor; Codeberg'de ise bunlardan vazgeçmek gerekiyor
- Çözüm olarak dile özel çapraz derleme ve Forgejo Actions runner'ını self-host etme yöntemleri kullanılabilir
-
Forgejo Actions ve Woodpecker CI
- Codeberg'de Woodpecker CI daha kararlı, ancak Forgejo Actions, GitHub Actions kullanıcıları için daha tanıdık bir ortam sunuyor
- Arayüz ve YAML sözdizimi neredeyse aynı; mevcut GitHub Actions workflow'larının çoğu doğrudan çalışıyor
- Örneğin GitHub Actions'ta
uses: dtolnay/rust-toolchain kullanılan yeri,
Forgejo Actions'ta uses: https://github.com/dtolnay/rust-toolchain olarak değiştirmek yeterli
- Şu anda Codeberg'in Forgejo Actions belgeleri güncel değil ve bununla ilgili bir PR mevcut
-
macOS runner gerektiğinde
- macOS derlemesi gerçekten gerekiyorsa, GitHub Actions'ı kullanmaya devam edip Codeberg deposundan GitHub'a commit'leri aynalamak mümkün
- Forgejo Actions, GitHub API'sini poll ederek CI durumunu Codeberg ile senkronize edecek şekilde ayarlanabiliyor
- macOS build sunan başka CI servisleri de denenmiş, ancak Codeberg ile entegrasyonları GitHub Actions kadar basit değil
-
GitHub deposunu nasıl ele almak gerekir
- Geçişten sonra GitHub deposu için README güncellenip arşivleniyor
- Codeberg'den GitHub'a commit push edecek şekilde de ayarlanabilir, ancak bu durumda kullanıcılar hâlâ PR açabilir ve issue yorumları yazabilir
- Bazıları GitHub deposunda issue özelliğini devre dışı bırakıyor, ancak bu durumda tüm issue'lar 404 olarak kayboluyor ve PR'leri devre dışı bırakmak mümkün değil
- Örnek olarak
libvirt/libvirt deposu, tüm PR'leri otomatik kapatan bir GitHub Action kullanıyor
- Bu yaklaşım, self-hosting ve genel açık kaynak ekosistemi üzerinde olumsuz etki yaratabilir
- Kullanıcılar build optimizasyonlarını veya release dosyalarının indirilme sıklığını iyileştirme motivasyonunu kaybedebilir
- Geçiş döneminde salt okunur bir mirror tutmak veya GitHub Pages ve Actions'ı birlikte kullanmak da düşünülebilir
1 yorum
Hacker News yorumları
Codeberg’in kendisinden nefret etmiyorum ama GitHub’ın tam bir alternatifi değil
Kişisel kod depoları ya da deneysel script’ler yüklemek için kısıtlar fazla ve özel depolar 100MB ile sınırlı
GitHub Pages gibi bir ana sayfa da barındıramıyorsunuz. Bu tür kullanım için Forgejo’yu self-host etmek daha gerçekçi bir alternatif
İlgili bilgiler Codeberg FAQ içinde iyi özetlenmiş
OSS projelerimi GitHub’a koymamın nedeni basit — topluluk orada olduğu için
Sadece kod koyacaksam doğrudan SSH ya da SFTP ile kendim host ederim
Ben sadece kişisel Gitea instance’ıma yüklüyorum ve yıldız ya da tanıtımı umursamıyorum
Ben tüm kişisel projelerimi Forgejo self-hosting ile yönetiyorum. GitHub’ı hiç aramıyorum
Tailscale ile erişimi kısıtlayıp AI crawler’ları da engelleyebiliyorsunuz
Bundan sonra GitHub alternatiflerini değerlendirmek giderek daha önemli olacak gibi görünüyor
Ama GitHub, CI ve multi-architecture build standardını fiilen oluşturduğu için topluluk odaklı alternatiflerin rekabet etmesi zor
GitHub birçok şeyi “ücretsiz” veriyor ama bunun karşılığında veri toplama ve eğitim için kullanma ihtimali yüksek
Codeberg özel depoları desteklemediği için Copilot’ın genel depoları taramasını da engelleyemiyor
Codeberg FAQ’a göre özel proje gerekiyorsa Forgejo self-hosting öneriliyor
Şirketimiz GitHub’dan tamamen GitLab self-hosting’e geçti
Tailscale arkasına koyduğumuz için SSO yükü yok ve CI runner’lar EKS ile GPU cluster üzerinde çalışıyor. Benzer bir geçişi düşünenlere yardımcı olabilirim
Sadece “GitHub’ı değiştirelim” demek anlamlı değil. Yeni alışkanlıklar ve yeni bir değer önerisi gerekiyor
GitHub, SourceForge’un yerini aldığı gibi, yeni nesil platformun da kod yazmayı ve iş birliğini gerçek zamanlı bağlaması gerekir
Örneğin Google Docs gibi her prompt için bir commit üretilen bir yapı olabilir
Codeberg idealist ama pratikte kararlılık sorunları büyük
Cloudflare olmadan çalıştığı için DDoS saldırılarına açık ve sık sık kesinti yaşıyor. Geliştirme sırasında uzak depoya erişememek gerçekten sinir bozucu
Microsoft satın almasından sonra GitHub’ı neredeyse hiç kullanmıyorum. Sourcehut’ın sade e-posta tabanlı workflow’u bana daha çok hitap ediyor
CI için de sadece yerelde çalıştırılabilen komut tabanlı bir yapı yeterli diye düşünüyorum
Kod depoları doğası gereği dağıtık ve federatif bir yapıda olmalı
git’in kriptografik imza sistemi (GPG/SSH) sayesinde depo güveni ile commit güvenini ayırabilirsiniz
Merkezde yalnızca anahtar sunucusu ve namespace yönetimi bırakılıp geri kalanı dağıtılabilir