Esta é uma tradução da página original em Inglês.

Como eu lutei para me graduar sem usar software não livre

Como estudante universitário, lutei durante a pandemia como todo mundo. Muitos morreram em suas famílias ou perderam seus empregos. Enquanto estudante de informática na Universidade de Ciência e Tecnologia AGH em Cracóvia, Polônia, tenho travado outra batalha, aparentemente menos importante, mas que sinto apaixonadamente ser vital para nossas liberdades futuras. Descrevo minha luta a seguir, de forma a encorajar e inspirar outras pessoas.

Plataformas antiéticas

A liberdade do software é uma questão enorme, mas oculta em nosso tempo. As tecnologias de comunicação digital, como a videoconferência, ocuparam o centro das atenções em nossas vidas e, para muitos, seu uso foi um salvador. Eles não percebem o perigo oculto em seu funcionamento: quem controla essa tecnologia controla nossas vidas. Recentemente, vimos o poder da Big Tech para subverter a democracia, controlar o discurso, excluir grupos e invadir nossa privacidade.

Liberdade de software é uma luta para devolver o controle às pessoas. É uma luta contra o software “não livre”, também chamado de software privativo, que impõe danos injustos e invasivos a seus usuários. Em busca de nossa missão libertadora, defensores da liberdade do software como eu insistem em usar software livre.

É especialmente importante divulgar esses ideais às novas gerações. Infelizmente, muitas vezes vemos a tendência oposta. O sistema operacional padrão encontrado na maioria das salas de aula de informática do meu país é privativo do Microsoft Windows, com algumas universidades até mesmo fornecendo licenças aos alunos para ele. Em algum ponto, percebi que essa prática realmente só beneficia o fornecedor do sistema operacional privativo. Da mesma forma aterrorizante é o nível de dependência da organização de curso das soluções não livres Planilhas Google e Formulários Google.

Durante a pandemia, vimos instalações educacionais adotarem rapidamente ferramentas privativas, como Microsoft Teams, Zoom e WhatsApp, pressionadas pela rede que elas geram. Escolas e universidades então tentaram impô-las aos alunos, que posteriormente sofreram a perda de liberdade de usar programas que os usuários não controlam, bem como a falta de segurança e violações de privacidade.

Como me recuso a usar software antiético, a confiança total em plataformas privativas criou um conflito ético. Meu objetivo é concluir meu diploma universitário sem me render aos serviços não livres impostos, convencendo meus professores[2] para me permitir usar apenas substituições de software livre para aplicativos privativos. Não esperava vencer uma luta contra tanto poder, mas agora, por meio de uma ação educada, mas firme, acho que posso ter vencido. Espero que esta história o ajude a resistir também.

Estudo ético

Com o tempo, fiquei cada vez mais determinado a evitar softwares não livres. Entre outros desafios, isso significou obter um ThinkPad com inicialização com Libreboot e mudar para distros GNU/Linux que incluem apenas pacotes livres. Alguém pode perguntar:

Que tal estudos? Você não era obrigado a usar o Windows? Ou MS Office? Ou alguma outra ferramenta privativa?

Na verdade, a maioria das tarefas em sala de aula poderia ser concluída com software livre. Hoje temos o luxo de excelentes sistemas operacionais e ferramentas livres para a maioria das tarefas. As linguagens de programação mais populares têm implementações de software livre. Nas poucas ocasiões em que alguma ferramenta não livre era estritamente necessária, consegui convencer o professor a me deixar fazer uma substituição – por exemplo, para completar os exercícios com um banco de dados PostgreSQL em vez de Oracle – ou fazer a tarefa em uma universidade computador no laboratório. Admito que executar um software não livre em um computador diferente do nosso não resolve totalmente o problema ético. Parecia justo, mas não é algo de que me orgulho.

Também levo a questão do JavaScript (js) no navegador mais a sério agora. O js web é executado em uma área restrita isolada, o que leva muitos a acreditar que é aceitável, embora não seja livre. O isolamento pode de fato resolver os problemas de segurança, mas o verdadeiro problema com programas privativos está em outro lugar, em sua negação de permitir que os usuários tenham o controle. Atualmente, manter a liberdade de software no campo da navegação na web não é fácil. Os sites frequentemente apresentam mau funcionamento quando o js é desabilitado. Tive que pedir a colegas que me ajudassem a inserir dados relacionados ao estudo em uma Planilha Google porque não poderia fazer isso sem o js ativado. Além disso, o código js é usado para implementar a impressão digital do navegador, que é usada para rastrear os usuários.

Persuasão gentil

Sem problemas graves, concluí o quinto semestre dos meus estudos. No início do sexto semestre, a pandemia começou. As universidades fecharam suas instalações físicas, então a maioria dos alunos voltou para casa e os professores começaram a organizar aulas remotas. Sem surpresa, todos eles escolheram plataformas privativas. Cisco Webex, Microsoft Teams, ClickMeeting e Skype eram escolhas populares. Não consegui encontrar um cliente de software livre para nenhum desses. Além disso, sem perceber o problema dos js não livres, os professores esperavam que todos pudessem participar facilmente das sessões de vídeo usando qualquer interface web.

Como lidei com esses requisitos? Eu ia muito educadamente enviando um e-mail para cada professor que anunciasse que algo seria feito usando uma plataforma problemática, explicando a falta de um cliente de software livre adequado. Muitas vezes incluí um link para uma explicação online popular das questões de liberdade de software e universidades, o vídeo “Heróis Fantasiados” criado pela Free Software Foundation (FSF), junto com alguns outros links para programas livres de videoconferência como Jami e Jitsi Meet.

Embora haja muitos problemas de segurança e vigilância documentados nessas plataformas centralizadas, expliquei que, para mim, a liberdade do software era o fator preocupante. Respostas me pedindo para “executar o programa em uma máquina virtual” ou dizendo que “não preciso do código-fonte para usar o serviço” deixou claro que alguns dos meus professores não entendiam, ou entendiam apenas parte das questões. Se eu tivesse estudado outra coisa que não informática, suspeito que a fração daqueles que entenderam o problema seria muito menor.

Perdendo

Havia duas áreas distintas de preocupação. A primeira foi com o acesso e participação no material didático; por exemplo, em uma aula de aprendizado de máquina, encontrei alguém para me transmitir o que o professor havia dito. A segunda foi em torno do registro e da avaliação. Para algumas aulas remotas, a presença não foi verificada. Eu pulei aqueles. Enviar meu dever de casa para o Moodle também não trouxe problemas.

O primeiro problema real surgiu com o curso de Inteligência Artificial (IA). Foi ensinado por rotação. O primeiro professor deu lição de casa exigindo o aplicativo privativo Framsticks, mas me permitiu fazer um exercício de redes neurais. Outro professor concordou que eu poderia usar Webots em vez de Choreographe para um exercício de simulação. Ainda outro pediu que concluíssemos um curso on-line da NVIDIA que exigia js não livres. Esse professor não respondeu ao meu e-mail.

Um dever de casa de Sistemas Distribuídos deveria ser enviado via Webex, mas seu professor concordou em me deixar usar o Jami.

Incerteza e dúvida

Outra questão que surgiu foi a crescente incerteza na ausência de uma política clara. Não saber se a universidade reconheceria meus princípios era uma causa de constante estresse. Apesar da minha pequena vitória inicial, outros cursos rotativos significavam que mais três professores precisariam concordar cada um se eu fosse aprovado, então até junho eu não tinha certeza de que teria sucesso. Em março, as aulas de Programação do Sistema começaram. O professor, que não queria perder tempo conectando-se a uma plataforma livre para avaliar meu dever de casa, me deu pouca esperança, então, novamente, eu viveria na incerteza durante a Páscoa e depois.

Eu acredito que cada classe deve no mínimo ter formas de interoperar com ferramentas livre para que os alunos possam pelo menos ler as tarefas das aulas em plataformas livres e fazer upload de suas respostas a partir delas. A menos que as universidades ofereçam interoperabilidade, a dependência de software privativo custa tempo e dores de cabeça aos alunos e professores. A certa altura, enviei um e-mail para dois professores sobre o uso de plataformas não livres para palestras. Um não respondeu e o outro respondeu rudemente. Eles pareciam não entender, mas suspeito que estivessem evitando qualquer trabalho extra. Isso teve um impacto corrosivo em meu noivado e parei de me preocupar com palestras. Evitar um gerenciador de pacotes específico de um idioma que me colocava em risco por questões de segurança e liberdade me custou um tempo considerável e atrasou meus estudos. O tempo é precioso para todos nós.

Atrito pela liberdade

Embora estressante, até agora as coisas correram bem. Mas depois da Páscoa, um curso de Engenharia de Software apresentou o primeiro grande problema. Este professor primeiro ignorou meus e-mails, mas acabou escrevendo uma longa resposta e ameaçou me reprovar se eu perdesse mais uma reunião. O tom daquele e-mail mostrou grande aborrecimento, talvez raiva. Foi sugerido que eu usasse a ajuda de um colega para participar da reunião. Outro colega e eu nos conectamos por meio do Mumble, por meio do qual o professor também foi intermediado – não foi perfeito, mas funcionou!

As questões de liberdade de software, que são éticas, devem ser separadas de outras preocupações às quais os defensores do código aberto frequentemente dão prioridade. Por exemplo, os defensores do código aberto evitam trazer essas questões importantes de liberdade para a mesa e apenas dizem que o software com o código-fonte disponível publicamente irá alcançar maior qualidade com a ajuda da comunidade. Enquanto isso, nossos oponentes afirmam que o software privativo pode gerar receita maior, permitindo a contratação de mais desenvolvedores para trabalhar em seu aprimoramento.

O exame do curso de Compiladores deveria ser conduzido por meio do Microsoft Teams. Mais uma vez, seguindo meus princípios, pensei que iria falhar. Curiosamente, foi o Teams que falhou. Ele não suportava dezenas de alunos se conectando, então, em vez disso, o exame foi realizado por e-mail. Por outro lado, durante contato com meu orientador de tese em julho, Jami se separou durante a reunião. Nenhum software é perfeito. Mas com o software livre, você pelo menos consegue manter as duas peças quando ele quebrar.

Não são necessariamente os aspectos funcionais do software que criam atrito em torno da falta de liberdade do software. Durante o verão tive que fazer um estágio. Desisti de uma oferta paga depois de saber que o empregador tornaria meu código não livre. Acabei fazendo outro estágio não remunerado.

Então, depois de todas as minhas lutas, finalmente passei o semestre de verão e até tive notas decentes. O que em algum momento parecia quase impossível, agora era uma realidade.

Soluções privativas impostas em todos os níveis

Antes do semestre de inverno, uma lista de plataformas de videoconferência permitidas que cumprem a lei de proteção de dados foi entregue aos professores. Continha Microsoft Teams, Cisco Webex, ClickMeeting e Google Meet. Você certamente verá a ironia aqui!

Um professor concordou em usar o Jitsi Meet para todas as suas aulas e sugeriu que eu pedisse ao conselho estudantil para recomendá-lo ao reitor, mas o conselho nunca respondeu aos meus e-mails. Software de alta qualidade que oferece melhores recursos de proteção de dados foi deliberadamente posto de lado em favor de soluções comerciais não livres no que parece ser um caso de captura corporativa corrupta de uma instituição educacional. O software livre não foi aprovado e o professor continuou se comunicando com outros alunos via Webex.

Equívocos

Como mencionei antes, apesar de serem cientistas da computação altamente qualificados e experientes em informática, muitos acadêmicos demonstraram um entendimento geralmente pobre da política e da ética em torno do software.

O professor que ministrou o seminário afirmou que, como uma plataforma livre também funciona no servidor de outra pessoa, “ela não pode ser mais segura”. Respondi que o Jitsi Meet permite a criação de instâncias independentes, o que elimina a necessidade de contar com uma única empresa. Também observei que a falta de clientes livres é o principal problema com outros serviços. É uma pena que os professores deste nível, que entendem perfeitamente a diferença entre criptografia intermediária e criptografia ponta a ponta, ensinem em suas aulas, mas não a pratiquem em sua profissão diária.

Em outra ocasião, me opus ao uso de uma VM com Windows para um exercício de teste de penetração. O professor observou que ninguém seria um bom testador de penetração se restringido a testar apenas servidores livres. Desisti de responder a ele, mas acho que plataformas privativas devem ser consideradas inseguras por padrão devido, por exemplo, a possíveis backdoors que elas possam ter.

Tendo determinação

Em algum momento, tive uma discussão com meu supervisor, que me deu um ultimato de que eu deveria usar o Microsoft Teams. Eu não concordei e ele deveria informar o reitor sobre desistir de me supervisionar. Talvez o reitor não tenha lido aquele e-mail? Estou apenas adivinhando. De qualquer forma, algumas semanas depois, até peguei emprestado alguns eletrônicos do meu supervisor – quase como se a discussão nunca tivesse acontecido.

Mais tarde, um professor que não concordou em me deixar passar em um curso sem usar o Teams quis me reprovar por minhas “ausências” apesar eu ter enviado meus trabalhos de casa ao longo do semestre. Depois de uma discussão prolongada, me ofereceram a opção de me encontrar online em 8 de janeiro... no Teams! Recusei educadamente de novo e reiterei meus pontos de vista. O professor acabou copiando o reitor associado em um e-mail. Nesse ínterim, o prazo para enviar minha tese para uma defesa de janeiro expirou. Depois de muitos e-mails de lembrete, uma resposta finalmente veio e, por intercessão do reitor, obtive uma nota, passei no meu sétimo semestre e defendi minha tese com sucesso em março.

Conclusões

Olhando para trás, estou orgulhoso de minhas ações. Corri o risco de ser reprovado nos estudos, e acabaria com nota final mais baixa do que se tivesse me submetido ao uso de softwares antiéticos e inseguros. Mas estou contente com isso. Não acho que render-se a plataformas não livres traria quaisquer benefícios de longo prazo – apenas mais concessões.

Podemos ver que algumas pessoas são intolerantes aos princípios de liberdade de software, mas no final eram poucas e a maioria dos funcionários da universidade na AGH foi realmente gentil comigo. Graças a eles, agora tenho uma prova de que é possível estudar, graduar-se… na verdade, para viver sem depender de software privativo. Depois de toda essa experiência difícil, me sinto mais independente do que nunca e até recebi o apreço do conhecido RMS [3]. Espero que minha história ajude mais alunos a chegar onde estou.

A luta para executar apenas programas livres forçou e continua a me forçar a obter novas habilidades. Agora sei o suficiente sobre tecnologias da web para fazer vários sites funcionarem sem JavaScript. Mas o que é melhor em minha experiência é que poderei compartilhar minhas correções com outras pessoas e, eventualmente, tornar um subconjunto da World Wide Web utilizável em liberdade.


[1] Obrigado a Andy Farnell, Andy Oram e Richard Stallman por sua ajuda.

[2] Ao longo deste ensaio, refiro-me a todos os professores universitários em língua vernácula como meus professores, embora apenas alguns usem esse título acadêmico oficial.

[3] Dr. Richard M. Stallman, Fundador da Free Software Foundation e Chefe GNUisance do Projeto GNU.