Este ano, o kernel do Linux faz 27 anos. O SO baseado nele é
usado por muitas empresas, governo, instituições de pesquisa e
data centers em todo o mundo.
Por mais de um quarto de século, muitos artigos foram publicados (inclusive no Habré), contando sobre diferentes segmentos da história do Linux. Nesta série de materiais, decidimos destacar os fatos mais significativos e interessantes relacionados a esse sistema operacional.
Vamos começar com o desenvolvimento que precedeu o Linux e o histórico da primeira versão do kernel.
/ Flickr / Toshiyuki IMAI / CC BY-SAA era do "mercado livre"
O advento do Linux
é considerado um dos eventos mais importantes na história do software de código aberto. O nascimento desse sistema operacional se deve em grande parte às idéias e ferramentas que foram formadas e amadurecidas por décadas entre os desenvolvedores. Portanto, para começar, voltemos às origens do “movimento de código aberto”.
No início dos anos 50, a maior parte do software nos Estados Unidos foi criada por funcionários de universidades e laboratórios e
distribuída sem restrições. Isso foi feito para facilitar o intercâmbio de conhecimentos na comunidade científica. A primeira solução de código aberto desse período
é o sistema A-2, desenvolvido para o computador UNIVAC Remington Rand em 1953.
Nos mesmos anos, o primeiro grupo de desenvolvedores de software livre, SHARE, foi formado. Eles trabalharam no modelo de "produção
conjunta ponto a ponto ". O resultado do trabalho desse grupo no final dos anos 50
foi o SO com o mesmo nome.
Esse sistema (e outros produtos SHARE)
era popular entre os fabricantes de hardware de computador. Graças à política de abertura, eles poderiam oferecer aos clientes não apenas hardware, mas também software sem custo adicional.
Vinda e nascimento do Unix
Em 1959, a Applied Data Research (ADR) recebeu um pedido da RCA para
escrever um programa para o preenchimento automático de fluxogramas. Os desenvolvedores fizeram o trabalho, mas não concordaram com a RCA no preço. Para não "jogar fora" o produto acabado, a ADR redesenhou a solução para a plataforma IBM 1401 e começou a implementá-la independentemente. No entanto, as vendas não foram muito boas, pois muitos usuários aguardavam uma alternativa gratuita à solução ADR planejada na IBM.
O ADR não pôde permitir o lançamento de um produto gratuito com funcionalidade semelhante. Portanto, o desenvolvedor Martin Goetz, da ADR, registrou uma patente para o programa e, em 1968, foi o primeiro na história dos EUA a
recebê- lo. A partir deste momento,
é costume contar a era da comercialização na indústria de desenvolvimento - de um “bônus” a um equipamento de software que se transformou em um produto independente.
Na mesma época, uma pequena equipe de programadores da Bell Labs começou a trabalhar no sistema operacional do mini-computador PDP-7, Unix. O Unix foi criado como uma alternativa para outro SO - Multics.
O último era muito complexo e funcionava apenas nas plataformas GE-600 e Honeywell 6000. O Unix reescrito no SI era portátil e fácil de usar (em grande parte graças a um sistema de arquivos hierárquico com um único diretório raiz).
Na década de 1950, a AT&T Holding, que na época incluía o Bell Labs,
assinou um acordo com o governo dos EUA proibindo as empresas de vender software. Por esse motivo, os primeiros usuários do Unix - organizações científicas -
receberam o código-fonte
do SO gratuitamente.
A AT&T se afastou do conceito de distribuição de software livre no início dos anos 80. Como resultado da divisão
forçada da corporação em várias empresas, a proibição da venda de software deixou de ser aplicada e a holding parou de distribuir o Unix gratuitamente. Os desenvolvedores foram ameaçados com ações judiciais por troca não autorizada de código-fonte. As ameaças não eram infundadas - desde 1980, os programas de computador tornaram-se objeto de direitos autorais nos Estados Unidos.
Nem todos os desenvolvedores ficaram satisfeitos com as condições ditadas pela AT&T. A busca por uma solução alternativa levou um grupo de entusiastas da Universidade da Califórnia em Berkeley. Nos anos 70, a escola recebeu uma licença da AT&T e os entusiastas começaram a criar uma nova distribuição baseada nela, que mais tarde se tornou a Unix Berkeley Software Distribution, ou BSD.
O sistema aberto tipo Unix foi um sucesso, que a AT&T notou imediatamente. A empresa
processou , e os autores do BSD tiveram que remover e substituir todo o código-fonte Unix envolvido. Isso desacelerou a distribuição do Berkeley Software Distribution naqueles anos. A versão mais recente do sistema foi lançada em 1994, mas a própria aparência de um sistema operacional livre e aberto foi um marco importante na história dos projetos de código aberto.
/ Flickr / Christopher Michel / CC BY / Foto cortadaDe volta às raízes do software livre
No final dos anos 70, funcionários do Instituto de Tecnologia de Massachusetts
escreveram um driver para uma impressora instalada em uma das salas de aula. Quando atolamentos de papel e filas de trabalhos de impressão foram criados, os usuários receberam uma notificação solicitando a correção do problema. Mais tarde, uma nova impressora apareceu no departamento, para a qual os funcionários queriam adicionar essa função. Mas, para isso, era necessário o código fonte do primeiro driver. O programador da equipe, Richard Matthew Stallman, solicitou a seus colegas, mas foi recusado - descobriu-se que eram informações confidenciais.
Esse pequeno episódio pode ter se tornado um dos eventos cruciais na história do software livre. Stallman ficou indignado com o estado atual das coisas. Ele não estava satisfeito com as restrições impostas à troca de código-fonte no ambiente de TI. Portanto, Stallman decidiu criar um sistema operacional aberto e permitir que entusiastas fizessem alterações livremente.
Em setembro de 1983, ele anunciou a criação do projeto GNU - o GNU Not UNIX (GNU Not Unix). Foi baseado no manifesto, que serviu de base para a licença de software livre - a GNU General Public License (GPL). Esta etapa foi o início de um movimento ativo para o software de código aberto.
Alguns anos depois, Andrew S. Tanenbaum, professor da Universidade Livre de Amsterdã, desenvolveu o sistema Minix, semelhante ao Unix, como uma ferramenta de ensino. Ele queria torná-lo o mais acessível possível para os alunos. O editor de seu livro, ao qual o sistema operacional estava anexado,
insistia em pelo menos uma taxa nominal para trabalhar com o sistema. Andrew e o editor comprometem-se com uma licença de US $ 69. No início dos anos 90, o Minix
ganhou popularidade entre os desenvolvedores. E ela estava destinada a
se tornar a base para o desenvolvimento do Linux.
/ Flickr / Christopher Michel / CC BYO nascimento do Linux e as primeiras distribuições
Em 1991, Linus Torvalds, um jovem programador da Universidade de Helsinque, domina o Minix. Suas experiências com o sistema operacional
cresceram em um núcleo completamente novo. Em 25 de agosto, Linus organizou uma pesquisa aberta com um grupo de usuários do Minix que eles não estavam satisfeitos com este sistema operacional e anunciou o desenvolvimento de um novo sistema operacional. Na carta de agosto, há vários pontos importantes sobre o futuro sistema operacional:
- o sistema estará livre;
- o sistema será semelhante ao Minix, mas o código fonte será completamente diferente;
- o sistema não será "grande e profissional como o GNU".
25 de agosto é considerado aniversário do Linux. O próprio Linus
conta de outra data - 17 de setembro. Foi nesse dia que ele enviou a primeira versão do Linux (0.01) para um servidor FTP e enviou um email para as pessoas que demonstraram interesse em seu anúncio e pesquisa. No código fonte do primeiro lançamento, a palavra "Freaks" é preservada. Então Torvalds planejou nomear seu kernel (uma combinação das palavras "free", "freak" e Unix). O administrador do servidor FTP não gostou do nome e renomeou o projeto para Linux.
Isto foi seguido por uma série de atualizações. Em outubro do mesmo ano, a versão 0.02 do kernel foi lançada e em dezembro - 0.11. O Linux foi originalmente distribuído sem uma GPL. Isso significava que os desenvolvedores podiam usar o kernel, modificá-lo, mas não tinham o direito de revender os resultados de seu trabalho. Desde fevereiro de 1992, todas as restrições comerciais foram removidas - com o lançamento da versão 0.12, o Torvalds mudou a licença do GNU GPL v2. Mais tarde, Linus chamou essa etapa de um dos fatores determinantes para o sucesso do Linux.
A popularidade do Linux entre os desenvolvedores do Minix aumentou. Por algum tempo, as discussões foram conduzidas no feed comp.os.minix na rede Usenet. No início do dia 92, o criador do Minix, Andrew Tanenbaum, lançou um
debate sobre a arquitetura do núcleo na comunidade, afirmando que "o Linux está desatualizado". O motivo, em sua opinião, era o núcleo monolítico do sistema operacional, que é inferior ao microkernel Minix em vários parâmetros. Outra queixa de Tanenbaum dizia respeito à "ligação" do Linux à linha de processadores x86, que, segundo as previsões do professor, deveria desaparecer no esquecimento em um futuro próximo. O próprio Linus e os usuários de ambos os sistemas operacionais entraram em polêmica. Como resultado da disputa, a comunidade foi dividida em dois campos, e os adeptos do Linux receberam seu próprio feed - comp.os.linux.
A comunidade estava expandindo a funcionalidade da versão básica - os primeiros drivers, o sistema de arquivos, estavam sendo desenvolvidos. As versões mais antigas do Linux
cabiam em dois disquetes e consistiam em um disco de inicialização com um kernel e um disco raiz que instalava o sistema de arquivos e várias ferramentas GNU básicas.
Gradualmente, a comunidade começou a desenvolver as primeiras distribuições baseadas em Linux. A maioria das versões anteriores foi criada por entusiastas, não por empresas.
A primeira distribuição, MCC Interim Linux, foi criada com base na versão 0.12 em fevereiro de 1992. Seu autor, um programador do Centro de Computação da Universidade de Manchester,
chamou o desenvolvimento de um "experimento" para eliminar algumas das deficiências no procedimento de instalação do kernel e adicionar várias funções.
Logo depois, o número de distribuições de usuários aumentou significativamente. Muitos deles permaneceram projetos locais que "
viveram " por não mais de cinco anos, por exemplo, Softlanding Linux System (SLS). No entanto, houve distribuições que conseguiram não apenas "ganhar uma posição" no mercado, mas também em muitos aspectos, influenciaram o desenvolvimento de projetos de código aberto. Em 1993, foram lançadas duas distribuições, Slackware e Debian, que lançaram grandes mudanças na indústria de software livre.
O Debian foi
criado por Ian Murdock com o apoio da Stallman Free Software Foundation. Foi concebido como uma alternativa "elegante" ao SLS. O Debian ainda é suportado hoje e é
um dos produtos mais populares baseados em Linux. Por sua vez, várias outras distribuições importantes para a história do kernel foram criadas - por exemplo, o Ubuntu.
Quanto ao Slackware, este é outro projeto Linux inicial e bem-sucedido. Sua primeira versão foi lançada em 1993. Segundo
algumas estimativas , após dois anos, o Slackware já representava cerca de 80% das instalações do Linux. E décadas depois, a distribuição
permaneceu popular entre os desenvolvedores.
Em 1992, a SUSE foi fundada na Alemanha (a abreviação de Software- und System-Entwicklung é desenvolvimento de software e sistemas). Ela foi a primeira a
lançar produtos baseados em Linux para clientes corporativos. A primeira distribuição com a qual o SUSE começou a trabalhar foi o Slackware, adaptado para usuários de língua alemã.
É a partir desse momento que começa a era da comercialização na história do Linux, que discutiremos no próximo artigo.Publicações do blog corporativo 1cloud.ru: