Uma breve história do código aberto - como o software livre lutou com proprietários

Hoje, mostraremos como as soluções comerciais quase substituíram o código gratuito no devido tempo. E qual dos desenvolvedores começou a corrigir a situação.


/ foto Peter Hamer CC BY-SA

Entre Ciência e Segurança Nacional


O período da Segunda Guerra Mundial foi um período de avanços tecnológicos para os Estados Unidos. A colaboração de institutos de pesquisa com organizações militares deu frutos nos campos de rádio , criptografia e semicondutores .

Após a guerra, a pesquisa lançou as bases para invenções como um transistor e os laços científicos se transformaram em contatos comerciais. O desenvolvimento ativo dos computadores começou.

O primeiro computador comercial, IBM 701, foi chamado oficialmente de Defense Calculator . De 1952 a 1955, apenas 19 cópias deste computador saíram da linha de montagem. Era impossível comprá-los, mas era possível alugar por um mês por muito dinheiro - cerca de US $ 12 mil (US $ 107 mil pelos padrões modernos).

A lista de empresas que proporcionaram esse luxo, como esperado, consiste quase inteiramente de organizações científicas e estatais . Além disso, por esse tipo de dinheiro, eles receberam hardware "vazio" sem nenhum software e sistema operacional.

Para simplificar o trabalho, os engenheiros passaram programas entre si. Havia um espírito de colaboração acadêmica na indústria. Institutos de pesquisa, clientes militares e grandes empresas criaram grupos de compartilhamento de conhecimento, e seus produtos de trabalho eram de domínio público .

Período de intercâmbio do programa


Os grupos mais famosos cujos membros compartilharam a fonte entre si foram PACT, SHARE e DECUS. O primeiro deles, o PACT - Projeto para o Avanço das Técnicas de Codificação - consistia em representantes de empreiteiros militares como Lockheed e Douglas, além da IBM.

Juntos, eles desenvolveram uma série de compiladores com o mesmo nome para IBM 701 e 704, que usavam métodos de hash. A liderança do grupo enfatizou o "valor da cooperação" no trabalho desses projetos e prometeu manter esse espírito no futuro.

O sucessor do PACT foi o grupo SHARE que apareceu em 1955 e criou o sistema operacional SOS (Share Operating System). Essa solução primitiva, para os padrões modernos, de entrada e saída de informações cresceu no desenvolvimento interno da General Motors. Foi o SOS que lançou as bases para os primeiros sistemas operacionais de processamento em lote que executaram várias tarefas preparadas por um ou diferentes usuários. Sistemas similares dominaram o mercado de computadores no final dos anos 50 e início dos anos 60.

Em 1961, outro grupo apareceu chamado DECUS (Digital Equipment Computer Users 'Society). Seus participantes trocaram programas de fita magnética entre si. O DECUS durou bastante tempo - em 1998 ainda era composto por 50 mil pessoas.

Graças à colaboração científica e à troca de software , as linguagens de programação Interlisp e UCI Lisp apareceram , e essa cultura deu impulso ao desenvolvimento do sistema operacional Unix aberto. Mas no final dos anos 60 - início dos anos 70, houve vários eventos importantes que suspenderam o desenvolvimento do código aberto. Eles fizeram dos programas um produto que pode ser monetizado.

Software pago e propriedade intelectual


Se não havia software incluído no IBM 701, nos mainframes subseqüentes, ele se tornava cada vez mais. Todo esse software foi incluído no preço do sistema e foi fornecido como um conjunto. Do ponto de vista dos reguladores, isso foi um ataque ao monopólio. Após um pouco de pressão e a ameaça de litígios, a IBM se rendeu e, em 1969, começou a vender software separadamente. Isso levou ao surgimento do mercado de software para máquinas IBM.

Idiomas de nível relativamente alto - FORTRAN e COBOL - se espalharam e os microcomputadores chegaram às casas dos entusiastas. A linha entre usuários e programadores começou a se formar. Apareceram sistemas de software complexos, incluindo aqueles orientados para uso pessoal. E seus criadores, logicamente, queriam proteger seu trabalho. Isso levou a uma discussão pública: é possível patentear produtos de software? Como as leis de propriedade intelectual se aplicam a eles?

Em 1974, foi organizada uma comissão especial que garantiu os direitos dos programadores na lei americana. A partir desse momento, os fabricantes de software ficaram em pé de igualdade com os inventores. Um pouco mais tarde, o Tribunal de Apelações dos EUA decidiu que os direitos autorais se estendem aos programas de computador. Os desenvolvedores conseguiram controlar quem usa os resultados de seu trabalho. E em 1983, o software livre deu lugar ao software proprietário. Então a IBM parou de revelar o código fonte de seus programas.

Então, toda a era da troca de software livre terminou. Mas havia pessoas que não tolerariam isso. As pessoas que fazem o software livre florescem agora.

Lições de Multics


O mercado de software na década de 1960 se parecia com Cherkizovsky: havia muitas coisas, mas elas não se encaixavam bem. Para quase todos os novos modelos de computadores, o sistema operacional foi escrito do zero. Mais e mais programas foram lançados com código fechado, e a falta de padronização aumentou o custo de seu desenvolvimento.
A ilustração mais vívida da situação no setor de TI da época pode ser feita usando o sistema operacional Multics como exemplo.

Sua criação contou com a presença do MIT, Bell Labs e General Electrics, mas eles não puderam convergir em uma visão. As tarefas atribuídas aos desenvolvedores eram ambiciosas e a equipe consistia em programadores jovens e inexperientes. O resultado de um desenvolvimento de cinco anos foi um sistema que não estava destinado a obter sucesso no mercado de computadores. Uma análise detalhada dos erros de cálculo que contribuíram para a falha foi posteriormente dedicada a um artigo separado.

Logo após o lançamento do sistema Bell Labs, eles deixaram o projeto, considerando-o um desperdício de tempo. Mas nem todos os funcionários da empresa compartilharam essa opinião. Para Ken Thompson e Dennis Ritchie, essa experiência serviu de lição em arquitetura de SO. Eles viram o potencial inerente ao design modular do Multics - nele cada tarefa é executada por um utilitário separado - e decidiram desenvolver seu próprio sistema operacional.

No verão de 1969, o UNICS nasceu. Thompson escreveu sua primeira versão no minicomputador residencial PDP-7 durante as férias. Após o projeto migrar para o Bell Labs, onde mudou seu nome para UNIX e recebeu uma pequena equipe de desenvolvimento.


/ foto de Jason Scott CC BY

UNIX e o mercado acadêmico


Depois que o sistema de código aberto foi apresentado ao público em 1973, inesperadamente para os gerentes do Bell Labs, começou a capturar rapidamente o mercado acadêmico.

A razão para isso foi quatro fatores:

Disponibilidade As leis antitruste regulavam especificamente o Bell Labs, uma subsidiária das gigantes de telecomunicações AT&T e Western Electric.

Em 1956, as empresas firmaram um acordo com o governo, cujos termos limitavam seus negócios fora do negócio principal. Em particular, a venda de produtos não diretamente relacionados às telecomunicações deveria ser realizada a um "preço nominal". Essa condição também se estendeu ao UNIX. Mais informações sobre o aspecto jurídico da situação e suas conseqüências podem ser encontradas no livro “ Quarter Century UNIX ”, de Peter Salus, e nesta pesquisa .

O resultado da regulamentação do Bell Labs foi o fato de as instituições acadêmicas poderem comprar o sistema operacional a um preço que não excede o custo de uma cópia física.

Concentre-se em minicomputadores. Até 1975, o conceito de "computador pessoal", como tal , não existia . A atenção do público foi focada principalmente em mainframes. Mas o mercado de minicomputadores - alternativas de baixo consumo de energia aos mainframes - cresceu rapidamente. Em grande parte devido ao orçamento limitado do projeto, o UNIX foi originalmente desenvolvido especificamente para essas máquinas.

A terceira versão do sistema operacional foi aprimorada para o DEC PDP-11, das quais mais de 170 mil cópias saíram da linha de montagem nos anos 70. Para comparação, as vendas do popular mainframe IBM 1401 não excederam 20 mil unidades para todo o modelo. Como resultado, o sistema operacional conquistou um grande número de usuários nos segmentos amador e educacional.

Simplicidade. Grandes programas monolíticos são difíceis de escrever e ainda mais difíceis de modificar. O UNIX consistia em pequenos módulos, cada um dos quais responsável por uma função separada e facilmente alterado. Além disso, a partir da versão 4, o sistema operacional foi quase inteiramente escrito na linguagem C de alto nível (e não no assembler de baixo nível). Como resultado, ficou mais fácil para os estudantes universitários descobrir como o sistema operacional funciona.

Portabilidade. Para executar o UNIX em uma arquitetura diferente, bastava portar o compilador C. Por esse motivo, as versões de trabalho do UNIX para novos processadores apareceram rapidamente. Isso se tornou especialmente importante na era dos microcomputadores, que começou no final dos anos 70. As portas UNIX para máquinas domésticas baseadas em Intel 8086 e Motorola 68000 eram muito populares.

Usuários do UNIX em todo o mundo, principalmente acadêmicos, trocaram ativamente software pelo sistema. Comunidades de entusiastas existiam na Grã-Bretanha, Austrália e Japão. Em 1975, mais de quarenta instituições educacionais americanas usaram esse sistema operacional.

O nascimento do BSD


Uma das primeiras instituições acadêmicas a usar ativamente o UNIX foi a afiliada da UC Berkeley. O professor Robert Fabry recebeu uma cópia do sistema pessoalmente de Ken Thompson em 1973. Os funcionários da organização se apaixonaram rapidamente pelo UNIX e adotaram seus próprios desenvolvimentos para melhorar o sistema operacional.

As adições de universidades ao sistema foram distribuídas sob o nome Berkley Software Distribution (BSD). A primeira versão do BSD incluía um compilador Pascal modificado, cujo código foi obtido diretamente de Thompson, e o editor de texto Ex - agora conhecido como Vi . Muitas das inovações do BSD foram implementadas nas versões "oficiais" do UNIX. Mas a AT&T estava descontente com o fato de o controle sobre o destino do sistema ter sido deixado de fora das mãos da empresa.

A cooperação da Universidade de Berkeley com a agência militar DARPA, que trouxe tecnologias avançadas de rede para o BSD, agravou a situação. Como é típico de um projeto acadêmico, as licenças comerciais da BSD estavam disponíveis a um preço de mercado baixo de mil dólares - e eram vendidas em milhares. Para a AT&T, era um negócio perdido.

Enquanto os funcionários de Berkeley usavam o código UNIX principalmente para fins científicos, outras empresas viam a popularidade do sistema como uma chance de ganhar dinheiro. Em 1978, apareceu o primeiro compilador comercial C. A AT&T decidiu por um fim nisso e, no final dos anos 70, restringiu a distribuição do código-fonte do SO. Os advogados da empresa retomaram a luta pelo direito de monetizar totalmente o produto e protegê-lo de modificações de terceiros.

Em 1983, o Bell Labs se separou formalmente da AT&T e da Western Electric por ordem judicial. O UNIX se tornou um produto totalmente comercial e seu custo aumentou para dezenas de milhares de dólares - geralmente mais caro do que o ferro no qual o sistema operacional estava sendo executado.


/ foto Sam Williams CC BY-SA / Richard Stallman

Richard Stallman e o nascimento do GNU


Na década de 1970, Richard Stallman trabalhou como programador no laboratório de sistemas de inteligência artificial do MIT. Ele era conhecido como um dos autores do EMACS - um editor de texto para minicomputadores da família PDP. Como muitos outros softwares da época, o código fonte do EMACS era distribuído gratuitamente e o produto final era a soma dos esforços dos usuários.

Todas as mudanças na cultura do desenvolvimento acadêmico ocorreram na frente de Richard diante de seus olhos. A universidade não é mais um lugar para uma troca aberta de idéias e ferramentas de software. Até o criador da versão EMACS para UNIX, que inicialmente permitia a distribuição gratuita de seu programa, a vendeu para um distribuidor comercial em 1983. Stallman considerou tal ato uma sabotagem.

Ele sabia que algo precisava ser feito, mas não era fácil corrigir essa situação. A distribuição gratuita de programas não possuía base legal sólida. A maioria desses produtos era simplesmente considerada "domínio público" e nada impedia a comercialização de suas versões modificadas.

Além disso, o desenvolvimento de sistemas proprietários limitou a distribuição do produto, exigindo que o usuário comprasse software comercial e, do ponto de vista da Stallman, software imoral.

Stallman enfrentou duas tarefas - criar um sistema operacional livre e uma base legal para sua distribuição. Portanto, em 1983, nasceu o projeto GNU (GNU's Not Unix), projetado para se tornar uma cópia aberta e aprimorada da plataforma já proprietária da época.

A decisão de usar o UNIX como base não foi acidental - Richard foi atraído pela portabilidade do sistema operacional. Vamos descrever como esse projeto se desenvolveu e o que levou a um dos seguintes materiais.



Publicações do primeiro blog corporativo de IaaS:


Materiais frescos do nosso canal Telegram:

Source: https://habr.com/ru/post/pt444438/


All Articles