ĂshtĂ« publikuar versioni 1.7 i platformĂ«s P2P Radicle, e cila synon krijimin e njĂ« shĂ«rbimi tĂ« decentralizuar pĂ«r zhvillimin dhe ruajtjen e kodit, tĂ« ngjashĂ«m me GitHub dhe GitLab, por pa u lidhur me serverĂ« tĂ« caktuar, pa censurĂ« dhe duke punuar me burimet e pjesĂ«marrĂ«sve tĂ« rrjetit P2P. Platforma mbĂ«shtet elementet standarde tĂ« bashkĂ«punimit tĂ« zhvilluesve, tĂ« tilla si issue, patches dhe rishikime tĂ« kodit. Arsyetimi i projektit Ă«shtĂ« shkruar nĂ« gjuhĂ«n Rust dhe shpĂ«rndahet nĂ«n licencat Apache 2.0 dhe MIT. NdĂ«rtimet janĂ« pĂ«rgatitur pĂ«r Linux dhe macOS. Gjithashtu, zhvillohen njĂ« klient desktop, njĂ« ndĂ«rfaqe web dhe njĂ« ndĂ«rfaqe konsolĂ«.
Radicle lejon që zhvillimi dhe shpërndarja e kodit të mos varen nga platforma dhe korporatat e centralizuara, lidhja me të cilat sjell shtrenjtime të tjera (pikë e vetme dështimi, kompania mund të mbyllet ose të ndryshojë kushtet e funksionimit). Për menaxhimin e kodit në Radicle përdoret Git-i i njohur, i zgjeruar me mjete për përkufizimin e repozitorëve në rrjetin P2P. Të gjitha të dhënat ruhet fillimisht në mënyrë lokale (koncepti local-first) dhe gjithmonë janë të disponueshme në kompjuterin e zhvilluesit, pa marrë parasysh gjendjen e lidhjes në rrjet.
Pjesëmarrësit ofrojnë qasje në kodin e tyre dhe artikujt e lidhur me kodin, të tilla si patches dhe diskutime për rregullimin e gabimeve (issues), të cilat ruhet lokalish dhe replikohen në nyjet e zhvilluesve të tjerë të interesuar, të lidhur me rrjetin e përgjithshëm decentralizuar P2P. Si rezultat, formohet një repozitor global i decentralizuar Git, të dhënat e të cilit janë replikuar dhe kopjuar në sisteme të ndryshme të pjesëmarrësve.
Për të përcaktuar nyjet fqinj në rrjetin P2P, aplikohet protokolli Gossip, dhe për replikimin e të dhënave midis nyjeve, protokolli Heartwood, i bazuar në Git. Duke qenë se protokolli është i bazuar në Git, platforma lehtë integruar me mjetet ekzistuese për zhvillim në Git. Për identifikimin e nyjeve dhe verifikimin e repozitorëve përdoret kriptografia e bazuar në çelësa publikë, pa përdorimin e llogarive. Autentifikimi dhe autorizimi bëhet mbi bazën e çelësave publikë, pa unifikim qendror. serverësh.
Ădo depo nĂ« rrjetin P2P ka njĂ« identifikues unik dhe Ă«shtĂ« vetĂ«-certifikues, pra tĂ« gjitha veprimet nĂ« depo, si shtimi i komiteteve dhe lĂ«nia e komenteve nĂ« çështje, janĂ« tĂ« vulosura nga pronari me njĂ« nĂ«nshkrim digjital, duke lejuar verifikimin e saktĂ«sisĂ« sĂ« tĂ« dhĂ«nave nĂ« nyje tĂ« tjera pa pĂ«rdorur qendrat e akreditimit centralizuese. PĂ«r tĂ« pasur qasje nĂ« depo mjafton qĂ« tĂ« jetĂ« nĂ« internet tĂ« paktĂ«n njĂ« nyje, nĂ« tĂ« cilĂ«n ndodhet kopja e saj e riprodhuar.
Nyjet nĂ« rrjetin P2P mund tĂ« regjistrohen nĂ« depo tĂ« caktuara dhe tĂ« marrin pĂ«rmirĂ«sime. ĂshtĂ« e mundur krijimi i depozita private, tĂ« cilat janĂ« tĂ« qasshme vetĂ«m pĂ«r nyje tĂ« caktuara. PĂ«r menaxhimin dhe pronĂ«sinĂ« e depozitĂ«s pĂ«rdoret koncepti i "delegatĂ«ve". NjĂ« delegat mund tĂ« jetĂ« ose njĂ« pĂ«rdorues i vetĂ«m, ose njĂ« bot ose grup, i lidhur me njĂ« identifikues tĂ« veçantĂ«. DelegatĂ«t mund tĂ« pranojnĂ« patch-e nĂ« depo, tĂ« mbyllin çështje dhe tĂ« caktuar tĂ« drejtat e aksesit nĂ« depo. Ădo depo mund tĂ« lidhet me disa delegatĂ«.
Depozitat Radicle ruajnë në sistemet e përdoruesve si depo git të zakonshme, në të cilat janë të pranishme hapësira shtesë emrash për ruajtjen e të dhënave të peers dhe fork-ëve, me të cilët po punohet aktualisht. Diskutimet, patch-et e propozuara dhe komponentet për organizimin e rishikimeve gjithashtu ruhen në depo git si objekte bashkëpunuese (COB - Collaborative Objects) dhe riprodhohen midis peers.
NĂ« versionin e ri:
- ĂshtĂ« rishikuar zbatimi i lidhjeve tĂ« nĂ«nshkruara (sigrefs - Signed References), i cili pĂ«rfshin mbrojtjen nga ripĂ«rdorimi i nĂ«nshkrimeve. Struktura e vjetĂ«r e depozitĂ«s lejonte zĂ«vendĂ«simin e kodit me versionin e tij tĂ« vjetĂ«r, duke ripĂ«rdorur njĂ« nĂ«nshkrim tĂ« vjetĂ«r tĂ« saktĂ«. PĂ«r tĂ« bllokuar kĂ«tĂ« problem, nĂ« zbatimin e ri Ă«shtĂ« shtuar njĂ« tregues pĂ«r shĂ«nimin e regjistrimit tĂ« mĂ«parshĂ«m, i mbuluar nga nĂ«nshkrimi aktual, duke formuar njĂ« zinxhir tĂ« pandĂ«rprerĂ« tĂ« ndryshimeve, integriteti i tĂ« cilit mund tĂ« ndjeket nĂ« lidhje me rrĂ«njĂ«n.
- Janë zgjeruar mundësitë për bllokimin e nyjeve, të cilat tani bllokohen në nivelin e menaxhimit të lidhjeve. Nëse më parë bllokohej vetëm pranimi i të dhënave, pa kufizuar lidhjen e nyjes, tani bllokimi aplikohet në fazën e krijimit të lidhjes me nyjen e bllokuar dhe gjatë pranimit të lidhjes nga nyja e bllokuar.
- Lejohet përdorimi i çdo lidhjeje në objekte të jashtme Git, përveç degëve të përkohshme. Më parë, lejohej vetëm lidhja në degë të jashtme, etiketat, metadatat Radicle, shënimet dhe objektet për bashkëpunim.
- Janë rritur informacione të mesazheve të gabimeve që ndodhin kur përpiqeni të kryeni operacione për të cilat përdoruesi nuk ka të drejta të mjaftueshme.
- Janë rritur efikasiteti i hyrjes/daljes. Zhvilluesit zbuluan se në nyjet e drejtuara për një kohë të gjatë kombinimi i parametrave "journal_mode = WAL" dhe "synchronous = FULL" në DB SQLite, e cila përdoret për ruajtjen e gjendjes lokale, çon në një volum të madh operacionesh hyrje/dalje. Për të zvogëluar ngarkesën, tani parametri "synchronous" është vendosur në "NORMAL" si parazgjedhje, dhe janë shtuar në skedarin e konfigurimit Radicle cilësime për ndryshimin e këtyre parametrave nga përdoruesi.
- ĂshtĂ« eliminuar njĂ« vulnerabilitet, informacioni pĂ«r tĂ« cilin do tĂ« publikohet mĂ« 23 mars. Aktualisht raportohet vetĂ«m se ekipi i zhvilluesve ka skenuar tĂ« gjitha depozitĂ« publike Radicle dhe nuk ka zbuluar shenja tĂ« shfrytĂ«zimit tĂ« kĂ«tij problemi.
Burimi: opennet.ru
