Saltar para: Posts [1], Pesquisa [2]

Anders Bateva

Clippings / recortes de não-ficção: prospecções literárias, de tudo um pouco.

Anders Bateva

Clippings / recortes de não-ficção: prospecções literárias, de tudo um pouco.

GNU Social: como começou

Este post é baseado no artigo What is GNU social and is Mastodon Social a “Twitter Clone”?, por Robek World.

Em 2007, Evan Prodromou desenvolveu o "esqueleto" do que eventualmente se tornaria o GNU Social. Na época de sua concepção, ele era conhecido como Laconica, e era utilizado em um serviço de microblogging chamado Identi.ca. Após ser financiado, Prodromou renomeou Laconica para StatusNet e começou o desenvolvimento do serviço. A ideia por detrás da StatusNet era que qualquer um pudesse baixar o software e rodar seu próprio serviço de microblogging. O nobre objetivo estava embrulhado em estratégia de marca, e buscas corporativas, na esperança de um dia levar o microblog para as massas (tanto marcas quanto indivíduos) tal qual WordPress fez para os blogs.

Várias pessoas contribuíram código para a StatusNet e o projeto cresceu. Em 2010, Prodromou documentou o protocolo OStatus que ele criou e fez a StatusNet usar, e conseguiu levar este protocolo para o W3C, para que fosse mais desenvolvido (o que não ocorreria até 6 anos depois). OStatus tornou-se o padrão sucessor do protocolo OpenMicroBlogging. Esta foi uma grande conquista, pois o OStatus é a tecnologia que o W3C mantém e desenvolve, e é basicamente o procedimento operativo padrão para comunidades coesas de microblog. A maioria destas comunidades OStatus podem comunicar-se umas com as outras (Federação).

Em algum momento por aqui, Matt Lee começou a explorar opções para ferramentas sociais para o GNU FM, e a StatusNet capturou sua atenção. Algum interesse continua a crescer, mas nade demais acontece. Prodromou eventualmente perde seu financiamento em 2012, e o desenvolvimento real da StatusNet parece estar condenada à morte, apesar de continuar um pouco.

Devido ao projeto usar uma licença livre, as pessoas tinham a capacidade de fazer "forks" (ramificações do desenvolvimento), e Mikael Nordfeldth havia feito um fork da StatusNet para um projeto chamado Free Social. O projeto de Mikael era "por diversão", mas após Prodromou ter decidido seguir adiante com o pump.io, Matt e Mikael oferecem a ideia de fundir o projeto StatusNet em um novo, nomeado GNU Social (já que os desenvolvedores em questão eram desenvolvedores e apoiadores do Projeto GNU / Fundação do Software Livre). Mikael continua a manter e dar suporte ao GNU Social em 2017, mas houveram vários forks que constroem por sobre seu próprio trabalho, enquanto tentam seus próprios objetivos.

Existe um rumor de que a Identi.ca era um serviço de microblogging independente, e não federava com os nos StatusNet. Este rumor está errado: a companhia StatusNet fazia ser fácil criar seu nó "nome.status.net", de graça para nós de usuário único, e também provia vários nós com nomes como "240.status.net", "unlimited.status.net", para que se experimentasem diferentes tamanhos de mensagem. Prodromou realmente tentou fazer com que pessoas mesclassem-se com a Federação e saíssem do nó com o nome da empresa. Mas Identi.ca era a face da StatusNet, e continuou crescendo. Não foi até o "pumpocalypse" que sites alternativos como Quitter.se realmente deslanchassem, no grande êxodo da Identi.ca por pessoas que estavam confusas ou não gostavam no novo software (pump.io).

Licença Creative CommonsEste post de Anders Bateva está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.Baseado no trabalho disponível em Robek.World.

GNU Social: o que é? Porquê usar?

Autora: Mariana Fossatti. Tradução por Anders Bateva.

O que é GNU Social?

O GNU Social é um projeto de rede social que está em desenvolvimento há alguns anos. Originalmente implementado através do serviço Identi.ca, logo evoluiu quando a Free Software Foundation se juntou em seu desenvolvimento. Trata-se de uma rede social de aparência muito similar ao Twitter, porém com algumas vantagens, como a possibilidade de enviar mensagens de mais de 140 caracteres, participar de grupos, e seguir usuários de outras instâncias que utilizem os mesmos padrões abertos.

Diferente do Twitter, que é um serviço centralizado, o GNU Social é um software livre que pode ser instalado em qualquer servidor. Cada instância da rede social inter-opera com as demais de maneira horizontal, formando assim uma rede distribuída onde os participantes não dependem das políticas corporativas de uma única empresa, e aonde a adoção de novas funcionalidades é livre, desde que siga-se os protocolos de comunicação.

Como é de se imaginar, existem muitos serviços "públicos" de GNU Social. Alguns dos mais conhecidos são: Quitter.se, Quitter.es e lamatriz.org; porém, existem muitos outros, que você pode conferir no site Fediverse.org. Mesmo estando em um nó qualquer, é possível conectar-se às demais instâncias e assim inter-conectar-se com os outros usuários também.

Porquê usar?

De que nos interessaria criar um novo perfil em uma outra rede social que tem uma aparência similar ao Twitter? Porquê se dar ao trabalho e tempo?

Em primeiro lugar, porquê na Internet, sempre vamos estar vivendo mudanças e saltos, de uma tecnologia a outra. Se não o fizermos conscientemente e por escolha própria, os donos das grandes plataformas nos obrigarão, de qualquer maneira, a aceitar as mudanças que eles impõe a partir de suas políticas empresariais centralizadas, em termos que não conhecemos nem controlamos. Assim, somar-se à história de uma tecnologia livre, aberta, e descentralizada, como o GNU Social, é abrir uma janela de ar fresco em direção a uma comunicação que podemos controlar mais coletivamente, sob normas comunitárias de netiqueta, e não sob Termos de Uso abusivos, e sob permanente ameaça de censura.

Em segundo lugar, porquê nestas redes sociais distribuídas, estão acontecendo coisas interessantes! Estão somando-se cada vez mais pessoas, e estão se abrindo novos nós nos quais prosperam todo tipo de comunicades, com sua variedade de idiomas e temas a explorar. Entramos em um território livre de algoritmos de personalização, e que assim não podem ser manipulados visando lucros com propaganda. Bem distante dos ruídos impostos pelos grandes meios de massa, das marcas, das celebridades, e dos trolls que inundam o Twitter e Facebook, podemos retomar espaços de comunicação mais adequados para o diálogo real.

Licença Creative CommonsEste post de Anders Bateva está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Não Adaptada.Baseado no trabalho disponível em Ártica Online.

GNU Social: como funciona o OStatus?

Autor: Manuel Ortega. Tradução por Anders Bateva.

Graças ao OStatus, as instâncias do GNU Social não são jardins murados, e se conectam nentre si, permitindo a seus usuários comunicarem-se e seguirem uns aos ouros. OStatus é a engrenagem que dá vida à rede distribuída de nós/servidores do GNU Social. Uma rede distribuída, também conhecida como a «federação», cujas implicações são chave para impulsionar um modelo social totalmente oposto ao de redes centralizadas, como Twitter e Facebook, e ao das descentralizadas também.

Entender como funciona o OStatus facilita que novos desenvolvedores possam unir-se ao projeto e criar novas possibilidades para o GNU Social.

OStatus: as peças da engrenagem

Ostatus combina de forma natural e eficiente um conjunto de peças, protocolos, que permitem implementar comunicações distribuídas na Web:

  • Activity Streams codifica as publicações, atividades e eventos sociais dos usuários nos padrões Atom ou RSS;
  • PubSubHubbub envia, em tempo real, estes feeds a seus assinantes ao redor da Web;
  • Salmon notifica aos usuários sobre as respostas a suas publicações;
  • Webfinger torna fácil encontrar outros usuários na rede de nós.

Ainda que cada um destes protocolos cumpra uma função determinada, veremos como colaboram entre si e ganham sentido ao trabalharem como uma engrenagem dentro de cada nó do GNU Social. Seguiremos agora os passos que o GNU Social dá quando lhe pedimos para assinar os posts de um usuário remoto, ou seja, um usuário que não está cadastrado no próprio nó de quem assina.

Porém, antes de passar à ação, vejamos onde encontrar OStatus dentro do código-fonte do GNU Social:

OStatus no código-fonte do GNU Social

Uma das maravilhas do GNU Social é sua modularidade. E, como não podia ser de outra forma, a implementação do OStatus está encapsulada dentro do plugin OStatus que podemos encontrar no diretório plugins.

O plugin OStatus agrega ao GNU Social um conjunto de bibliotecas, funcionalidades, e rotas para fazer possível a comunicação entre os nós do GNU Social. Vamos seguir os passos do processo de assinatura entre usuários remotos. O ponto de acesso principal para esta opção em qualquer nó do GNU Social é main/ostatussub. Por exemplo, na instância Quitter España, é no endereço https://quitter.es/main/ostatussub.

Esta URL será nosso ponto de partida para dar uma viagem guiada pelo processo de assinatura a usuários remotos. Um processo aonde centramo-nos no trabalho que realiza o protocolo PubSubHubbub.

Iniciamos a viagem até a assinatura

Estando no ponto de partida, main/ostatussub, perante o usuário final o processo não tem grandes segredos: insere-se o endereço do OStatus, usuario@exemplo.net ou https://exemplo.net/usuario, do usuário que deseja-se seguir, e então o GNU Social pede-lhe para confirmar a assinatura, realiza a confirmação e, a partir deste momento, começa a receber todas as publicações do usuário a que foi solicitado seguir, em sua linha do tempo pessoal.

Sigamos estes mesmos passos, mas agora fazendo referência às linhas de código do GNU Social adonde se desenvolve a ação:

    • Executa-se a ação. Quando o usuário aperta o botão «continuar», executa-se uma solicitação POST, que inclui a variável profile, sobre a ação ostatussub implementada pelo plugin OStatus.A partir deste momento o GNU Social lança-se à caça do feed, tudo é um feed, que se esconde por detrás do usuario OStatus que indicamos a ele.
    • Uma URI ou um e-mail? O primeiro a se fazer é confirmar se o usuário introduziu no formulário uma URI ou um usuário em formato de endereço de e-mail. Se o que temos é um usuário OStatus em formato de endereço de e-mail, teríamos que extrair pelo Webfinger. Porém, para este post, vamos a supor que temos uma URI para encontrar o feed que buscamos. A partir deste momento é quando entra en ação o PubSubHubbub.PubSubHubbub permite-nos assinar um feed em tempo real. Não temos que fazer solicitações regulares ao feed para obter as novas publicações, ao invés disto nós é que seremos notificados, e nos será enviado o novo conteúdo, em tempo real, quando o feed se atualizar. Para entender a lógica por detrás do PubSubHubbub recomendo ver este vídeo.Nos passos para implementar PubSubHubbub, o primeiro é descobrir como assinarmos o feed, descobrir qual é o agente (hub) a que temos que pedir que o feed assine. Este hub se encarrega de informar aos assinantes remotos sobre as atualizações dos feeds dos usuários em seu nó. Cada nó do GNU Social tem seu próprio agente (hub).
  • Descobrir o hub. Uma vez que tenhamos a ULR do feed, o GNU Social realiza uma solicitação GET para obter a informação sobre o hub ao qual tem de solicitar assinatura, dá persitência aos dados encontrados (URL do feed, hub do feed, etc), guarda-os na base de dados associados ao usuário OStatus para o qual recebemos uma pedido de assinatura. Terminado este passo, o GNU Social nos apresenta os dados do usuário do qual queremos assinar, e nos pede confirmação.
  • Enviamos solicitação de assinatura ao hub. Uma vez que o usuário confirme a assinatura, o GNU Social dá início ao processo de assinatura. Seguindo a especificação do PubSubHubbub, para solicitar a assinatura a um hub, temos que fazer uma solicitação POST enviando-lhe a seguinte informação: mode=subscribe, topic=, callback=, verify=sync. O "topic" é a URL do feed a que queremos assinar, e "callback" é a URL à qual queremos receber primeiro a chave de confirmação, e a partir daí, as atualizações do feed. Aqui está o código que implesmenta isto no GNU Social. Enviada a solicitação, temos que esperar que o hub faça-nos uma petiação GET com a chave de confirmação.
  • Recebemos a chave desde o hub e voltamos a confirmar.
  • Já estamos seguindo!! A partir deste momento o hub nos vai enviar as atualizações do feed ao qual nós acabamos de assinar, com solicitações à URL do callback que passamo-lho.
Descoberta do hub.
Solicitação de assinatura.
CC0O texto deste post de Anders Bateva está liberado sob domínio público.Baseado no trabalho disponível no blog Las Indias.

Arquivo anual

2012-2014: posts não mantiveram-se

Assuntos (Índice)

 

Nuvem de tags (todas as etiquetas)

Subscrever por e-mail

A subscrição é anónima e gera, no máximo, um e-mail por dia.

subscrever feeds