Arquitetura da Baobáxia
Baobáxia pode ser compreendida como uma plataforma de compartilhamento de saberes de comunidades dentro de uma rota de confiança.
Este artigo apresenta os principais conceitos da Baobáxia, tanto do ponto de vista de usuáries quando do ponto de vista técnico.
- Tecnicamente falando, Baobáxia é uma aplicação desenvolvida em Python que gerencia repositórios Git de forma descentralizada, distribuindo conteúdo entre instâncias a partir da criação de rotas de confiança, atuando de forma descentralizada, federada e rizomática.
Conteúdo |
Saberes
São conhecimentos da comunidade representados dentro da plataforma, como seu acervo cultural ou um artigo escrito por seus integrantes. Um saber pode conter em si informações, arquivos e até mesmo outros saberes.
- Tecnicamente falando, Saber se apresenta como uma pasta e um arquivo de metadados (chamado de ".baobaxia") em formato JSON. O arquivo de metadados contém informações gerais de identificação e específicas de acordo com o tipo de saber. Por exemplo, se o saber é um item de um acervo cultural, precisará de título, descrição, conjunto de tags e outras informações que facilitem sua organização. Dentro da pasta do saber também podem ser armazenados arquivos anexos (gerenciados pelo git-annex), como a mídia correspondente ao item de acervo, no exemplo anterior. A pasta também pode conter arquivos de hipertexto, por exemplo, se o saber é um artigo, com o conteúdo do artigo. Pode haver ali também outros saberes criando uma relação de composição.
Mucuas
São as unidades que compõe a Baobáxia, as instâncias que rodam a plataforma e nas quais usuáries conectam-se para acessar a rede. Podem ser compreendidas como parte de um território digital. Além de acessar e gerenciar saberes da pŕopria comunidade, as mucuas também refletem os saberes de outras mucuas.
- Tecnicamente falando, Mucua pode ser compreendida tanto como uma instância da Baobáxia rodando em uma infraestrutura de rede quanto como conjunto de dados tutelados através daquela instância. A mucua é também um saber, tendo sua pasta específico com o arquivo de metadados e os saberes que constituem aquele conjunto de dados.
Balaios
São grupos de mucuas definidos como universos de saberes. Por exemplo, o balaio chamado Rede Mocambos pode agregar mucuas das diversas comunidades envolvidas na luta desta rede. Além disso, uma mucua pode participar de mais do que um balaio. Assim, a mucua Abdias pode fazer parte do balaio Rede Mocambos e também de um outro chamado Rota dos Baobás, por exemplo. Em cada balaio, a mucua terá saberes específicos que pode não compartilhar em outros balaios.
- Tecnicamente falando, Balaio é um repositório git + git-annex compartilhado entre um grupo de instâncias. Também são saberes e portanto possuem metadados em uma pasta (a pasta do repositório) onde estarão as pastas das mucuas. Dessa forma, cada mucua tem sua pasta específica dentro do repositório.
Rotas
São conexões entre mucuas de um mesmo balaio. Por exemplo, a mucua DPadua, também dentro do balaio Rede Mocambos, possui uma rota para a mucua Abdias. Desta forma, a mucua DPadua pode conectar a mucua Abdias para fazer a troca de saberes. A partir daí, Abdias e DPadua passam a compartilhar saberes uma da outra. Assim, se houver uma rota de Abdias para a mucua Oyá, esta última poderá receber o conteúdo de DPádua, mesmo sem que haja uma rota direta entre as duas.
- Tecnicamente falando, Rotas são conexões SSH previamente autorizadas por chave pública que são criadas para fazer a sincronização (pull e push) entre instâncias do mesmo repositório (balaio). A mucua que possui a rota (autorização e dados de conexão) conecta outra mucua e faz as operações, de modo que a segunda mucua não precisa conhecer aquela rota ou estar autorizada para conectar a primeira mucua.