Представлен выпуск P2P-платформы Radicle 1.0, нацеленной на создание децентрализованного сервиса совместной разработки и хранения кода, похожего на GitHub и GitLab, но не привязанного к конкретным серверам, не подверженного цензуре и работающего с использованием ресурсов участников P2P-сети. Релиз 1.0 ознаменовал стабилизацию протокола и готовность платформы к повсеместному использованию. Начиная с данного выпуска протокол будет изменяться с сохранением обратной совместимости, а инструментарий будут включать возможности для бесшовного обновления существующих систем до новой версии. Наработки проекта написаны на языке Rust и распространяются под лицензиями Apache 2.0 и MIT. Сборки подготовлены для Linux и macOS. Дополнительно развиваются десктоп-клиент, web-интерфейс и консольный интерфейс.
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.
Для определения соседних узлов в P2P-сети применяется протокол Gossip, а для репликации данных между узлами протокол Heartwood, основанный на Git. Так как протокол основан на Git, платформу легко интегрировать с существующими инструментами для разработки на Git. Для идентификации узлов и верификации репозиториев используется криптография на основе открытых ключей, без применения учётных записей.
Ç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ë.
На системах пользователей Radicle-репозитории хранятся в виде обычных git-репозиториев, в которых присутствуют дополнительные пространства имён для хранения данных пиров и форков, с которыми осуществляется текущая работа. Обсуждения, предлагаемые патчи и компоненты для организации рецензирования тоже сохраняются в git-репозитории в виде совместных объектов (COB — Collaborative Objects) и реплицируются между пирами.
Radicle 1.0 включает в себя:
- Реализацию расширяемого протокола для организации работы P2P-сети и синхронизации данных.
- Элементы социального взаимодействия, такие как issue, патчи и рецензии на код.
- Протокол аутентификации и авторизации на основе открытых ключей, работающий без централизованных удостоверяющих serverësh.
- CLI-интерфейс, привычный пользователям, знакомым с Git.
- Web-интерфейс для навигации по репозиториям и узлам.
- Средства для обеспечения конфиденциальности, включающие поддержку приватных репозиториев и возможность работы через анонимную сеть Tor.
- Поддержку повторяемых сборок для проверки, что распространяемые исполняемые файлы Radicle собраны из заявленных исходных текстов.
Ещё не готовые возможности, пока находящиеся в разработке:
- Встроенные инструменты для непрерывной интеграции (CI) и непрерывной доставки (CD).
- Консольный интерфейс Radicle TUI (Terminal User Interface).
- Расширенные возможности рецензирования изменений.
- Система получения уведомлений об изменениях в репозитории.
- Поддержка профилей пользователей и возможность привязки нескольких устройств.
- Поддержка тегов.
- Утилиты для модерирования и управления узлами.
- Десктоп-приложение.
Burimi: opennet.ru
