Radicle, uma plataforma descentralizada de desenvolvimento colaborativo

Recentemente foi anunciado o lançamento da primeira versão beta da plataforma Radicle P2P e seu cliente de desktop Radicle Upstream.

O projeto visa criar um serviço descentralizado para desenvolvimento colaborativo e armazenamento de código, semelhante ao GitHub e GitLab, mas não vinculado a servidores específicos, além de não estar sujeito a censura e trabalhar com os recursos dos participantes da rede P2P.

Sobre a Raiz

Radicle permite não depender de plataformas e corporações centralizadas para desenvolvimento e distribuição de código aberto, para os quais a vinculação introduz riscos adicionais (ponto único de falha, uma empresa pode fechar ou alterar as condições de trabalho).

Para gerenciar o código no Radicle, o conhecido Git é usado, expandido definindo repositórios em uma rede P2P. Todos os dados são armazenados principalmente localmente e estão sempre disponíveis no computador do desenvolvedor, independentemente do estado da conexão de rede. Para proteger as informações, utiliza-se criptografia baseada em chaves públicas, sem o uso de contas. A lista de repositórios participantes da rede P2P pode ser vista no nó semente do projeto.

No coração da rede P2P está o Protocolo Radicle Link baseado em Git que replica dados entre participantes. Os participantes fornecem acesso ao seu código e ao código dos projetos em que estão interessados, cópias redundantes dos quais são armazenadas localmente e replicadas nos sistemas de outros desenvolvedores interessados. Como resultado, um repositório Git descentralizado global é formado, os dados do qual são replicados e duplicados em diferentes sistemas participantes.

O protocolo suporta dois tipos de objetos de identificação: participante e projeto. O participante contata a pessoa que lançou o nó na rede P2P (par) e o projeto descreve um repositório no qual vários participantes podem trabalhar.

A rede cria um gráfico social de comunicação entre os participantes e os projetos: os participantes acompanham os projetos de seu interesse e de outros participantes. Os itens dos participantes seguidos são disponibilizados para outros participantes que estão seguindo o participante atual.

O desenvolvimento é realizado no estilo "bazar", em vez de manter a visão mestre canônica no Radicle, há vários ramos paralelos com seus mantenedores e contribuidores trocando patches entre si.

Em vez de vincular a um repositório referência externa, Radicle é baseado em um repositório único na máquina local de cada desenvolvedorr, onde você pode extrair alterações dos repositórios dos contribuidores rastreados e enviar suas alterações aos repositórios dos contribuidores rastreados.

Conceitualmente, um projeto se torna uma coleção de visualizações de código nos sistemas de todos os participantes do desenvolvimento. Na prática, uma hierarquia de entrega de mudanças é organizada com base em uma cadeia de confiança: para receber mudanças em sua cópia local do repositório, o desenvolvedor adiciona outros desenvolvedores como fontes (remotas), que automaticamente formam uma assinatura para os novos commits que aparecem em seus repositórios. Todas as alterações na rede P2P são assinadas digitalmente e podem ser verificadas por outros participantes.

A maneira mais fácil de se conectar à rede é instalar o aplicativo de desktop Radicle Upstream, que permite criar chaves para identificar um novo membro, hospedar seu código e se comunicar com outros desenvolvedores.

Atualmente, a implementação é limitada ao trabalho conjunto no código e no sistema de rastreamento de bugs, mas no futuro eles planejam expandir as ferramentas para organizar discussões e revisar mudanças, bem como implementar suporte para repositórios privados com acesso baseado em criptografia de ponta a ponta.

Finalmente, se você estiver interessado em saber mais sobre isso, você pode verificar o link a seguir

O código proxy para a operação do nó é escrito em Rust, no cliente gráfico em TypeScript, Svelte e Electron. Os desenvolvimentos do projeto Eles são distribuídos sob a licença GPLv3.

Os pacotes estão prontos para Linux (AppImage) e macOS.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.