Blog do Matehackers

Git social?

Originalmente (seria) publicado na Igreja Universal do Reino do IURI

Edição: foi publicado! iuri.tem.blog.br/posts/git_social Mas como a minha ikiwiki está com algum erro de configuração, e o assunto vai perder a validade antes que eu consiga computador e internet para arrumar, então vou publicar aqui.

Note que a sintaxe do wordpress é diferente, eu alterei todas as formatações pra dar certo neste blog mas como são muitos links eu não alterei nenhum. Este post foi originalmente foi escrito para ikiwiki em iuri.tem.blog.br e não tem nenhum script que eu possa usar pra converter pro formato do wordpress, ou eu é que sou burro.

É o Wordpress (ou o administrador do Mate Blog) que está errado em não ter markdown habilitado, não sou eu nem a Ikiwiki.

Eu sei que o Aaron Swartz escreveu um script pra converter markdown pra html, mas o wordpress não segue regras e padrões, então alguém teria que escrever um script pra converter qualquer coisa pra wordpress. Mas como o wordpress vai mudando em todas as versões sem respeito com outras ferramentas para blogueiros, o que acontece na prática é que todo mundo cria ferramentas para tirar publicações do wordpress e publicar em outros lugares.

Mas hoje eu não vou atacar o wordpress, vou atacar o github e o gitlab. Segue o texto original:


Gitorious morreu!

Com a morte do Gitorious, agora todo mundo precisa encontrar uma alternativa para hospedar publicamente seus repositórios git.

Edição: Rolf Bjaanes anunciou que os repositórios permanecerão somente leitura graças aos esforços dele e do pessoal do Archive Team.

Por que?

Alguém muito bem intencionado vai me perguntar: “-Por quê? Por que é que tu não aproveita a migração gratuíta do Gitorious para o GitLab? Por que é que tu não usa o GitHub? Ou a alternativa, que é o BitBucket? Porquê?”

Não sei se eu usei os porquês direito, mas eu não vou perder tempo respondendo estas perguntas. Os desenvolvedores do libreboot encarecidamente explicam porquê não usar Github de forma detalhada e suficiente pra convencer qualquer teimoso que defende serviços comerciais. Quem não está disposto a ser convencida(o) tem a mente fechada e não merece a minha dedicação.

Os mesmos desenvolvedores também explicam porquê não usar Gitorious. Escreveram isto recentemente, depois do incidente de março. Palmas pra eles e quem ainda acha que opções comerciais são soluções que leia e se aprofunde.

Mas e a tua opinião?

Liberdade é um conceito filosófico e político

A primeira coisa que tem que ficar clara é que se o teu conceito de liberdade presume que um código escrito tenha que permanecer “livre” para que outras pessoas possam fazer o que quiserem com ele, então nosso conceito de liberdade é diferente.

Eu sou [[!wikipedia pt:Esquerda_pol%C3%ADtica desc=”de esquerda”]]. Eu sou [[!wikipedia pt:copyleft desc=”copyleft”]]. Eu sou GNU. Eu sou FSF. Alias, corrigindo em tempo, eu não sou de [[!wikipedia pt:Esquerda_pol%C3%ADtica desc=”esquerda”]]. Eu sou de [[!wikipedia pt:Extrema-esquerda desc=”extrema-esquerda”]].

Se tu entende que “liberdade” significa, entre outras coisas, dar “liberdade” para as pessoas usarem trabalhos, construções para monopolizar o controle dos meios de produção, então tu é [[!wikipedia pt:Liberalismo desc=”neo liberal”]]. Eu sou [[!wikipedia pt:Socialismo_libertário desc=”libertário de esquerda”]] [[!wikipedia pt:Anticapitalismo desc=”anticapitalista”]].

_copyleft segundo a Free Software Foundation é mais que uma licença, é uma consolidação filosófica e uma subversão do conceito de direito autoral para boicotar a propriedade intelectual privada. É um ato de resistência que promoveu a inversão dos papéis pelo menos dentro do escopo da tecnologia da informação. Hoje quem decide fechar código e tornar as coisas proprietárias, e investir em valor de mercado dos softwares são mau vistos, marginalizados e tido como pessoas/organizações que prejudicam a comunidade que usa e desenvolve software, e a sociedade de forma geral.

Há quem critique a filosofia GNU argumentando que as licenças da GNU não são “realmente livres”. Mas estas pessoas simplesmente têm outra visão sobre liberdade, embora normalmente não admitam que têm posições políticas divergentes. Mas é o que a galera da [[!wikipedia pt:Direita_pol%C3%ADtica desc=”direita”]] e do [[!wikipedia pt:Mercado_livre desc=”livre mercado”]] sempre diz, que não têm opiniões políticas, quando em verdade o que eles têm é intolerância ao diálogo com gente da [[!wikipedia pt:Esquerda_pol%C3%ADtica desc=”esquerda”]] que nem eu, por acharem que suas opiniões representam a elucidação do óbvio, e não o “lado do muro” que eles escolhem.

Liberdade de expressão não é anarco capitalismo

A menos que o _código fonte do Gitorious - o software, não a empresa - siga sendo mantido pela comunidade e utilizado de forma livre (segundo o _conceito pragmático do Stallman), então apoiar o Gitorious hoje significa apoiar o GitLab e suas soluções empresariais de código fechado. E não era isto que o Gitorious vinha fazendo, a começar pela licença copyleft Affero GPL, que com esta confusão eu tive a oportunidade de estudar mais minunciosamente e pretendo utilizá-la mais daqui pra frente, já que para o tipo de coisa que eu faço esta licença é mais indicada que a GPL normal.

Outra coisa é que quem historicamente promoveu o uso do Gitorious acabou no fim das contas incentivando as pessoas a usarem um serviço comercial de código fechado, em decorrência da tática comercial que foi parte do acordo entre Gitorious e GitLab: eles botam um aviso no site dando a entender que o caminho mais fácil, rápido e seguro é migrar “automaticamente” os repositórios que agora estão no Gitorious para o GitLab. “Sem custos”. Ao invés de fazer o certo, que é promover a crítica construtiva, como faz a galera do Peers Community e apresentar possíveis alternativas, como fez Jason Self.

Sem custos” é o caralho.

A quantidade de softwares livre que atendem às regras rigorosoas do projeto GNU e que terão que mover seus repositórios para serviços de hospedagem git públicos livres é grande. E isto nem é um problema. O problema real é a enorme quantidade de instâncias, ou “clones” dos respositórios que se beneficiam da centralização do código no site do Gitorious.

PS: Centalização?

Sim, a centralização sempre é ruim, mas uma aplicação prática da centralização é ter um [[!wikipedia pt:URL desc=”URL”]] que possa ser usado como remote “oficial” do código de algum sofware, com a intenção de garantir que o esforço de todo mundo que contribui com o código seja consolidado. Este é um dos objetivos de se usar um sistema como o git.

Se não fossem estes métodos de organização, então cada pessoa teria que desenvolver sozinha seu próprio software, e aí não haveria justificativa para empreender esforços com colaboratividade em primeiro lugar, e eu não estaria escrevendo nada disto.

A própria tecnologia do git permite manter o código fonte de um software descentralizado e adicionar mais de um remote no código, mas esta prática não é comum. Talvez com o incidente com o Gitorious que motivou esta publicação as(os) desenvolvedoras(es) de software livre comecem a adotar práticas melhores de programação.

Exemplos?

Vejamos o exemplo da Lorea, que é uma rede social descentralizada baseada no conceito de sementes. A maioria das sementes, como as que eu administro que são a Rede dxs de Baixo e a Lorea Independência, a primeira semente, N-1, a semente principal Anillosur, e ainda as sementes Ecoxarxes, _coolmeia, entre outras, usam o repositório principal do Lorea.

A semente que eu sou moderador, a Saravea usa seu próprio repositório, o que é o mais seguro possível e satisfaz todas as premissas de um software totalmente livre. Isto só traz um único problema, toda vez que _cai o site do Saravá, cai o Saravea e o repositório junto. Contanto que pelo menos uma pessoa tenha clonado, já é o suficiente pra botar o serviço de volta no ar novamente.

Mas no caso das sementes que se atualizam a partir do único remote que é no Gitorious, só avisando todos os administradores antes da data limite para o site do gitorious.org sair do ar.

O que fazer então?

Se o software que tu hospeda no teu servidor tem uma única linha contendo algo com gitorious.org quando tu digita isto no diretório base:

git remote –v

Então tu tem que tomar uma atitude. Tem que descobrir pra onde vai o código do software que tu usa, e se a organização que botou o código no gitorious.org está preocupada com isto.

Além da Lorea Independência, outro sistema do Hacklab Independência que será afetado é a instância Mediagoblin da Mídia Capoeira. Porque o _código do Mediagoblin está no gitorious.org.

E agora, vamos pra onde?

Sim, temos que ser sociais. E usar o Github ou qualquer alternativa comercial é inaceitável não só ponto de vista ideológico, mas do ponto de vista da existência de projetos de software livre. Como é que um serviço que se declara facilitador do compartilhamento de código fica _confabulando sobre abrir ou não abrir o código?

Então é necessário sim pensar em alternativas. Se todo mundo fosse hospedar “em casa” os seus repositórios, precisaríamos de outros serviços importantes como wikis, bug trackers, issue trackers e outras coisas que a maioria que ta lendo isto e conhece os termos deve saber só como funciona no Github e em lugar nenhum além disto.

Não é todo mundo que consegue colaboração e comprometimento de muita gente desta forma. É mais fácil morrer sozinho com um projeto “puro” do que conseguir participação com comprometimento desta forma.

É importante fazer um “paênteses” aqui pra dizer que eu não sou a favor de participação a qualquer custo. Participação sem comprometimento é nociva. A qualidade do teu projeto não é diretamente proporcional ao seu número de “watches”, “forks”, “likes” ou qualquer outro método de quantificação que os ególatras gostam de ver. Talvez na maioria das vezes o número de commits pode estar relacionado com a qualidade do teu código, mas isto não deve ser tomado como regra porque há quem estabeleça a política de poucos commits “grandes” ou muitos commits “pequenos”.

Ta, e vamos pra onde afinal? Até agora só enrolação!

Sim, eu sei que quem fica lendo muito acaba perdendo a paciência e quer logo uma solução. Mas a solução imediata já foi dada no próprio site do gitorious. Migra pro Gitlab que está comprando a Gitorious. Simples assim. Se tu não tem tempo pra ler, se informar, avaliar, tu tem que ser refém de quem tem recursos, dinheiro e expertise pra te obrigar a fazer as coisas de uma forma que lhes dê lucro ou outro tipo de benefício. É assim que funciona. Ou tu usa o teu cérebro ou vão te usar.

Dito isto, as duas iniciativas promissoras que eu consegui encontrar são o GitBull e o Not a Bug.

GitBull

Aparentemente esta é uma iniciativa libre, ou seja, comprometida com a filosofia GNU. O software que eles utilizam é o Kallithea, que também é libre e parece minimalista e bonito. Entretanto, aparentemente ainda não tem as coisas bonitas e convenientes que tem nos serviços comerciais, como issue tracker, por exemplo.

Preliminarmente analisando me parece tão bom ou melhor que o Gitorious, e mesmo que o serviço GitBull não permaneça libre e siga o caminho do Gitorious, o software que o GitBull usa, o Kallithea, permanecerá libre e a Software Freedom Conservancy vai continuar mantendo o código.

Not a Bug

Not a Bug é muito mais parecido com o famigerado Github, e o motivo disto é que o software utilizado é uma versão modificada do Gogs.

Gogs é um software livre com licença permissiva (MIT, do jeito que os marketeiros do Github e Gitlab gostam), de código aberto, e seu desenvolvimento é bem comercial. Inclusive o _código fonte dele está no Github, e eles usam os serviços comerciais paralelos do Github, como por exemplo o Gitter. Isto beneficia todo mundo, inclusive é possível fazer um fork deste código e licenciar o software sob alguma licença _copyleft. É possível inclusive fechar o código e fazer um fork alterado para um serviço comercial com código proprietário.

No caso do Not a Bug, eles estão usando o Gogs com a mesma licença. O resultado é um site pronto pra uso com uma aparência semelhante à do Github.

Este é um projeto da Peers Community, que diz que é uma iniciativa livre.

Hacklab Independência?

Claro, provavalmente eu que tenho mania de instalar tudo o que eu acho legal nos servidores do Hacklab Independência, vou tentar um destes dois softwares (Kallithea e Gogs) provavelmente em git.hi.ato.br.

Também vou sugerir para o administrador do site do Matehackers que instale o Gogs em um subdomínio tipo git.matehackers.org para incentivar o maior uso do site próprio e menor uso do repositório do Matehackers no Github.

Porque pra quem não sabe, este que está escrevendo usa o Github junto com o Matehackers e mesmo junto com o [Hacklab Independência][bp]. Eu tenho perfil no Github e tudo. Então eu também tenho que tomar vergonha na cara e seguir o meu conselho.