U publikua versioni 1.5 i platformës P2P Radicle, e fokusuar në krijimin e një shërbimi të decentralizuar për zhvillimin dhe ruajtjen e kodit, të ngjashëm me GitHub dhe GitLab, por jo i lidhur me serverë konkretë, i paarritshëm për censurë dhe që punon duke përdorur burimet e anëtarëve të rrjetit P2P. Platforma mbështet elemente tipike të ndërveprimit social të zhvilluesve, si issue, patches dhe rishikime të kodit. Projekte të zhvilluar janë shkruar në gjuhën Rust dhe shpërndahen nën licencat Apache 2.0 dhe MIT. Ndërtesat janë përgatitur për Linux dhe macOS. Gjithashtu, janë duke u zhvilluar një klient desktop, një ndërfaqe web dhe një ndërfaqe konsolë.
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ë. serverëve.
Ă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:
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r repo bare, tĂ« cilat nuk pĂ«rmbajnĂ« njĂ« katalog pune me njĂ« kopje tĂ« skedarĂ«ve tĂ« projektit, por ruajnĂ« vetĂ«m historinĂ« e ndryshimeve dhe metadatat si degĂ«t dhe etiketat. NĂ« komandĂ«n "rad clone" Ă«shtĂ« shtuar opsioni "âbare", i cili lejon klonimin e repos nĂ« njĂ« pamje pa njĂ« kishĂ« pune. NĂ« utilitarin "git-remote-rad" Ă«shtĂ« pĂ«rmirĂ«suar funksionimi me repo bare kur pĂ«rdoren komandat "git push" dhe "git fetch" pĂ«r t'u lidhur me njĂ« server rad tĂ« jashtĂ«m.
- ĂshtĂ« shtuar konfigurimi "patch.branch", i cili mund tĂ« pĂ«rdoret nĂ« utilitarin git-remote-rad ("git-remote-rad -o patch.branch[=<name>]") kur shtoni njĂ« patch pĂ«r tĂ« krijuar automatikisht njĂ« degĂ« nĂ« repo-n upstream, pa nevojĂ«n pĂ«r tĂ« pĂ«rdorur komandĂ«n "rad patch checkout".
- ĂshtĂ« pĂ«rmirĂ«suar dalja e komandĂ«s "rad patch show", e cila tani tregon versionin origjinal tĂ« patch-it, i cili deri tani ishte treguar vetĂ«m kur ishte caktuar flamuri "âverbose". TĂ« gjitha revizionet tani shfaqen nĂ« njĂ« kronologji tĂ« vetme pa ndarje mes ndryshimeve nga autori origjinal dhe pjesĂ«marrĂ«sve tĂ« tjerĂ«.
- ĂshtĂ« shtuar mundĂ«sia e daljes sĂ« logjeve nĂ« njĂ« pamje tĂ« strukturuar, e cila aktivizohet pĂ«rmes opsioneve "âlog-logger structured" dhe "âlog-format json".
Burimi: opennet.ru
