Software de código aberto explicado: por que o código-fonte é mais importante do que você pensa

8

A maioria dos softwares que você baixa é uma caixa preta. Ele chega pré-compilado, despojado de sua lógica subjacente e selado atrás de um acesso pago. Você não pode ajustá-lo. Você não consegue ver como funciona. Apenas funciona.

O software de código aberto inverte totalmente esse modelo. Dá-lhe as chaves do motor.

A diferença entre código compilado e código-fonte

Quando os desenvolvedores escrevem um aplicativo, eles usam uma linguagem legível chamada código-fonte. Um compilador então traduz esse código em linguagem de máquina – os zeros e uns binários que seu computador realmente executa. Este produto final é a versão compilada.

Para software comercial, esta compilação é um recurso, não um bug. Esconde a propriedade intelectual do desenvolvedor. Os concorrentes não conseguem copiar facilmente a lógica. Os usuários não conseguem corrigir facilmente bugs profundos no kernel.

O software de código aberto inclui a versão compilada e o código-fonte. O objetivo não é apenas transparência. É modificação.

“Ao permitir que qualquer pessoa interessada modifique o código-fonte, o aplicativo será mais útil e livre de erros no longo prazo.”

O que realmente define o software de código aberto?

Nem todo programa gratuito é de código aberto. A indústria tem critérios rígidos. Para ganhar o rótulo, o software deve atender a padrões legais e técnicos específicos.

  • Distribuição Gratuita: O software pode ser compartilhado livremente. Pode até fazer parte de um pacote vendido.
  • Inclusão do código-fonte: O código bruto deve estar acessível.
  • Direitos de Modificação: Qualquer pessoa pode alterar o código.
  • Redistribuição de versões modificadas: Você pode compartilhar seus ajustes com outras pessoas.
  • Licença Não Discriminatória: A licença não pode restringir o uso com outro software ou interferir em outros programas.

Essas regras garantem que abertura não seja apenas uma palavra da moda de marketing. É um padrão aplicável.

Linux: a história de sucesso do código aberto

O exemplo mais claro desse modelo em ação é o Linux.

Em 1991, Linus Torvalds, estudante da Universidade de Helsinque, começou a trabalhar em um novo sistema operacional. Ele baseou-o no Minix, um derivado do Unix. Ele lançou a versão 0.02 sob a GNU General Public License. Esta licença fornece a estrutura legal para software de código aberto.

As pessoas baixaram o código. Os programadores o modificaram. Torvalds recebeu esses patches nos três anos seguintes. Ele os incorporou à linha de base. O Linux 1.0 chegou em 1994.

Este não foi um esforço solitário. Era um modelo de desenvolvimento distribuído. O código melhorou porque milhares de olhos estavam voltados para ele.

A lacuna de suporte e o modelo de negócios

É aqui que as coisas ficam complicadas para os usuários comuns.

O software de código aberto normalmente não vem com garantia. Sem suporte técnico. Se quebrar, você está sozinho. A licença incentiva a personalização, o que torna quase impossível a padronização do suporte.

Então, quem conserta isso?

Red Hat Software resolveu esse problema. Fundada em 1994, a Red Hat empacotou o Linux como “Red Hat Linux Oficial”. Eles não eram donos do código. Eles eram donos do serviço.

Eles adicionaram uma garantia. Eles forneceram suporte técnico.

Para as empresas, essa garantia é o fator decisivo. Muitas empresas preferem comprar Linux compatível a baixar cópias gratuitas. Eles pagam pela estabilidade, não pelo código em si. Outras empresas seguiram o exemplo, empacotando o Linux com ferramentas adicionais para revenda.

Além do Linux: outros itens básicos de código aberto

Linux não é o único jogo da cidade. Várias tecnologias fundamentais que alimentam a Internet baseiam-se em princípios de código aberto.

  • Mozilla: O mecanismo principal por trás do navegador Netscape.
  • Apache: O servidor web que alimenta uma grande parte da Internet.
  • PERL: Uma linguagem de script para desenvolvimento web.
  • PNG: Um formato de arquivo gráfico projetado para compactação sem perdas.

Essas ferramentas são de uso gratuito. Eles são livres para modificar. Eles moldam a forma como interagimos com a web todos os dias.

Por que isso é importante para você?

Você pode pensar que o código aberto afeta apenas os desenvolvedores. Isso não acontece.

Quando você usa um dispositivo baseado em Linux. Quando você visita um site hospedado no Apache. Quando você usa um navegador desenvolvido no Gecko. Você está usando um software que teoricamente poderia auditar. Você está usando um software que não poderia ser bloqueado por uma única empresa.

A barreira de entrada é maior. Você precisa saber como instalá-lo. Você precisa saber onde encontrar suporte. Mas a compensação é o controle.

A Internet funciona com esses protocolos. O futuro do software depende de mantermos as portas abertas.