U publikua versioni 1.7 i platformës P2P Radicle, e cila synon të krijojë një shërbim të decentralizuar për zhvillimin dhe ruajtjen e kodit, të ngjashëm me GitHub dhe GitLab, por pa u lidhur me servera të caktuar, e pa censurë dhe që punon duke përdorur burimet e pjesëmarrësve të rrjetit P2P. Platforma mbështet elemente tipike të ndërveprimit social të zhvilluesve, siç janë issue, patch dhe rishikimet e kodit. Projekti është zhvilluar në gjuhën Rust dhe shpërndahet nën licencat Apache 2.0 dhe MIT. Ndërmarrjet janë përgatitur për Linux dhe macOS. Përveç kësaj, po zhvillohet një klient desktop, ndërfaqja web dhe ndërfaqja përmes komandave.
Radicle lejon të zhvilloheni dhe shpërndaheni kodin pa varësi nga platformat dhe korporatat qendrore, të cilat sjellin rreziqe të shtuar (një pikë dështimi, kompania mund të mbyllet ose të ndryshojë kushtet e punës). Për të menaxhuar kodin, Radicle përdor Git-in e njohur, të zgjeruar me mjete për përcaktimin e repozitoreve në rrjetin P2P. Të dhënat ruhet fillimisht lokalish (koncepti local-first) dhe janë gjithmonë të disponueshme në kompjuterin e zhvilluesit, pa marrë parasysh gjendjen e lidhjes në rrjet.
Pjesëmarrësit ofrojnë akses në kodin e tyre dhe artefaktet e lidhura me kodin, si patch-e dhe diskutime për korrigjimin e gabimeve (issues), të cilat ruhen lokalish dhe replikohen në nyjat e zhvilluesve të tjerë të interesuar, të lidhur me rrjetin e përbashkët decentralizuar P2P. Në fund, krijohet 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 përcaktimin e nyjeve fqinje në rrjetin P2P përdoret protokolli Gossip, ndërsa për replikimin e të dhënave midis nyjeve përdoret protokolli Heartwood, i bazuar në Git. Duke qenë se protokolli është i bazuar në Git, platforma integrom lehtësisht me mjetet ekzistuese për zhvillimin në Git. Për identifikimin e nyjeve dhe verifikimin e depozitave përdoret kriptografia e bazuar në çelësa publik, pa përdorur llogari. Autentikimi dhe autorizimi realizohen mbi baza të çelësave publik, pa agjentë qendrorë të besueshmërisë. servera.
Ădo depo nĂ« rrjetin P2P ka njĂ« identifikues unik dhe Ă«shtĂ« vetĂ«-certifikuar (self-certifying), domethĂ«nĂ«, tĂ« gjitha veprimet nĂ« depo, siç janĂ« shtimi i komiteve dhe lĂ«nia e komenteve pĂ«r çështje, zbatohen nga pronari me njĂ« nĂ«nshkrim digjital, duke lejuar qĂ« tĂ« sigurohet pĂ«r saktĂ«sinĂ« e tĂ« dhĂ«nave nĂ« nyjat e tjera pa pĂ«rdorur agjentĂ« qendrorĂ« tĂ« besueshmĂ«risĂ«. PĂ«r tĂ« aksesuar depozitĂ«n mjafton qĂ« tĂ« jetĂ« online tĂ« paktĂ«n njĂ« nyje, nĂ« tĂ« cilĂ«n exista njĂ« kopje e replikueshme.
Nodet nĂ« rrjetin P2P mund tĂ« regjistrohen pĂ«r depo tĂ« caktuara dhe tĂ« marrin pĂ«rditĂ«sime. ĂshtĂ« e mundur tĂ« krijohen depo private, tĂ« cilat janĂ« tĂ«accessible vetĂ«m pĂ«r nodet e caktuara. Koncepti i "delegatĂ«ve" (delegates) pĂ«rdoret pĂ«r menaxhimin dhe pronĂ«sinĂ« e depo. NjĂ« delegat mund tĂ« jetĂ« njĂ« pĂ«rdorues individual, njĂ« bot, ose njĂ« grup, i lidhur me njĂ« identifikues tĂ« veçantĂ«. DelegatĂ«t mund tĂ« pranojnĂ« patches nĂ« depo, mbyllin issue dhe caktojnĂ« tĂ« drejtat e aksesit nĂ« depo. Mund tĂ« lidhen disa delegatĂ« me çdo depo.
Depo Radicle ruhen nĂ« sistemet e pĂ«rdoruesve si depo tĂ« zakonshme git, nĂ« tĂ« cilat ka hapĂ«sira shtesĂ« emrash pĂ«r ruajtjen e tĂ« dhĂ«nave tĂ« peer-Ă«ve dhe fork-eve me tĂ« cilat kryhet puna aktuale. Diskutimet, patches e propozuara dhe komponentĂ«t pĂ«r organizimin e rishikimeve gjithashtu ruhen nĂ« depo git si objekte tĂ« bashkĂ«punimit (COB â Collaborative Objects) dhe replikohen midis peer-Ă«ve.
Në lëshimin e ri:
- Implementimi i referencave tĂ« nĂ«nshkruara (sigrefs â Referencat e NĂ«nshkruara) Ă«shtĂ« rishikuar, duke shtuar mbrojtje kundĂ«r ripĂ«rdorimit tĂ« nĂ«nshkrimeve. Struktura e vjetĂ«r e repozitorit lejonte qĂ« kodi tĂ« zĂ«vendĂ«sohej me njĂ« version tĂ« tij tĂ« vjetĂ«r, duke pĂ«rdorur pĂ«rsĂ«ri njĂ« nĂ«nshkrim tĂ« vlefshĂ«m tĂ« vjetĂ«r. PĂ«r tĂ« bllokuar kĂ«tĂ« problem, nĂ« implementimin e ri Ă«shtĂ« shtuar njĂ« tregues pĂ«r shĂ«nimin e regjistrimit tĂ« mĂ«parshĂ«m, i mbuluar nga nĂ«nshkrimi aktual, qĂ« formon njĂ« zinxhir tĂ« vazhdueshĂ«m ndryshimesh, integriteti i tĂ« cilit mund tĂ« ndjeket nĂ« raport me rrĂ«njĂ«n.
- Janë zgjeruar mundësitë për bllokimin e nyjave, të cilat tani bllokohen në nivelin e menaxhimit të lidhjeve. Nëse më parë vetëm marrja e të dhënave bllokohej, pa kufizuar lidhjen e nyjave, tani bllokimi aplikohet gjatë fazës së vendosjes së lidhjes me nyjën e bllokuar dhe gjatë marrjes së lidhjes nga nyja e bllokuar.
- Lejohet përdorimi i çdo lidhjeje në objekte të jashtme Git, përveç degeve të përkohshme. Më parë lejohej vetëm lidhjet në dega të jashtme, etiketat, metadatet Radicle, shënimet dhe objektet për bashkëpunim.
- Rritet informacioni në mesazhet e gabimeve që shfaqen gjatë përpjekjeve për të kryer operacione, për të cilat përdoruesi nuk ka të drejta të mjaftueshme.
- Rritet efikasiteti i hyrjeve/daljeve. Zhvilluesit kanë vërejtur se në kthesat e gjatë aktive kombinimi i konfigurimeve «journal_mode = WAL» dhe «synchronous = FULL» në DB SQLite, e përdorur për ruajtjen e gjendjes lokale, çon në një volum të madh hyrjesh/daljesh. Për të ulur ngarkesën, parametri «synchronous» tani vendoset në vlerën «NORMAL» si parazgjedhje, dhe në skedarin e konfigurimit të Radicle janë shtuar konfigurime për të ndryshuar vlerat e këtyre parametrave nga përdoruesi.
- Rregullohet një dobësi, informacione për të cilën do të publikohen më 23 mars. Aktualisht, njoftohet vetëm se ekipi i zhvilluesve ka bërë një skanimin e të gjitha depozitave që janë publike të Radicle dhe nuk ka gjetur prova për shfrytëzimin e kësaj problemi.
Burimi: opennet.ru
