The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

02.10.2025 11:26

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

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

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

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

Каждый репозиторий в P2P-сети имеет свой уникальный идентификатор и самосертифицирован (self-certifying), т.е. все действия в репозитории, такие как добавление коммитов и оставление комментариев к issue, заверяются владельцем цифровой подписью, позволяющей убедиться в корректности данных на других узлах без использования централизованных удостоверяющих центров. Для получения доступа к репозиторию достаточно, чтобы в online находился хотя бы один узел, на котором имеется его реплицированная копия.

Узлы в P2P-сети могут подписываться на определённые репозитории и получать обновления. Возможно создание приватных репозиториев, доступных только определённым узлам. Для управления и владения репозиторием используется концепция "делегатов" (delegates). Делегатом может быть как отдельный пользователь так и бот или группа, привязанные к специальному идентификатору. Делегаты могут принимать в репозиторий патчи, закрывать issue и задавать права доступа к репозиторию. К каждому репозиторию может быть привязано несколько делегатов.

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".


  1. Главная ссылка к новости (https://radicle.xyz/2025/09/30...)
  2. OpenNews: Доступна платформа совместной разработки Forgejo 12.0
  3. OpenNews: Доступна децентрализованная система отслеживания ошибок git-bug 0.9
  4. OpenNews: Выпуск глобальной децентрализованной файловой системы IPFS 0.9
  5. OpenNews: Началась разработка GitPub, протокола для децентрализованных Git-сервисов
  6. OpenNews: Выпуск zeronet-conservancy 0.7.8, платформы для децентрализованных сайтов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63982-radicle
Ключевые слова: radicle, git, p2p
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Stanislavvv (?), 12:05, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Не очень понимаю, как мне сделать там нечто, похожее на CI/CD. Как-то я уже привык к тому, что сделал мерж в мастер — всё автомагически начало собираться и собранное запустилось где надо. Не у меня на компе, естественно, иначе бы через git hook можно было.
     
     
  • 2.2, Аноним (2), 12:11, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://radicle.xyz/2025/07/23/using-radicle-ci-for-development
     
     
  • 3.3, Stanislavvv (?), 12:19, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю, оно таки есть.
     

  • 1.4, Аноним12345 (?), 12:22, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    О, это интересно.
    Каждый участник хранит и реплицирует данные (репозитории) тех проектов, которые ему интересны.
    Проекты реплицируются на другие узлы.
    Разработчики могут не просто предлагать изменения в виде патчей, но и проводить на их основе полноценные ревью: оставлять комментарии к конкретным строкам кода, обсуждать изменения, одобрять или запрашивать доработки.
    Radicle предлагает решение для проектов, которые подвержены риску политической или корпоративной цензуры.

     
  • 1.5, Аноним (5), 12:23, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Bitmessage тоже был "децентрализованный сервис для тех, кому не нравится плясать под дудку Gmail, их хозяев, и хозяев их хозяев". Но оказалось, что у самого автора pybitmessage (вот сюрприз-то, совершенно нельзя было догадаться!) есть хозяева, а любым хозяевам невозможно отказывать...
     
     
  • 2.7, Аноним (7), 12:50, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не закончил, что там дальше-то?
     
     
  • 3.11, Аноним (11), 13:10, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да
     
  • 3.14, Аноним (14), 13:17, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Муха села на варенье,
    Вот и все стихотворенье.
     
  • 3.15, Аноним (15), 13:25, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Автор, видите-ли, не знал, что eval(data[""] + "." + data[""].title()) делать нельзя.
     
     
  • 4.19, Аноним (7), 13:37, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Может и не знал. Питонисты они такие.
     

  • 1.6, Аноним (6), 12:45, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Платформа поддерживает типовые элементы социального взаимодействия разработчиков, такие как issue, патчи и рецензии на код.

    Забавно что иссуе так и не нашло киррилизации, на ряду с патчем и рецензией.

     
     
  • 2.18, Аноним (15), 13:31, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    /ˈɪs.juː/
     

  • 1.8, Аноним (6), 12:54, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Наработки проекта написаны на языке Rust и распространяются под лицензиями Apache 2.0 и MIT.

    Жаль что ЯП выбран Раст а не Си или С++ хотя бы.

     
     
  • 2.12, Аноним (14), 13:17, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже верно. Можно было бы отправлять специально сформированные пакеты узлам, вызывать там переполнение буфера и выполнять команды из-под рута.
     
  • 2.13, Аноним (13), 13:17, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Наработки проекта написаны на языке Rust и распространяются под лицензиями Apache 2.0 и MIT.
    > Жаль что ЯП выбран Раст а не Си или С++ хотя бы.

    наработки децентрализованного проекта хранятся в централизованном репозитории. Или я чего-то, как всегда, не понимаю?

     
     
  • 3.17, Аноним (17), 13:30, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Или я чего-то, как всегда, не понимаю?

    Да.

     

  • 1.16, 12yoexpert (ok), 13:29, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    страны местонахождения разработчиков в студию
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру