Den nya versionen 1.6 av P2P-plattformen Radicle har publicerats, riktad mot att skapa en decentraliserad tjÀnst för samarbetsutveckling och lagring av kod, liknande GitHub och GitLab, men utan koppling till specifika servrar, okÀnslig för censur och som anvÀnder resurser frÄn deltagarna i P2P-nÀtverket. Plattformen stöder typiska element av social interaktion för utvecklare, sÄsom problem, patchar och kodgranskningar. Projektets kod Àr skriven i Rust och distribueras under licenserna Apache 2.0 och MIT. Byggversioner finns för Linux och macOS. Dessutom utvecklas en desktop-klient, webgrÀnssnitt och konsolgrÀnssnitt.
Radicle gör att man kan oberoende utveckla och distribuera kod utan att vara beroende av centraliserade plattformar och företag, vilka medför ytterligare risker (en enda punkt för fel, företaget kan stÀnga eller Àndra anvÀndningsvillkor). För hantering av kod i Radicle anvÀnds det vÀlkÀnda Git, utökat med verktyg för att bestÀmma databaser i P2P-nÀtverket. All data sparas frÀmst lokalt (local-first konceptet) och Àr alltid tillgÀnglig pÄ utvecklarens dator, oavsett nÀtverksanslutningens status.
Deltagare ger tillgÄng till sin kod och relaterade artefakter, som patchar och diskussioner om buggfixar (issues), vilka lagras lokalt och replikeras pÄ noder av andra intresserade utvecklare som Àr anslutna till det gemensamma decentraliserade P2P-nÀtverket. Slutresultatet blir ett globalt decentraliserat Git-repo, vars data Àr replikerade och kopierade pÄ olika deltagares system.
För att identifiera nÀrliggande noder i P2P-nÀtverket anvÀnds Gossip-protokollet, och för datareplication mellan noder anvÀnds Heartwood-protokollet, som Àr baserat pÄ Git. Eftersom protokollet baseras pÄ Git Àr det enkelt att integrera plattformen med befintliga verktyg för Git-utveckling. För identifiering av noder och verifiering av databaser anvÀnds kryptografi baserad pÄ offentliga nycklar, utan anvÀndning av konton. Autentisering och auktorisering sker baserat pÄ offentliga nycklar utan centraliserade certifieringsorgan. servrar.
Varje repository i P2P-nÀtverket har sin unika identifierare och Àr sjÀlvcertifierad, vilket innebÀr att alla ÄtgÀrder i repositoryn, sÄsom att lÀgga till commits och lÀmna kommentarer pÄ issue, bekrÀftas av Àgaren med en digital signatur. Detta gör att man kan försÀkra sig om datans korrekthet pÄ andra noder utan att anvÀnda centraliserade certifikatutfÀrdare. För att fÄ Ätkomst till repositoryn Àr det tillrÀckligt om det finns minst en nod online som har en replikerad kopia av den.
Noder i P2P-nÀtverket kan prenumerera pÄ specifika repositories och ta emot uppdateringar. Det Àr möjligt att skapa privata repositories som endast Àr tillgÀngliga för vissa noder. För att hantera och Àga ett repository anvÀnds konceptet 'delegater'. En delegat kan vara en enskild anvÀndare, en bot eller en grupp kopplade till ett speciellt identifierare. Delegater kan ta emot patchar i repositoryn, stÀnga issues och stÀlla in ÄtkomstrÀttigheter till repositoryn. Flera delegater kan knytas till varje repository.
Radicle-repositories lagras pÄ anvÀndarnas system som vanliga git-repositories, dÀr det finns ytterligare namnrymder för lagring av peer-data och forks som anvÀnds i det pÄgÄende arbetet. Diskussioner, föreslagna patchar och komponenter för att organisera granskningar lagras ocksÄ i git-repositoryt som samarbetsobjekt (COB - Collaborative Objects) och replikerar mellan peers.
I den nya utgÄvan:
- Implementeringen av Radicle-noden (radicle-node) har övergÄtt till att anvÀnda in- och utmatningsbiblioteket Mio. Paketen netservices, io-reactor och popol har tagits bort frÄn beroenden, vilket hindrade att uppnÄ lÀmplig plattformsoberoende nivÄ. En ny modul, reactor, har lagts till, dÀr io-reactor har skrivits om pÄ grundval av Mio.
- ĂvergĂ„ngen till Mio har möjliggjort stöd för Windows-plattformen, som fortfarande har status som experimentell.
- Koden för att parsa kommandoradsargument har översatts till biblioteket clap, vilket har enhetligat beteendet vid parsing av argument och tillfört verktyget rad funktioner som automatisk generering av kommandoprompt, utdata av rekommendationer för felkorrigering, fÀrgkodning av utdata och autocomplettering av kommandon.
- I radicle-node har stöd för systemd Credentials-mekanismen lagts till för sÀker överföring av Ätkomstnycklar (xyz.radicle.node.secret) och lösenord för deras avkodning (xyz.radicle.node.passphrase), utöver anvÀndningen av miljövariabeln RAD_PASSPHRASE, kommandoradsalternativet "--secret" och parametrar i konfigurationsfilen.
- Krav pÄ minimiunderstödd version av Rust-kompilatorn har höjts till 1.85.
KĂ€lla: opennet.ru
