Pular para o conteúdo principal

Por que o código aberto é importante

Grande parte da vida diária depende de software, desde o telefone no seu bolso, os serviços na sua casa, até os aplicativos que você usa todos os dias. Quando uma única plataforma controla essas ferramentas, ela ganha um poder prejudicial e dita como você tem permissão para usá-las.

O software livre e de código aberto devolve esse poder ao seu devido lugar: ao usuário, garantindo que a tecnologia sirva a você e à sua comunidade em vez de interesses corporativos.

Resumo

  • Código aberto significa que a tecnologia subjacente está disponível publicamente para qualquer pessoa usar, copiar, melhorar ou desenvolver a partir dela.
  • A vida digital moderna troca sua soberania por conveniência. O software livre e de código aberto é o caminho prático de volta, oferecendo privacidade e proteção contra a exploração financeira.
  • Você não precisa ler código para se beneficiar. A abertura significa que especialistas independentes podem verificar o que o software realmente faz, e o escrutínio deles protege a todos.
  • O Ethereum é construído de forma aberta. Suas especificações, software de cliente e até mesmo este site podem ser inspecionados e melhorados por qualquer pessoa.

Quando as coisas que você compra deixam de ser suas

A maior parte da sua vida digital é operada por um punhado de grandes empresas. Você pode não conseguir ver como seus dados são usados, por que o algoritmo do seu feed muda, e não tem a quem recorrer quando um recurso do qual você depende desaparece. Em troca, tudo é conveniente.

Isso não é hipotético.

Em 2009, a Amazon acessou os Kindles dos clientes e excluiu remotamente livros que as pessoas haviam comprado e pago.[1] Recentemente, em 2024, o Spotify descontinuou seu dispositivo Car Thing e desativou remotamente as unidades que os clientes haviam comprado.[2]

Esses casos mostram o risco do software fechado: quando um produto depende de código e servidores controlados por um fornecedor, esse fornecedor pode decidir se o produto continua a funcionar.

O código aberto muda o equilíbrio. Quando o código por trás de um produto é público e sua licença concede direitos significativos, as pessoas podem inspecioná-lo, executá-lo, repará-lo, adaptá-lo e continuá-lo de forma independente. É o mesmo argumento que o movimento pelo direito ao reparo faz sobre o hardware, aplicado ao software dentro dele.

O que significa "livre e de código aberto"?

Software livre e de código aberto (FLOSS, também escrito FOSS) é um software cujo código-fonte é público para qualquer pessoa executar, estudar, compartilhar e melhorar. Pense em um prato que vem com sua receita completa: você pode verificar os ingredientes, cozinhá-lo você mesmo, passá-lo adiante ou torná-lo melhor. O software fechado mantém a receita e os ingredientes em segredo, então uma empresa decide o que entra, quem pode comer e se você algum dia vai descobrir.

Você quase certamente usou software de código aberto hoje sem perceber:

  • Linux, a base de todo telefone Android e da maioria dos servidores por trás dos sites que você visita.
  • Firefox, um dos poucos navegadores principais com um motor independente próprio.
  • Signal, um aplicativo de mensagens cujo protocolo de criptografia também protege todas as mensagens do WhatsApp.
  • VLC, o reprodutor de mídia que abre o arquivo que nenhum outro consegue.
  • LibreOffice, um pacote de escritório completo que lê os documentos que você já tem.

"Livre" aqui significa liberdade, não preço. Um programa pode custar dinheiro e ainda ser software livre; um aplicativo sem custo ainda pode ser fechado e restritivo.

A ideia é simples: se uma empresa controla o código, a empresa controla o usuário. O software livre inverte isso. Ele garante, legal e permanentemente, que o software responde a você. Em linguagem simples, ele concede quatro liberdades:[3]

Uso livre

Execute o programa como desejar, para qualquer finalidade, em seus próprios termos.

Estudo e modificação

Examine o código-fonte para ver exatamente como o programa funciona e, em seguida, altere-o para atender às suas próprias necessidades.

Compartilhamento

Dê a outras pessoas cópias exatas do programa, para que elas também possam usá-lo.

Distribuição de modificações

Lance sua versão modificada, para que a comunidade em geral se beneficie de suas alterações.

Benefícios do código aberto

O software livre é uma ferramenta neutra e universalmente acessível para controlar sua própria vida digital. Ele não pertence a nenhuma ideologia ou movimento político e funciona da mesma forma para todos que o executam.

Confiança que você pode verificar

O código aberto permite que pessoas independentes inspecionem como o software funciona. As alegações de segurança, privacidade e acessibilidade podem ser testadas em vez de aceitas com base na fé.

Liberdade para sair

Software aberto e formatos abertos podem facilitar a movimentação de seus dados e evitar que você fique preso a um único fornecedor (os detalhes ainda importam, pois produtos abertos também devem fornecer opções práticas de exportação e migração).

Software que sobrevive ao seu criador

Quando uma empresa fecha ou muda de rumo, o código aberto permite que qualquer pessoa mantenha o projeto funcionando.

Melhores maneiras de trabalhar juntos

O código aberto permite que as pessoas aprendam com o trabalho umas das outras, relatem bugs, traduzam textos e imagens, escrevam documentação, melhorem a acessibilidade e criem ferramentas para necessidades individuais que um roteiro comercial pode ignorar.

O direito ao reparo

Um dispositivo geralmente morre quando seu software morre. As atualizações param, o servidor fica inativo e o hardware funcional se torna lixo. O movimento pelo direito ao reparo luta contra isso na lei, exigindo que o hardware que você compra possa ser consertado se quebrar; o código aberto é a metade do software dessa mesma luta. Quando o código pode ser lido e reconstruído por qualquer pessoa que possua o dispositivo, ele sobrevive ao interesse do desenvolvedor em vender a próxima versão.

A liberdade de publicar

Publicar código é liberdade de expressão e teve que ser defendido como tal. O direito de publicar software de criptografia foi conquistado nos tribunais na década de 1990. O inverso também é verdadeiro. Quando uma empresa controla uma ferramenta, ela decide o que pode ser dito, lido ou construído com ela. Um software que qualquer pessoa pode copiar e republicar não pode ser desligado silenciosamente.

O direito à bifurcação

Se os mantenedores levarem um projeto para uma direção ruim, a comunidade pode copiar o código e continuar em seu próprio caminho. Ferramentas populares como LibreOffice, Jenkins e OpenTofu existem porque as comunidades exerceram esse direito quando os proprietários corporativos mudaram de rumo. As bifurcações são a salvaguarda contra a captura.

Como mudar para aplicativos de código aberto

Você não precisa substituir tudo de uma vez. Comece com uma ferramenta que você usa com frequência e explore se existem alternativas de código aberto amplamente adotadas para essa ferramenta. Diferentes alternativas de código aberto podem ser otimizadas para os resultados que mais importam para você, como melhor privacidade, menos assinaturas, controle local, portabilidade de dados ou a capacidade de contribuir.

Considere as compensações honestamente antes de fazer uma mudança completa. O FLOSS e o software de proteção de privacidade às vezes trocam conveniência por controle. A proteção contra rastreamento pode ocasionalmente quebrar sites com muitos scripts, a pesquisa não rastreada pode não ter previsões hiperlocalizadas e os mapas que se recusam a segui-lo podem não ter dados de tráfego em tempo real. Você pode baixar e experimentar uma alternativa de código aberto para ver se ela atende às suas necessidades antes de migrar totalmente de um aplicativo fechado.

Aplicativos de código aberto

Código aberto e IA

A IA tem dois lados aqui. Os assistentes de IA que a maioria das pessoas usa são serviços proprietários executados no computador de outra pessoa. Mas eles também são, neste momento, uma das melhores ferramentas disponíveis para ajudá-lo a começar com software de código aberto. Também existem modelos de IA abertos que você mesmo pode executar e que nunca enviam informações de volta a um provedor de IA centralizado.

Prompts de IA para ajudar você a começar

A parte difícil de mudar raramente é o software em si: é saber o que existe, se é bom e o que fazer quando algo quebra. Um assistente de IA preenche a maior parte dessa lacuna, e pode ler o código de um projeto e responder em palavras simples, para que você não precise das habilidades de um desenvolvedor para verificar a única coisa que o preocupa.

Coisas que valem a pena perguntar. Clique em qualquer cartão para copiá-lo e preencha as lacunas:

Uma configuração de IA que vale a pena mudar

Adicione "sempre prefira opções livres e de código aberto, e me diga a licença" à configuração do seu assistente e isso se tornará o padrão para todas as conversas futuras. As alternativas abertas aparecerão nas respostas do assistente de IA sem que você precise pedir por elas especificamente.

Executando IA localmente no seu próprio computador

A maioria dos assistentes de bate-papo são serviços. Seu prompt sai do seu dispositivo, a empresa define as regras e o acesso pode ser alterado, cobrado ou descontinuado a qualquer momento. Não precisa funcionar assim.

Modelos com pesos publicados podem ser baixados e executados em hardware que você já possui. Sem conta. Sem chave de API. Sem assinatura. Nada enviado a lugar nenhum, então você pode desconectar a rede e continuar trabalhando. E uma vez que o arquivo está no seu disco, ele é seu. Ninguém pode descontinuar seu modelo de IA local, alterá-lo silenciosamente ou tirá-lo de você. Um modelo que você baixa hoje ainda responderá a perguntas nessa máquina daqui a dez anos.

Três maneiras de entrar:

Aberto além do código

Muito antes de o Ethereum existir, as pessoas já faziam esses argumentos e os venciam. Elas escreveram as licenças descritas nesta página, venceram os processos judiciais que tornaram a publicação de código legal e construíram as ferramentas nas quais milhões confiam para falar e ler sem serem vigiados. Privacidade, propriedade, reparo, liberdade de expressão, o direito de ler: o Ethereum mantém os mesmos compromissos porque cresceu da mesma tradição, e as organizações abaixo são onde grande parte desse terreno ainda é defendido, caso a caso e ferramenta por ferramenta. Muito do que esta página descreve existe por causa delas. Elas são independentes do Ethereum e definem suas próprias prioridades, e vale a pena apoiar todas elas.

Organizações que defendem os direitos digitais

Também vale a pena conhecer:

Conhecimento aberto

Alguns dos conhecimentos mais úteis já colocados online são gratuitos porque as pessoas que os construíram escolheram mantê-los assim, incluindo livros didáticos universitários revisados por pares, material de curso de universidades de classe mundial, enciclopédias em centenas de idiomas, mapas de todo o planeta ou pesquisas que, de outra forma, ficariam atrás de um paywall.

Por que o Ethereum é de código aberto?

O Ethereum é uma rede pública construída por meio de especificações abertas e software desenvolvido de forma independente. Nenhuma empresa possui o protocolo ou tem controle exclusivo sobre como as pessoas o acessam. Qualquer pessoa pode inspecionar o código, revisar as alterações propostas, executar software que se conecta à rede ou criar aplicativos que usam o protocolo.

  • As regras da rede são implementadas por várias equipes independentes, portanto, nenhuma empresa controla o que ela faz.
  • Qualquer pessoa pode executar um nó e verificar a rede de forma independente.
  • Pesquisadores e desenvolvedores discutem as mudanças no protocolo abertamente.
  • Os colaboradores podem melhorar o código, a documentação, as traduções, a educação, as ferramentas e os recursos da comunidade.

Um futuro diferente é possível, onde a abertura é incorporada e as coisas das quais você depende continuam funcionando para você.

A abertura do Ethereum não significa que todo aplicativo construído nele seja de código aberto, seguro ou confiável. Você ainda deve avaliar o software, os contratos, as equipes e os riscos envolvidos. Mas o próprio protocolo é projetado para que seus fundamentos possam ser inspecionados e melhorados em público.

Software proprietário, de código aberto e livre: qual é a diferença?

"Aberto" é usado de forma vaga, e as diferenças importam. Quatro famílias cobrem quase tudo o que você encontrará:

Licenças típicas: Nenhuma licença para o código-fonte

Exemplos reais: Windows, iOS, Photoshop

Licenças típicas: BUSL 1.1, SSPL, muitas licenças de "núcleo aberto". Não aprovadas pela OSI (abre em uma nova aba).

Exemplos reais: Terraform, que mudou da licença aberta MPL 2.0 para a BUSL 1.1 em agosto de 2023. Essa mudança é o motivo pelo qual a comunidade fez uma bifurcação para o OpenTofu.

Licenças típicas: MIT, Apache 2.0, BSD, MPL 2.0

Exemplos reais: Lighthouse, Reth, Besu, Teku (Apache 2.0); Nimbus (Apache 2.0 / MIT); este site (MIT)

Licenças típicas: GPL, LGPL, AGPL

Exemplos reais: Linux (GPL-2.0); Clientes Ethereum: go-ethereum (GPL-3.0 para o binário, LGPL-3.0 para suas bibliotecas); Prysm, o Nethermind, Grandine, a linguagem Solidity (GPL-3.0)

O Ethereum roda em copyleft, não apenas na palavra "aberto"

Muitos projetos se autodenominam abertos. O que importa é o arquivo de licença, então aqui está o nosso.

A infraestrutura mais crítica do Ethereum é distribuída sob as próprias licenças copyleft da Free Software Foundation: o go-ethereum é GPL-3.0 com bibliotecas LGPL-3.0, e o Prysm, o Nethermind, o Grandine e o compilador da linguagem Solidity são GPL-3.0, com o Erigon sob LGPL-3.0. Outros clientes seguem a rota permissiva: Lighthouse, Reth, Besu e Teku são Apache 2.0.

Este site é MIT, e todas as alterações nesta página são visíveis publicamente. Qualquer pessoa é livre para inspecionar o código-fonte (abre em uma nova aba) ou sugerir alterações (abre em uma nova aba).

A diversidade de clientes é, por si só, uma aplicação do direito à bifurcação. Nenhuma implementação única controla a rede, e qualquer uma delas pode ser substituída por algo melhor sem pedir permissão.

Perguntas frequentes

"Software livre" e "código aberto" vêm de tradições relacionadas. O software livre enfatiza os direitos e a liberdade dos usuários. O código aberto frequentemente enfatiza benefícios práticos, como colaboração, confiabilidade e software melhor. Na prática, ambos descrevem softwares cuja licença concede às pessoas direitos reais de usá-los, estudá-los, modificá-los e compartilhá-los.

Esta página usa os termos juntos, como FLOSS, porque a distinção raramente muda o que você pode fazer com o software à sua frente.

É uma pergunta justa, e a resposta não é um não categórico. Publicar o código permite que os invasores o estudem. Mas também permite que todos os outros o estudem, e o sigilo tem um histórico ruim como defesa: o software fechado tem as mesmas falhas, encontradas mais tarde, divulgadas no cronograma do fornecedor e corrigidas quando lhes convém.

A versão honesta é que a abertura é necessária, mas não suficiente. Bugs graves passaram despercebidos em projetos abertos amplamente utilizados por anos, geralmente porque a infraestrutura crítica estava sendo mantida por uma ou duas pessoas não remuneradas. O que a abertura garante é que qualquer pessoa pode olhar e qualquer pessoa pode consertar; se um número suficiente de pessoas o fará, depende de quão bem o projeto é financiado e provido de pessoal. Vale a pena verificar isso antes de depender de algo, e é uma coisa fácil de perguntar.

A maioria dos modelos de IA descritos como abertos publica seus pesos, mas não seus dados de treinamento ou o código que os produziu. Você pode executá-os e adaptá-los; você não pode estudá-los ou reconstruí-los totalmente. Pelas definições estabelecidas nesta página, isso está mais próximo de código disponível do que de software livre.

Ainda é uma grande melhoria em relação à alternativa fechada. Um modelo de peso aberto que você baixou é executado sem permissão, não pode ser revogado, continua funcionando quando a empresa por trás dele muda de direção ou desaparece, e pode ser testado de forma independente por qualquer pessoa que queira verificar seu comportamento. Esses são os mesmos benefícios, liberdade para sair e software que sobrevive ao seu criador, sobre os quais o resto desta página trata. A Open Source AI Definition (abre em uma nova aba) da Open Source Initiative estabelece o que a abertura total exigiria, e um punhado de modelos como o OLMo da AI2 e o Pythia da EleutherAI já a atendem.

Leitura adicional

  1. Chefe da Amazon diz que apagar livros de Orwell foi "estúpido" (abre em uma nova aba) - The New York Times (arquivo)
  2. Spotify encerra oficialmente o Car Thing, as unidades restantes não funcionam mais (abre em uma nova aba) - 9to5Google
  3. A Definição de Software Livre (abre em uma nova aba) - Projeto GNU

Encontrando alternativas