Linux · Capítulo 2

Linux Essentials: a comunidade Linux e o open source

A origem do Linux, distribuições e sistemas embarcados, aplicativos livres, as quatro liberdades, licenças e como se trabalha com open source.

Este capítulo corresponde ao tema 1 do exame Linux Essentials (veja o capítulo anterior). É o mais teórico: de onde vem o Linux, como seu ecossistema se organiza e o que significa realmente um programa ser livre.

O nascimento do Linux

Em 1991, Linus Torvalds, então estudante na Finlândia, anunciou um kernel de sistema operacional inspirado no Unix que havia começado como projeto pessoal. Publicou-o com o código-fonte e, em 1992, sob a licença GPL. A versão 1.0 chegou em 1994.

Esse kernel foi combinado com as ferramentas do projeto GNU (compilador, shell, utilitários), que a Free Software Foundation desenvolvia desde 1983. Por isso muitos falam em GNU/Linux: o Linux é o kernel e o GNU fornece boa parte do resto do sistema.

Distribuições

Uma distribuição (ou distro) é um sistema operacional completo formado pelo kernel Linux, pelas ferramentas GNU e por uma seleção de programas, mantido por uma empresa ou uma comunidade. Cada uma decide quais softwares inclui, como são instalados e com que frequência é atualizada.

As principais famílias de distribuições Linux

Família Pacotes Ferramentas Exemplos
Debian .deb apt, apt-get, dpkg Debian, Ubuntu, Linux Mint, Kali, MX Linux, Raspberry Pi OS
Red Hat .rpm dnf, yum, rpm Red Hat Enterprise Linux, Fedora, CentOS Stream, Rocky Linux, AlmaLinux
SUSE .rpm zypper openSUSE, SUSE Linux Enterprise
Arch .pkg.tar.zst pacman Arch Linux, Manjaro

Algumas distribuições oferecem versões LTS (Long Term Support), com anos de atualizações de segurança: são as preferidas para servidores.

Sistemas embarcados e Linux na nuvem

Como o kernel é modular e sua licença permite adaptá-lo, o Linux é usado para construir sistemas sob medida para um hardware específico, os sistemas embarcados:

  • O Android é baseado no kernel Linux e hoje roda em celulares, TVs, carros e relógios.
  • O Raspberry Pi OS (antes Raspbian) é uma distribuição baseada no Debian para as placas Raspberry Pi, muito usada em automação residencial, IoT e pequenos servidores.
  • Roteadores, câmeras e eletrodomésticos inteligentes costumam ter Linux por dentro.

Na nuvem, a maioria das máquinas virtuais da AWS, do Google Cloud e do Azure roda Linux, e os provedores mantêm suas próprias distribuições otimizadas. O Linux também é a base da virtualização (KVM, Xen) e dos contêineres (LXC, Docker), que compartilham o kernel do host e aproveitam muito melhor os recursos.

Pacotes e código-fonte

Há duas formas de instalar software no Linux:

  1. A partir do código-fonte: você baixa o código e o compila. A sequência clássica é ./configure, make e make install.
  2. A partir de pacotes: o programa já vem compilado para a sua arquitetura (x86-64, ARM...) e o gerenciador de pacotes o instala com suas dependências.

Os pacotes são baixados de repositórios: servidores mantidos por cada distribuição, com software revisado e assinado.

# Debian / Ubuntu
sudo apt update
sudo apt install vlc

# Fedora / RHEL
sudo dnf install vlc

# Compilar a partir do código-fonte
./configure
make
sudo make install

Aplicativos livres mais usados

Uso Aplicativos
Escritório LibreOffice (Writer, Calc, Impress, Base), herdeiro do OpenOffice.org
Multimídia e design GIMP, Inkscape, Audacity, Blender, VLC, ImageMagick
Internet Firefox, Chromium, Thunderbird, FileZilla, Transmission
Servidores web Apache HTTP Server, NGINX, Lighttpd
Bancos de dados MySQL, MariaDB (derivado do MySQL), PostgreSQL
Arquivos e nuvem privada Samba, NFS, Nextcloud, ownCloud
Linguagens C/C++, Java, JavaScript, Python, PHP, Perl, shell

Software livre e open source

As quatro liberdades

A Free Software Foundation (FSF) define o software livre com quatro liberdades:

Liberdade O que permite
0 Executar o programa para qualquer propósito.
1 Estudar como ele funciona e modificá-lo (requer acesso ao código-fonte).
2 Redistribuir cópias.
3 Distribuir cópias modificadas, para que outros se beneficiem das melhorias.

Em inglês, free significa "livre" e também "grátis". Software livre não é questão de preço, e sim de liberdade.

Open source, FOSS e FLOSS

  • Open source é o termo promovido pela Open Source Initiative (OSI). Sua Open Source Definition exige, entre outras coisas, acesso ao código, livre redistribuição e permissão para criar obras derivadas. A OSI revisa e aprova as licenças que a cumprem.
  • Na prática, quase todas as licenças livres também são open source. A diferença é sobretudo de enfoque: a FSF enfatiza a liberdade do usuário; a OSI, as vantagens práticas do modelo aberto.
  • Atenção: poder ver o código não basta. Um programa com o código publicado, mas sem permissão para modificá-lo ou redistribuí-lo, é source available, não open source.
  • FOSS (Free and Open Source Software) e FLOSS (Free/Libre and Open Source Software) agrupam os dois termos. O L de "Libre" deixa claro que free se refere à liberdade.

Copyleft e licenças permissivas

Do copyleft forte às licenças permissivas

  • Copyleft: você pode usar, modificar e redistribuir, mas se distribuir uma versão modificada precisa fazê-lo com a mesma licença, mantendo as quatro liberdades. O exemplo clássico é a GPL da FSF, a licença do kernel Linux.
  • Permissivas: permitem quase tudo, inclusive incluir o código em um produto fechado, desde que se mantenham o aviso de copyright e a isenção de responsabilidade. Exemplos: BSD, MIT e Apache 2.0. O código original continua livre; o que pode ser fechado é a obra derivada.

Licenças Creative Commons

As licenças Creative Commons foram pensadas para textos, imagens, músicas e outras obras, não para software. Elas se constroem combinando condições:

Licença Condições
CC BY Qualquer uso, citando o autor.
CC BY-SA Igual, e as obras derivadas devem ser compartilhadas com a mesma licença.
CC BY-ND Pode ser redistribuída, mas não modificada.
CC BY-NC Como CC BY, sem fins comerciais.
CC BY-NC-SA Sem fins comerciais e compartilhando igual.
CC BY-NC-ND Sem fins comerciais e sem modificações.
CC0 Renúncia a todos os direitos: equivale ao domínio público.

Como se ganha a vida com open source

  • Suporte, instalação e personalização para empresas.
  • Trabalhar em empresas que usam ou desenvolvem software livre.
  • Assinaturas com suporte e atualizações certificadas (o modelo da Red Hat ou da SUSE).
  • Licença dupla ou modelo open core: uma versão livre e outra comercial com recursos extras.
  • Software como serviço na nuvem, baseado em software livre.
  • Doações e financiamento coletivo (crowdfunding).

O desktop e o terminal

O Linux separa o sistema do ambiente gráfico, então você pode escolher o desktop:

Desktop Biblioteca Linguagem Perfil
GNOME GTK C Simples e moderno, padrão no Ubuntu e no Fedora
KDE Plasma Qt C++ Muito configurável
Xfce, LXQt, MATE, Cinnamon Várias Várias Leves ou tradicionais

Para trabalhar com comandos usa-se um emulador de terminal (GNOME Terminal, Konsole, xterm, Terminator...). Também é possível mudar para um console de texto com Ctrl + Alt + F1...F6; a combinação exata para voltar ao desktop depende da distribuição.

Privacidade, senhas e criptografia

  • Os cookies identificam o navegador e permitem acompanhar a atividade entre sites. Você pode apagá-los, bloquear os de terceiros ou usar o modo privado, que não guarda histórico local mas não torna você anônimo na rede.
  • Use senhas longas e únicas para cada serviço (de preferência uma frase com várias palavras) e ative a verificação em duas etapas. Um gerenciador de senhas como o KeePassXC ou o Bitwarden as gera e guarda para você.
  • Criptografar é transformar uma mensagem para que só quem tem a chave possa lê-la:
  • TLS (sucessor do SSL) protege as conexões web (HTTPS).
  • GnuPG assina e criptografa e-mails, arquivos e textos.
  • VeraCrypt cria volumes criptografados.
  • LUKS / dm-crypt criptografam discos inteiros no Linux.

Ideias-chave

  • O Linux é o kernel (1991, Linus Torvalds, licença GPL); com o GNU forma um sistema completo.
  • Uma distribuição reúne kernel, ferramentas e programas; as famílias principais são Debian (.deb, apt) e Red Hat (.rpm, dnf).
  • O Linux domina os sistemas embarcados (Android, Raspberry Pi), a nuvem e os contêineres.
  • Software livre = as quatro liberdades; free fala de liberdade, não de preço.
  • O copyleft (GPL) obriga a manter a licença; as permissivas (BSD, MIT, Apache) permitem derivados fechados.
  • Creative Commons é para obras, não para software.

No próximo capítulo: os primeiros passos na linha de comando.