Giants Shoulders

Once upon a time, there was a smart guy who asked the giants to help him to reach the sky and obtain all the treasures it had to offer.
He told the giants about the wonders there and how he wants to share it with all of them!

The giants let him climb on their shoulders and he was able to succeed in his aspiration!

Unfortunately, as soon as he gets the treasures he became selfish, screaming to all about how smart and rich he had become.
“I’ll give you nothing!” he shouted.


As sad as you can imagine, all the giants helping him up left.

Alone, on the clouds, the smart man had nothing once again.


Authors: Erin and Anahuac

o GNU foi pro brejo

Errata em 23/12/2019 – O Latinoware terminou acontecendo. Apesar disso artigo se mantem válido por refletir a minha opinião naquele momento e nada ter sido feito para desfazer essa percepção. Mas cabe meu parabéns os organizadores do evento pela perseverança.

————————————————————————————————————-

Neste setembro de 2019 o Software Livre recebeu sua última pá de cal no Brasil: não há mais Latinoware. É bem verdade que esse evento já não tinha mais compromisso real com a defesa da liberdade do software ou com os princípios da filosofia do Software Livre, mas foi, durante sua primeira década um expoente do movimento, junto com o FISL.

Seus organizadores sofrem de OSISmo crônico. Lutaram arduamente para difundir os ideais do Open Source, fragilizando a essência da comunidade de colaboração, que é fortalecer o indivíduo através da cooperação desinteressada, através da humanidade e da fraternidade de ajuda ao próximo sem maiores interesses ou visando ganhos pessoais. Decidiram dar voz e razão ao pensamento mercantilista, onde o acesso ao código deve servir ao mercado. Esse Deus mercado que corrompe, degrada e se alimenta de seus defensores. É suicídio para qualquer movimento social se mercantilizar e o Software Livre permitiu isso.

Os líderes da Latinoware foram sofrendo essa metamorfose feia e degradante que só grandes doses de fascismo são capazes de gerar: ao mesmo tempo em que enganavam as pessoas chamando seu evento de “tecnologias abertas” decidiram aderir ao golpismo, ao anti-petismo e até mesmo ao bolsonarismo. Durante os anos de governos do PT a Itaipú Binacional hospedou e financiou o evento, em nome da democratização do conhecimento e da colaboração entre os países vizinhos.

Bastaram alguns meses de governo Bolsonaro para que o apoio ao Latinoware fosse encerrado. Que puxada de tapete, meus amigos!

Os organizadores do FISL também pecaram ao se negar a escolher um lado. Decidiram, via ASL – Associação do Software Livre, que deveriam representar os dois: fascistas e não fascistas. Como se fosse possível representar dois grupos, onde o objetivo de um deles é exterminar o outro. Como diria o sábio Robin, santa inocência Batman!

Em 2012 depois da reação permissiva da comunidade Software Livre à distribuição de um spyware no Ubuntu, vaticinei que o movimento havia morrido. Ele tinha morrido mesmo, mas tinha se esquecido de deitar. Andou cambaleante como um zumbi, até agora. Finalmente foi enterrado.

“Movimento social e político em defesa da liberdade do software, visando proteger os usuários, garantir sua perpetuação e permitir a distribuição irrestrita de conhecimento”. Eis a definição de Movimento Software Livre. Mas como fazer isso sem comunidades, sem lideranças, sem eventos e sem participação real fora da Internet?

A sequência dos fatos que nos mataram:

  • Fortalecimento das redes sociais privadas;
  • Perfilamento e influencia sobre as ações do movimento;
  • Fortalecimento do pensamento mercadológico – OSI
  • Cooptação dos líderes do movimento
  • Enfraquecimento exponencial das comunidades
  • Distribuição de software não livres nas distribuições GNU
  • Normalização das ações aéticas da mercantilização
  • Substituição do termo Software Livre por Open Source, Código Aberto ou Tecnologias Abertas
  • Esvaziamento das ações comunitárias: install fest, aulas gratuitas, documentação, tradução e mutirões
  • Sobreposição do termo Linux ao termo GNU
  • Falência dos eventos menores
  • Falência dos eventos maiores

E como se tudo isso não fosse os evidentes ingredientes para a crônica de uma morte anunciada, as vítimas festejam seu fim, esbanjando agressividade contra os movimentos que resistem, contra os governos que os apoiaram, contra o criador do movimento, contra às comunidades filosóficas e desprezando os colaboradores que não fazem código. Uma empáfia digna dos capitães do mato, dos agente da SS ou dos PM à serviço do Ustra.

Tudo isso sob o argumento de que é preciso evoluir. Que são novos tempos. Que os princípios do Software Livre, com mais de 30 anos, caducaram e não se encaixam mais na sociedade moderna. Como se a fraternidade, a preservação dos direitos do próximo, o não mentir, enfrentar os poderosos interesses de dominação, colaborar e distribuir, não fossem conceitos imunes ao tempo, a vilania e ao fascismo.

Ainda agora estarão comemorando a aproximação da Microsoft, Google, Facebook, Amazon e Apple ao open source. Pois que comemorem também o fim do FISL, o fim da Latinoware e o extermínio do próprio Software Livre.

Mas sempre haverá esperança. Eu quero um mundo sem Open Source, sem mega corporações, sem Bolsonaros. E esse mundo só é possível se os resistentes marcarem este momento como o divisor, como a gota d’água, como o ponto sem volta. Não há contemporização possível, convivência possível, aceitação possível.

Fomos encurralados e abatidos como cerdos mansos.

O GNU foi pro brejo!

Mas ainda vamos resistir um pouco mais em @ultraGNU no Telegram.

Libre Software

Este artigo foi escrito em 08 de agosto de 2018​​, mas somente agora me pareceu que valia a pena publicar…

Em 2012 eu vaticinei o fim do movimento software livre: a geração Ubuntu havia dominado praticamente todos os espaços. Nesses 6 anos o cenário piorou, e muito. Finalmente, todos os objetivos da OSI se concretizaram, ou seja, Open Source sobrepujou o Free Software como termo de uso regular para definir programas de computador com código livre, a fagocitose das comunidades e seus expoentes pelo mercado e suas empresas, a lógica do desenvolvimento colaborativo para reduzir custos, a remoção do ranço filosófico do movimento e o enfraquecimento contundente dos poucos defensores remanescentes da velha escola filosófica do GNU.

Numa tentativa de reação um pequeno grupo de pessoas fez um contraponto contundente mostrando que Open Source e Software Livre não são a mesma coisa. A metodologia era clara: denunciar os falsos ativistas que propagam a filosofia Open Source dizendo se tratar de Software Livre – os OSIstas – ao mesmo tempo que explicava incansavelmente quais as diferenças entre os movimentos. Nasceu o #ultraGNU

Depois de uma longa conversa com os mais renomados ativistas do Movimento Software Livre ficou claro que eles não compartilham dessa metodologia. Segundo seu ponto de vista denunciar nominalmente os OSIstas é muito agressivo. Inclusive o próprio termo OSIsta é considerado agressivo. Portanto nenhum apoio, suporte ou colaboração.

Não há qualquer dúvida que o Open Source venceu, e essa é a prova de que a metodologia seguida e defendida pelas FSF e seus ativistas mais empenhados simplesmente se tornou ineficiente. Hoje, com seu discurso amigável e sua aproximação dos defensores do Open Source eles estão ajudando a cavar a própria cova.

Considerar o Open Source como uma evolução natural do Software Livre é uma aberração filosófica, mas se mostrou algo concreto e factual pela competência dos primeiros e pela incompetência dos segundos em conquistar corações e mentes. A lógica do mercado prevaleceu e não será o “bom mocismo” que conseguirá reverter o quadro.

Tendo o extermínio da filosofia do Software Livre como algo eminente e sem poder contar com o apoio da ala moderada, creio que está na hora de aceitar o fim, mas não para encerrar, mas para recomeçar, reiniciar, ou por assim dizer, dar reboot.

Temos que recomeçar. Devemos adotar a filosofia original do Software Livre como base e estendê-la para dar a ênfase necessária ao quesito filosófico. Se o que define um Software Livre é o respeito as 4 liberdades, e essa definição permitiu sua cooptação por um movimento neoliberal pro mercado, então é hora de criar um adendo que torne a definição não cooptável: uma quinta cláusula.

Nasceria assim o Libre Software.

Sua definição estaria composta pelas 4 Liberdades do Software Livre mais a não aceitação, sob nenhuma circunstância, de Softwares não livres como parte integrante, dependente ou distribuível.

No campo filosófico o Movimento Libre Software condena o Open Source pela sua complacência com os softwares não livres e com o mercado, em detrimento do usuário final. Condena de forma mais veemente os falsos ativistas que induzem as pessoas a confundirem Open Source com outros conceitos. E condena a metodologia amistosa com a qual os ativistas do Software Livre tratam seus algozes.

Ainda há esperança de agrupar pessoas dispostas a reagir de forma eficiente pela filosofia libertária da tecnologia democrática, acessível, compartilhável e redistribuível, sem permitir a cooptação pelos interesses econômicos, de mercado e do capital.

O Libre Software pode seguir de onde o Software Livre parou, virar o jogo e fazer do Mundo um lugar melhor.

Zimbra Letsencrypt Multidomínios Howto

Faz tempo que mantenho um ambiente de hospedagem de e-mails para pequenos clientes. Eles são muito especiais porque se preocupam de verdade com a privacidade, sem abrir mão de ter todos os recursos e comodidades dos grades provedores.

Na KyaHosting.com garantimos isso.

Mas em tempos de muito cuidado e proteção, ter conexões encriptadas reconhecidas pelos navegadores é muito importante. A iniciativa da EFF, Let’sEncrypt permite ter certificados atenticados e reconhecidos por quase todos os navegadores, gratuitamente.

Este tutorial se aplica às instalações que tem Proxy instalado e somente a elas. Isso porque o modo que vamos usar altera, exatamente, o Nginx que é usado pelo Zimbra como Proxy Reverso.

Meus requisitos são:

  1. Não ter que reiniciar o Zimbra a cada atualização
  2. Ser multidomínio, pois hospedo muitos domínios

Pré requisitos

  1. Seu Zimbra tem que ter o Proxy instalado
  2. Cada domínio tem que estar setado como “virtualhost”, por exemplo assim:
    • zmprov md seudominio zimbraVirtualHostname webmail.seudominio
  3. O certbot tem que estar instalado

Metodologia

Nós vamos usar o método chamado “challenge ACME”. Nesse método o “certbot” escreve uma sequência única em um diretório específico que está acessível pela web. Para isso temos que criar o diretório e configurar o Nginx para responder corretamente a URL esperada pelos servidores da Let’sEncrypt.

Então mãos à obra!

Criando o diretório

Abaixo só comandos que usei. É claro que você poderá usar outro diretório, mas cuidado para acertar isso em todas as etapas.

mkdir /opt/zimbra/data/nginx/letsencrypt
chown zimbra: /opt/zimbra/data/nginx/letsencrypt

Alterando o template do Nginx

O que esta alteração vai fazer é criar entradas válidas no Nginx para todos os domínios configurados em seu Zimbra.

1 – Edite o arquivo /opt/zimbra/conf/nginx/templates/nginx.conf.web.http.template

2 – Adicione a linha a baixo antes da última } , assim:

location ^~ /.well-known/acme-challenge { root /opt/zimbra/data/nginx/letsencrypt; }

}

Reiniciando o proxy para fazer as configurações:

su zimbra -c”/opt/zimbra/bin/zmproxyctl restart”

Testando

O Let’s Encrypt tem limitações de acesso, então o que fazemos é indicar um e-mail diferente por domínio para ser registrado.

Para saber se as configurações estão corretas, é hora de fazer um teste “–dry-run” com o certbot, assim:

certbot certonly -d webmail.dominio1.com –email letsencrypt@dominio1.com –agree-tos –webroot –webroot-path /opt/zimbra/data/nginx/letsencrypt/ –dry-run

Você pode esperar uma saída como esta:

Saving debug log to /var/log/letsencrypt/letsencrypt.log<br>
Plugins selected: Authenticator webroot, Installer None<br>
Obtaining a new certificate<br>
Performing the following challenges:<br>
http-01 challenge for webmail.dominio1.com<br>
Using the webroot path /opt/zimbra/data/nginx/letsencrypt for all unmatched domains.<br>
Waiting for verification...<br>
Cleaning up challenges

IMPORTANT NOTES:<br>
- The dry run was successful.<br>
- Your account credentials have been saved in your Certbot<br>
configuration directory at /etc/letsencrypt. You should make a<br>
secure backup of this folder now. This configuration directory will<br>
also contain certificates and private keys obtained by Certbot so<br>
making regular backups of this folder is ideal.

Sucesso!!!!

Gerando o certificado real

Basta executar o mesmo comando acima sem o “–dry-run”

certbot certonly -d webmail.dominio1.com –email letsencrypt@dominio1.com –agree-tos –webroot –webroot-path /opt/zimbra/data/nginx/letsencrypt/

O certificado estará salvo em /etc/letsencrypt/live/webmail.seudominio1.com

Assinando o certificado para poder usá-lo

O certificado gerado pelo Let’s Encrypt precisa ser assinado pela autoridade certificadora (CA) da sua instalação do Zimbra, ou vai dar erro. Em seguida o certificado e a chave precisam ser unidas.

Na sequência abaixo vamos juntar as partes e testar

a) Visando facilitar as linhas de comando, vamos começar entrando no diretório onde o Let’s Encrypt salvou seu certificado. Em nosso caso:

cd /etc/letsencrypt/live/webmail.seudominio1.com

b) Adicione o conteúdo abaixo ao arquivo chamado “chain.pem”, sem deixar linhas em branco.


-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----

c) Teste para saber se o certificado está correto, executando o comando abaixo:

/opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem

d) Junte os arquivos para assinar o certificado, assim:

>cert.bundle ; cat cert.pem chain.pem >> cert.bundle

e) Remova o certificado anterior se ele existir, assim:

rm -f /opt/zimbra/conf/domaincerts/dominio1.crt

f) Copie tudo para um dir em /tmp assim:

mkdir /tmp/letscert
cp privkey.pem cert.pem chain.pem /tmp/letscert
chown zimbra: /tmp/letscert -R

g) Salve o novo certificado, assim:

su zimbra -c”/opt/zimbra/libexec/zmdomaincertmgr savecrt dominio1.com cert.bundle privkey.pem”

h) Instale o certificado, assim:

su zimbra -c”/opt/zimbra/libexec/zmdomaincertmgr deploycrts”

Reiniciando o Zimbra

A parte mais legal deste novo método é que não é preciso parar e reiniciar o Zimbra. Basta fazer um “reload”, que é instantâneo!

su zimbra -c”/opt/zimbra/bin/zmproxyctl reload”

Script!

Script para automatizar isso. Ele recebe o domínio como argumento e eu chamei ele de zm_ssl.sh

Você baixá-lo daqui -> Clique Aqui

Atualizando os certificados

Agora que seu Zimbra não precisa ser parado para criar ou renovar certificados, pode-se rodar o comando “renew” som maiores problemas.

É claro que quando o certificado for renovado, será necessário repetir os procedimentos acima.

Para renovar os certificados execute:

certbot renew

E depois refaça a parte do script que assina, verifica, salva e instala o novo certificado.

Script para isso? em breve…. aqui mesmo…