Disponível a plataforma descentralizada de desenvolvimento colaborativo Radicle 1.5

Foi lançado o P2P da plataforma Radicle 1.5, visando criar um serviço descentralizado de desenvolvimento colaborativo e armazenamento de código, semelhante ao GitHub e GitLab, mas não vinculado a servidores específicos, não sujeito à censura e operando com os recursos dos participantes da rede P2P. A plataforma suporta elementos típicos de interação social entre desenvolvedores, como issues, patches e revisões de código. O trabalho do projeto é escrito em Rust e distribuído sob as licenças Apache 2.0 e MIT. Compilações estão disponíveis para Linux e macOS. Clientes de desktop, interface web e interface de console estão sendo desenvolvidos adicionalmente.

O Radicle permite que o desenvolvimento e a distribuição de código fiquem independentes de plataformas e corporações centralizadas, cuja vinculação traz riscos adicionais (ponto único de falha, a empresa pode fechar ou mudar as condições de operação). Para gerenciar o código no Radicle, é utilizado o Git tradicional, ampliado com ferramentas de definição de repositórios na rede P2P. Todos os dados são, em primeiro lugar, salvos localmente (conceito local-first) e sempre acessíveis no computador do desenvolvedor, independentemente do estado da conexão de rede.

Os participantes fornecem acesso ao seu código e a artefatos associados, como patches e discussões sobre correções de bugs (issues), que são salvos localmente e replicados em nós de outros desenvolvedores interessados conectados à rede P2P descentralizada compartilhada. Como resultado, forma-se um repositório Git global descentralizado, cujos dados são replicados e duplicados em diferentes sistemas dos participantes.

Para identificar nós adjacentes na rede P2P, é aplicado o protocolo Gossip, e para replicação de dados entre nós, utiliza-se o protocolo Heartwood, baseado no Git. Como o protocolo é baseado no Git, a plataforma é facilmente integrada com as ferramentas existentes para desenvolvimento no Git. Para identificação de nós e verificação de repositórios, é usada criptografia baseada em chaves públicas, sem a utilização de contas. A autenticação e a autorização são realizadas com base em chaves públicas, sem entidades de certificação centralizadas. servidores.

Cada repositório em uma rede P2P possui um identificador único e é auto-certificado, ou seja, todas as ações no repositório, como adição de commits e comentários em issues, são assinadas pelo proprietário com uma assinatura digital, permitindo verificar a precisão dos dados em outros nós sem a utilização de autoridades certificadoras centralizadas. Para acessar o repositório, basta que haja pelo menos um nó online que tenha sua cópia replicada.

Os nós na rede P2P podem se inscrever em repositórios específicos e receber atualizações. É possível criar repositórios privados, acessíveis apenas a nós determinados. A gestão e propriedade do repositório utilizam o conceito de 'delegados'. Um delegado pode ser um usuário individual, um bot ou um grupo, associado a um identificador especial. Delegados podem aceitar patches no repositório, fechar issues e definir permissões de acesso ao repositório. Vários delegados podem ser vinculados a cada repositório.

Os repositórios Radicle são armazenados nos sistemas dos usuários como repositórios git comuns, nos quais existem espaços de nomes adicionais para o armazenamento de dados de pares e forks com os quais se está trabalhando no momento. Discussões, patches propostos e componentes para organização de revisão também são armazenados no repositório git na forma de objetos colaborativos (COB — Collaborative Objects) e replicados entre os pares.

No novo lançamento:

  • Apoio melhorado para repositórios bare, que não contêm um diretório de trabalho com uma cópia dos arquivos do projeto, mas apenas armazenam o histórico de mudanças e metadados, como branches e tags. Um novo parâmetro "—bare" foi adicionado ao comando "rad clone", permitindo clonar o repositório em uma visualização sem diretório de trabalho. A ferramenta "git-remote-rad" oferece melhorias no trabalho com repositórios bare ao usar os comandos "git push" e "git fetch" ao se conectar a um servidor rad externo.
  • Adicionada a configuração "patch.branch", que pode ser usada na ferramenta git-remote-rad ("git-remote-rad -o patch.branch[=<name>]") ao adicionar um patch para criar automaticamente uma branch no repositório upstream, sem a necessidade de usar o comando "rad patch checkout".
  • A saída do comando "rad patch show" foi aprimorada, agora mostrando a versão original do patch, que antes era exibida apenas com a flag “—verbose”. Todas as revisões agora são exibidas em uma única cronologia, sem separação entre alterações do autor original e outros participantes.
  • Adicionada a capacidade de exibir logs em uma visualização estruturada, ativada através das opções "—log-logger structured" e "—log-format json".

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster