Достъпна е децентрализирана платформа за съвместна разработка Radicle 1.5

Представен е новият релийз на P2P платформата Radicle 1.5, която цели създаването на децентрализирана услуга за съвместна разработка и съхранение на код, подобна на GitHub и GitLab, но независима от конкретни сървъри, устойчива на цензура и работеща с ресурсите на участниците в P2P мрежата. Платформата поддържа основни елементи от социалното взаимодействие между разработчиците, като изисквания, патчи и ревюта на код. Направленията на проекта са написани на езика Rust и се разпространяват под лицензите Apache 2.0 и MIT. Сборките са подготвени за Linux и macOS. Допълнително се развиват десктоп клиент, уеб интерфейс и конзолен интерфейс.

Radicle позволява разработването и разпространението на код да не зависят от централизирани платформи и корпорации, което носи допълнителни рискове (едина точка на провал, компанията може да затвори или да промени условията за работа). За управление на кода в Radicle се използва познатият Git, разширен с инструменти за дефиниране на хранилища в P2P мрежата. Всички данни първо се запазват локално (концепцията local-first) и винаги са достъпни на компютъра на разработчика, независимо от състоянието на интернет връзката.

Участниците предоставят достъп до своя код и свързаните с него артефакти, като пачове и обсъждания на корекции на грешки (issues), които се съхраняват локално и се репликират на възли на други заинтересовани разработчици, свързани с общата децентрализирана P2P мрежа. В резултат на което се формира глобален децентрализиран Git хранилище, чиито данни са репликирани и дублирани на различни системи на участниците.

За определяне на съседни възли в P2P мрежата се използва протоколът Gossip, а за репликация на данни между възлите протоколът Heartwood, основан на Git. Тъй като протоколът се основава на Git, платформата лесно може да се интегрира с вече съществуващите инструменти за разработка на Git. За идентификация на възлите и удостоверяване на хранилищата се използва криптография на основа на публични ключове, без употреба на акаунти. Аутентификацията и авторизацията се извършват на база на публични ключове без централизирани удостоверяващи органи. сървъри.

Всяка репозитория в P2P мрежата има свой уникален идентификатор и е самосертифицирана, т.е. всички действия в репозитория, като добавяне на комити и оставяне на коментари по проблеми, се удостоверяват от собственика с цифров подпис, позволяващ да се уверим в коректността на данните на другите възли без използване на централизираните удостоверяващи центрове. За да получите достъп до репозитория, е достатъчно поне един възел да е онлайн, на който да има репликирана копия.

Възлите в P2P мрежата могат да се подписват за определени репозитории и да получават актуализации. Възможно е създаването на частни репозитории, достъпни само за определени възли. За управление и владеене на репозитория се използва концепцията „делегати“. Делегат може да бъде както отделен потребител, така и бот или група, свързани с специален идентификатор. Делегатите могат да приемат пачове в репозитория, да затварят проблеми и да задават права за достъп до репозитория. Към всеки репозитор може да бъдат привързани няколко делегати.

Radicle репозиториите се съхраняват на системите на потребителите под формата на обикновени git репозитории, в които присъстват допълнителни пространства от имена за съхранение на данни за пирове и форкове, с които се извършва текущата работа. Дискусиите, предложените пачове и компонентите за организиране на рецензии също се съхраняват в git репозиторията под формата на съвместни обекти (COB — Collaborative Objects) и се репликират между пирове.

В новото издание:

  • Подобрена е поддръжката на bare репозитории, които не съдържат работна директория с копие на файловете на проекта, а съхраняват само историята на промените и метаданни, като клонове и тагове. В командата „rad clone“ е добавена опцията „—bare“, позволяваща клонирането на репозитория в представяне без работно дърво. В утилитата „git-remote-rad“ е подобрена работата с bare репозитории при използване на командите „git push“ и „git fetch“, когато се свързвате с външен rad сървър.
  • Добавена е настройка „patch.branch“, която може да се използва в утилитата git-remote-rad („git-remote-rad -o patch.branch[=<name>]“) при добавяне на патч за автоматично създаване на клон в upstream репозитория, без да е необходимо използването на командата „rad patch checkout“.
  • Подобрен е изходът на командата „rad patch show“, която сега показва оригиналната версия на патча, показвана преди само при задаване на флага „—verbose“. Всички ревизии вече се извеждат в единна хронология, без разделяне на изменения от оригиналния автор и други участници.
  • Добавена е възможност за извеждане на логове в структурирано представяне, включващо се чрез опции „—log-logger structured“ и „—log-format json“.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster