2 puan yazan GN⁺ 2024-03-06 | 1 yorum | WhatsApp'ta paylaş

Radicle Heartwood protokolü ve yığını

  • Radicle Heartwood, eşler arası kod işbirliği ve yayımlama yığını olan Radicle protokolünün üçüncü sürümüdür.
  • Bu depo, kullanıcı dostu komut satırı arayüzü (rad) ve ağ daemon'u (radicle-node) dahil olmak üzere Heartwood'un tam uygulamasını içerir.
  • Radicle, kullanıcı egemenliğini ve özgürlüğünü koruyan güvenli, dağıtık ve güçlü bir alternatif olarak GitHub ve GitLab gibi kod forge'larının yerini almak üzere tasarlanmıştır.

Kurulum gereksinimleri

  • Linux veya Unix tabanlı bir işletim sistemi gerekir.
  • Git 2.34 veya üzeri sürüm gerekir.
  • OpenSSH 9.1 veya üzeri sürüm ve ssh-agent gerekir.

Binary'den kurulum

  • curl ve tar gerekir.
  • En güncel binary sürümünü kurmak için şu komutu çalıştırın: sh <(curl -sSf https://radicle.xyz/install)

Kaynaktan kurulum

  • Rust toolchain gerekir.
  • Bu deponun içinde aşağıdaki komutları çalıştırarak Radicle yığınını kaynaktan kurabilirsiniz: cargo install --path radicle-cli --force --locked cargo install --path radicle-node --force --locked cargo install --path radicle-remote-helper --force --locked
  • Alternatif olarak doğrudan seed node üzerinden de kurabilirsiniz: cargo install --force --locked --git https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git \ radicle-cli radicle-node radicle-remote-helper

Çalıştırma

  • Sistem daemon'u ve HTTP daemon'u için Systemd unit dosyaları /systemd klasöründe sağlanır. Bunlar ek özelleştirme için bir başlangıç noktası olarak kullanılabilir.
  • Ayrıca her iki crate için de Dockerfile bulunur.
  • Debug modunda nasıl çalıştırılacağı için HACKING.md dosyasına bakın.

Katkıda bulunma

  • Radicle'a nasıl katkıda bulunulacağına giriş için CONTRIBUTING.md ve HACKING.md dosyalarına bakın.

Lisans

  • Radicle, MIT lisansı ve Apache License (Version 2.0) koşulları altında dağıtılır.
  • Ayrıntılar için LICENSE-APACHE ve LICENSE-MIT dosyalarına bakın.

GN⁺ görüşü

  • Radicle, merkezi kod barındırma hizmetlerine alternatif olarak kullanıcıların kod egemenliğini güçlendirmeyi amaçlayan dağıtık bir kod işbirliği platformudur. Geliştiricilere veri sahipliği ve gizlilik üzerinde kontrol sunduğu için oldukça önemli bir değer taşır.
  • Radicle'in sunduğu dağıtık ağ, merkezi bir sunucuya bağımlı olmadığı için hizmet kesintileri veya sansürden bağımsız olma avantajına sahiptir. Ancak bu durum ağın kararlılığı ve hızını etkileyebilir, bu da kullanıcı deneyimini olumsuz etkileyebilir.
  • Radicle, geliştirici topluluğunun katkılarıyla sürekli gelişen bir açık kaynak projedir. Bu da teknik sorunların çözümü veya yeni özelliklerin eklenmesi konusunda hızlı tepki verilebilmesi gibi avantajlar sağlar.
  • Radicle'i benimsemeden önce mevcut merkezi hizmetlerle uyumluluk, projenin güvenlik gereksinimleri ve ekip içindeki benimseme engelleri gibi unsurlar dikkate alınmalıdır.
  • Benzer işlevler sunan diğer projeler arasında GitLab'ın self-hosted sürümü veya Gitea gibi açık kaynak alternatifler bulunur; bunlar kullanıcıların kendi sunucularında kod yönetmesine olanak tanır.

1 yorum

 
GN⁺ 2024-03-06
Hacker News görüşleri
  • Projenin kurucu ortaklarından birinden selam ve protokolün nasıl çalıştığına dair bir açıklama bağlantısı. Belgeler hâlâ hazırlanıyor.

    Merhaba Hacker News. Ben bu projenin kurucu ortaklarından biriyim. Protokolün içeride nasıl çalıştığını merak ediyorsanız buradan başlayın: Radicle belgeleri. Ancak belgeler hâlâ hazırlanma aşamasında.

  • Projenin amacına uygun göründüğü, ancak gitin zaten açık kaynak ve P2P olduğu görüşü. git, ek bir ikili dosya olmadan başka sunuculara bağlanıp kodu doğrudan çekmeye veya birleştirmeye izin veriyor. gitte eksik olan şeyler ise code issues, wiki, tartışmalar, GitHub Pages ve en önemlisi geliştirici profil ağı. Proje metadata’sını .git içine dahil etmenin bir yolu gerekiyor; wiki ile issue’ları karıştırmamak için bağımsız referanslar gerekebilir.

    Bu proje amacına uygun şekilde iyi tasarlanmış gibi görünüyor, ama gitin kendisi de zaten açık kaynak ve P2P. Ayrı bir ikili dosya kurmadan başka bir git sunucusuna bağlanıp git komutlarıyla kodu doğrudan çekebilir veya birleştirebilirsiniz. gitte eksik olan şeyler code issues, wiki, tartışmalar, GitHub Pages ve en önemlisi geliştirici profil ağı. Proje metadata’sını .git içine dahil etmenin bir yolu gerekli. Muhtemelen git notes gibi bağımsız bir referans gerekli olacaktır. git-notes belgeleri

  • Radicle’ın gelişimini izlemenin çok ilginç olduğu yorumu. Protocol Berg 2023’teki atölyeye katıldıktan sonra çok güçlü ve yeni bir şey inşa ettiklerini düşündüğü belirtiliyor. Protokolün işbirliği tarafının da local-first olması özellikle ilgi çekici; internet olmadan bile patch ve issue gönderilebiliyor, GitHub’da sorun olduğunda ekip etkilenmiyor.

    Radicle’ın son 5 yıldaki gelişimini izlemek çok ilginçti. 2023 Protocol Berg’de düzenlenen atölyeye katıldım ve çok güçlü, yeni bir şey inşa ettiklerini düşünüyorum. Özellikle protokolün işbirliği yönünün de local-first olarak tasarlanmış olması en ilginç nokta; internetsizken bile patch ve issue gönderebiliyorsunuz ve GitHub’da bir sorun olduğunda ekip etkilenmiyor.

  • Neden hem MIT hem de Apache lisanslarının kullanıldığına dair merak. MIT lisansının, özellikle patent lisansı verme maddesi açısından, Apache lisansının getirdiği ek yükümlülükleri aşmaya izin verip vermediği sorgulanıyor. MIT lisansı patentlerden bahsetmiyorsa neden yalnızca MIT kullanılmadığı soruluyor.

    Hem MIT hem de Apache lisanslarının neden kullanıldığını merak ediyorum. Bu bir eleştiri değil; yanılıyor olabilirim ama MIT lisansı, Apache lisansının getirdiği ek yükümlülükleri aşmaya izin vermiyor mu? Özellikle patent lisansı verme maddesi açısından. MIT lisansı patentlerden söz etmiyorsa, o zaman neden sadece MIT lisansı kullanılmıyor?

  • Sıradan kullanıcıların bu depoları ne kadar kolay bulabildiğine dair soru. robots.txt dosyası yok gibi göründüğü için arama motorlarının tarayabildiği düşünülüyor. Google ve DDG’de sonuçlar çıkıyor ama henüz üst sıralarda değiller. Sıralama zamanla iyileşebilir. CI (sürekli entegrasyon) desteğini entegre edecek araçlar da ilginç olurdu. Yalnızca güvenilir kimliklerden gelen push’larla sınırlandırılabilecek daha iyi araçlara ihtiyaç olduğu belirtiliyor. Son olarak artifact repository’den söz ediliyor. Radicle’ın her şeyi çözmesi gerekmiyor; özellikle dağıtık ağ üzerinden büyük ikili dosyaların paylaşımı hızla istenmeyen kullanım alanlarına kayabilir.

    Bu depoların sıradan insanlar tarafından ne kadar kolay keşfedilebildiğini merak ediyorum. Görünüşe göre robots.txt yok, dolayısıyla arama motorları tarayabiliyor; gerçekten de Google ve DDG’de arayınca sonuçlar çıkıyor. Henüz üst sıralarda değiller ama site filtresi kullanılmazsa sıralama zamanla iyileşebilir. CI (sürekli entegrasyon) desteğini entegre edecek araçlar da ilginç olurdu. Yalnızca güvenilir kimliklerden gelen push’larla sınırlandırılabilecek daha iyi araçlara ihtiyaç var. Son olarak artifact repository’den söz etmek gerekirse, Radicle’ın her şeyi çözmesi gerekmiyor. Özellikle dağıtık bir ağ üzerinden büyük ikili dosyaların paylaşılması, hızla istenmeyen amaçlar için kullanılabilir.

  • Projenin çıkışını kutlayan ve olgunlaşmasını heyecanla izlediğini söyleyen yorum. GitHub’daki projelerin nasıl taşınacağı ve test sürecinde bir mirror modu olup olmadığı soruluyor.

    Çıkışı kutlarım! Bu projeyi izleyip ne kadar olgunlaştığını görmek gerçekten heyecan verici. Şu anda GitHub’daki projeler nasıl taşınabiliyor? Test ederken bir mirror modu var mı?

  • Belgelerde yalnızca kişinin sahip olduğu veya yönettiği depoların yayımlanması ve diğer yöneticilerle iletişim kurularak yinelenen depo kimliklerinin başlatılmamasının önemli olduğu söyleniyor. Ancak insanların belgeleri okumayabileceği veya buna dikkat etmeyebileceği, bu yüzden isteğin göz ardı edilmesinin muhtemel olduğu belirtiliyor. Ana sayfa kodun nasıl push edileceğini anlatıyor ama bu önemli uyarı yalnızca kullanıcı kılavuzunda yer aldığı için sorun yaratabilir.

    Belgelerde, yalnızca sahip olduğunuz veya yönettiğiniz depoları yayımlamanız ve yinelenen depo kimlikleri başlatmamak için diğer yöneticilerle iletişim kurmanız gerektiği belirtiliyor. Ancak insanlar belgeleri okumuyor ya da dikkat etmiyor olabilir; bu nedenle bu tür istekleri görmezden gelmeleri muhtemel. Ana sayfa kodun nasıl push edileceğini anlatıyor ama bu önemli uyarı yalnızca kullanıcı kılavuzunda bulunuyor; bu da sorun olabilir.

  • "peer to peer" ya da "distributed" gibi terimlerin daha net tanımlanması talebi. Bu terimlerin buzzword olarak kullanıldığında çok belirsiz hâle gelebileceği söyleniyor.

    İnsanların "peer to peer" ya da daha yaygın olarak "distributed" terimini tam olarak tanımlamasını isterdim. Bu terimler buzzword olarak kullanıldığında çok belirsiz hâle gelebiliyor.

  • Çıkışı kutlayıp, git yerine pijul kullanan benzer bir proje olan nest.pijul.comu hatırlattığı belirtiliyor.

    Çıkışı kutlarım! Bu bana git yerine pijul kullanan benzer bir proje olan nest.pijul.comu hatırlattı.

  • Konu dışı bir not olarak, NESticle’ı hatırlattığı söyleniyor.

    Konu dışı bir not: Bu bana NESticle’ı hatırlattı. NESticle wiki