Support us

Состоялся первый публичный релиз децентрализованной платформы совместной разработки Radicle

Представлен первый бета-выпуск P2P-платформы Radicle и связанного с ней десктоп-клиента Radicle Upstream. Проект нацелен на создание децентрализованного сервиса совместной разработки и хранения кода, похожего на GitHub и GitLab, но не привязанного к конкретным серверам, не подверженного цензуре и работающего с использованием ресурсов участников P2P-сети, сообщает OpenNet.

Оставить комментарий
Состоялся первый публичный релиз децентрализованной платформы совместной разработки Radicle

Представлен первый бета-выпуск P2P-платформы Radicle и связанного с ней десктоп-клиента Radicle Upstream. Проект нацелен на создание децентрализованного сервиса совместной разработки и хранения кода, похожего на GitHub и GitLab, но не привязанного к конкретным серверам, не подверженного цензуре и работающего с использованием ресурсов участников P2P-сети, сообщает OpenNet.

Код прокси для работы узла написан на языке Rust, а графический клиент на TypeScript, Svelte и Electron. Наработки проекта распространяются под лицензией GPLv3. Сборки подготовлены для Linux (AppImage) и macOS.

Radicle позволяет не зависеть при разработке и распространении открытого кода от централизованных платформ и корпораций, привязка к которым вносит дополнительные риски (единая точка отказа, компания может закрыться или изменить условия работы). Для управления кодом в Radicle используется привычный Git, расширенный средствами определения репозиториев в P2P-сети. Все данные в первую очередь сохраняются локально и всегда доступны на компьютере разработчика, независимо от состояния сетевого подключения. Для защиты информации используется криптография на основе открытых ключей, без применения учётных записей. Список репозиториев участников P2P-сети можно посмотреть на seed-узле проекта.

В основе P2P-сети лежит протокол Radicle Link, основанный на Git и обеспечивающий репликацию данных между участниками. Участники предоставляют доступ к своему коду и коду интересующих их проектов, избыточные копии которых сохраняются локально и реплицируются на системы других заинтересованных разработчиков. В итоге формируется глобальный децентрализованный Git-репозиторий, данные которого реплицированы и продублированы на разных системах участников.

Протокол поддерживает два типа объектов идентификации — участник и проект. Участник связывается с персоной, запустившей узел в P2P-сети (peer), а проект описывает репозиторий, над которым может работать несколько участников. В сети выстраивается социальный граф связи участников и проектов — участники отслеживают интересующие их проекты и других участников. Объекты отслеживаемых участников становятся доступны другим участникам, которые следят за текущим участником.

Разработка ведётся в стиле «базара» — вместо поддержания канонического эталонного представления (master) в Radicle присутствует несколько параллельных веток (upstream) со своими сопровождающими и участниками, которые обмениваются между собой патчами. Вместо привязки к внешнему эталонному репозиторию, в Radicle работа отталкивается от монорепозитория на локальной машине каждого разработчика, в который можно извлекать изменения из репозиториев отслеживаемых участников и передавать свои изменения в репозитории отслеживающих участников.

Концептуально, проект становится совокупностью представлений кода на системах всех участников разработки. На практике организуется иерархия доставки изменений на основе цепочки доверия — для получения изменений в свою локальную копию репозитория разработчик добавляет других разработчиков в качестве источников (remotes), что автоматически формирует подписку на появляющиеся в их репозиториях новые коммиты. Все изменения в P2P-сети заверяются цифровой подписью и могут быть верифицированы другими участниками.

Наиболее простым способом подключения к сети является установка десктоп-приложения Radicle Upstream, которое позволяет создать ключи для идентификации нового участника, разместить свой код и наладить взаимодействие с другими разработчиками. В настоящее время реализация ограничена совместной работой над кодом и системой отслеживания ошибок (issues), но в будущем планируют расширить средства для организации обсуждений и рецензирования изменений, а также реализовать поддержку приватных репозиториев с доступом на основе сквозного шифрования.

Место солидарности беларусского ИТ-комьюнити

Далучайся!

Читайте также
Разработчик пиратского софта сдал коллегу, который «спиратил» его код
Разработчик пиратского софта сдал коллегу, который «спиратил» его код
Разработчик пиратского софта сдал коллегу, который «спиратил» его код
Российские разработчики переориентируются на Ближний Восток, Азию и Африку
Российские разработчики переориентируются на Ближний Восток, Азию и Африку
Российские разработчики переориентируются на Ближний Восток, Азию и Африку
3 комментария
«35 тысяч» репозиториев GitHub были клонированы и распространяли малварь
«35 тысяч» репозиториев GitHub были клонированы и распространяли малварь
«35 тысяч» репозиториев GitHub были клонированы и распространяли малварь
Разработчиков всего мира призвали отказаться от GitHub
Разработчиков всего мира призвали отказаться от GitHub
Разработчиков всего мира призвали отказаться от GitHub
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.