História do software livre e de código aberto - History of free and open-source software

Nas décadas de 1950 e 1960, softwares operacionais de computador e compiladores eram fornecidos como parte das compras de hardware sem taxas separadas. Na época, o código-fonte, a forma de software legível por humanos, era geralmente distribuído com o software, fornecendo a capacidade de corrigir bugs ou adicionar novas funções. As universidades foram as primeiras a adotar a tecnologia da computação. Muitas das modificações desenvolvidas pelas universidades foram compartilhadas abertamente, de acordo com os princípios acadêmicos de compartilhamento de conhecimento, e organizações surgiram para facilitar o compartilhamento. À medida que os sistemas operacionais de grande escala amadureciam, menos organizações permitiam modificações no software operacional e, por fim, esses sistemas operacionais foram fechados para modificações. No entanto, utilitários e outros aplicativos com funções adicionais ainda são compartilhados e novas organizações foram formadas para promover o compartilhamento de software.

Técnicas de compartilhamento antes do software

O conceito de compartilhamento gratuito de informações tecnológicas existia muito antes dos computadores. Por exemplo, nos primeiros anos de desenvolvimento do automóvel, uma empresa de propriedade os direitos de um 2-ciclo patente motor a gasolina originalmente apresentado por George B. Selden . Ao controlar essa patente, eles conseguiram monopolizar a indústria e forçar os fabricantes de automóveis a cumprirem suas demandas, sob o risco de um processo judicial. Em 1911, o fabricante de automóveis independente Henry Ford ganhou um desafio à patente do Selden. O resultado foi que a patente Selden tornou-se virtualmente sem valor e uma nova associação (que mais tarde se tornaria a Associação dos Fabricantes de Veículos Automotores ) foi formada. A nova associação instituiu um acordo de licenciamento cruzado entre todos os fabricantes de automóveis dos EUA: embora cada empresa desenvolvesse tecnologia e registrasse patentes, essas patentes eram compartilhadas abertamente e sem troca de dinheiro entre todos os fabricantes. Quando os Estados Unidos entraram na 2ª Guerra Mundial, 92 patentes da Ford e 515 patentes de outras empresas estavam sendo compartilhadas entre esses fabricantes, sem qualquer troca de dinheiro (ou ações judiciais).

Software livre antes da década de 1980

Nas décadas de 1950 e 1960, quase todos os softwares foram produzidos por acadêmicos e pesquisadores corporativos trabalhando em colaboração, muitas vezes compartilhados como softwares de domínio público . Como tal, era geralmente distribuído sob os princípios de abertura e cooperação há muito estabelecidos nos campos da academia , e não era visto como uma mercadoria em si. Esse comportamento comunitário mais tarde se tornou um elemento central da chamada cultura de hacking (um termo com uma conotação positiva entre os programadores de código aberto). Neste momento, o código-fonte , a forma de software legível por humanos, era geralmente distribuído com o código de máquina do software porque os usuários freqüentemente modificavam o software eles próprios, porque ele não funcionava em hardware ou sistema operacional diferente sem modificação, e também para corrigir bugs ou adicionar novas funções. Acredita-se que o primeiro exemplo de software livre e de código aberto seja o sistema A-2 , desenvolvido na divisão UNIVAC da Remington Rand em 1953, que foi lançado para os clientes com seu código-fonte. Eles foram convidados a enviar suas melhorias de volta ao UNIVAC. Mais tarde, quase todo o software de mainframe IBM também foi distribuído com o código-fonte incluído. Grupos de usuários como o do IBM 701 , denominado SHARE , e o da Digital Equipment Corporation (DEC), denominado DECUS , foram formados para facilitar a troca de software. O sistema operacional SHARE , originalmente desenvolvido pela General Motors , foi distribuído pelo SHARE para os computadores IBM 709 e 7090 . Alguns laboratórios de informática universitários tinham até uma política exigindo que todos os programas instalados no computador viessem com arquivos de código-fonte publicados.

Em 1969, foi construída a Rede de Agências de Projetos de Pesquisa Avançada (ARPANET), uma rede transcontinental de computadores de alta velocidade. A rede (posteriormente substituída pela Internet) simplificou a troca de código de software.

Alguns softwares livres desenvolvidos na década de 1970 continuam a ser desenvolvidos e usados, como o TeX (desenvolvido por Donald Knuth ) e o SPICE .

Declínio inicial do software livre

No final da década de 1960, a mudança estava chegando: conforme os sistemas operacionais e os compiladores de linguagem de programação evoluíam, os custos de produção de software aumentavam drasticamente em relação ao hardware. Uma crescente indústria de software estava competindo com os produtos de software empacotados dos fabricantes de hardware (o custo dos produtos empacotados estava incluído no custo do hardware), as máquinas alugadas exigiam suporte de software, embora não fornecessem receita para o software, e alguns clientes, capazes de melhor atender aos seus próprios necessidades, não queria que os custos do software do fabricante fossem incluídos nos custos do produto de hardware. No processo antitruste dos Estados Unidos contra a IBM , aberto em 17 de janeiro de 1969, o governo dos Estados Unidos acusou o software empacotado de ser anticompetitivo. Embora alguns softwares continuassem a ser fornecidos sem custo, havia uma quantidade crescente de softwares à venda apenas sob licenças restritivas.

No início dos anos 1970, a AT&T distribuiu as primeiras versões do Unix sem nenhum custo para o governo e pesquisadores acadêmicos, mas essas versões não vinham com permissão para redistribuir ou distribuir versões modificadas e, portanto, não eram software livre no sentido moderno da frase. Depois que o Unix se tornou mais difundido no início dos anos 1980, a AT&T interrompeu a distribuição gratuita e cobrou pelos patches do sistema. Como é muito difícil mudar para outra arquitetura, a maioria dos pesquisadores pagou por uma licença comercial.

O software não era considerado sujeito a direitos autorais antes que a Comissão dos Estados Unidos sobre Novos Usos Tecnológicos de Obras Protegidas por Direitos Autorais (CONTU) decidisse que "programas de computador, na medida em que incorporam a criação original de um autor, são objeto de direito autoral adequado". Portanto, o software não tinha licenças anexadas e era compartilhado como software de domínio público , normalmente com o código-fonte. A decisão CONTU mais as decisões judiciais posteriores, como Apple v. Franklin em 1983 para código-objeto , deu aos programas de computador o status de copyright de obras literárias e deu início ao licenciamento de software e ao modelo de negócios de software de código fechado .

No final dos anos 1970 e início dos anos 1980, os fornecedores de computador e empresas exclusivamente de software começaram a cobrar rotineiramente por licenças de software , software de marketing como "Produtos de Programa" e impor restrições legais sobre novos desenvolvimentos de software, agora vistos como ativos, por meio de direitos autorais , marcas registradas e leasing contratos. Em 1976, Bill Gates escreveu um ensaio intitulado " Carta Aberta a Hobbyists ", no qual expressou consternação com o compartilhamento generalizado do produto Altair BASIC da Microsoft por amadores sem pagar sua taxa de licenciamento. Em 1979, a AT&T começou a impor suas licenças quando a empresa decidiu que poderia lucrar com a venda do sistema Unix. Em uma carta de anúncio datada de 8 de fevereiro de 1983, a IBM inaugurou uma política de não mais distribuir fontes com software adquirido.

Para aumentar as receitas, uma tendência geral começou a não distribuir mais o código-fonte (facilmente legível pelos programadores), e apenas distribuir o código de máquina executável que foi compilado a partir do código-fonte. Uma pessoa especialmente angustiada com essa nova prática foi Richard Stallman . Ele estava preocupado por não poder mais estudar ou modificar programas inicialmente escritos por outros. Stallman via essa prática como eticamente errada. Em resposta, ele fundou o Projeto GNU em 1983 para que as pessoas pudessem usar computadores usando apenas software livre . Ele estabeleceu uma organização sem fins lucrativos, a Free Software Foundation , em 1985, para organizar o projeto de maneira mais formal. Ele inventou o copyleft , um mecanismo legal para preservar o status "livre" de uma obra sujeita a direitos autorais, e implementou isso na GNU General Public License . As licenças Copyleft permitem que os autores concedam uma série de direitos aos usuários (incluindo direitos de usar uma obra sem custos adicionais e direitos para obter, estudar e modificar o código-fonte completo correspondente do programa), mas exige que os derivados permaneçam sob a mesma licença ou sem quaisquer restrições adicionais. Uma vez que os derivados incluem combinações com outros programas originais, os autores posteriores são impedidos de transformar o trabalho inicial em software proprietário e convidados a contribuir para o copyleft commons. Posteriormente, variações dessas licenças foram desenvolvidas por terceiros.

Anos 1980 e 1990

O compartilhamento informal de software continua

No entanto, ainda havia aqueles que desejavam compartilhar seu código-fonte com outros programadores e / ou usuários de forma gratuita, então chamados de "amadores" e " hackers ". Antes da introdução e público generalizado uso da internet, houve várias maneiras alternativas disponíveis para fazer isso, incluindo anúncios em revistas de informática (como Jornal do Dr. Dobb , criativa Computing , softside , Compute! , Byte , etc.) e em programação de computadores livros, como o best-seller BASIC Computer Games . Embora ainda protegido por direitos autorais, o código-fonte anotado para os principais componentes do software de sistema da família Atari de 8 bits foi publicado em livros de mercado de massa, incluindo The Atari BASIC Source Book (fonte completa para Atari BASIC ) e Inside Atari DOS (fonte completa para Atari DOS ).

Biblioteca de programas SHARE

O grupo de usuários SHARE, fundado em 1955, começou a coletar e distribuir software livre. A primeira distribuição documentada do SHARE foi datada de 17 de outubro de 1955. A "SHARE Program Library Agency" (SPLA) distribuiu informações e software, principalmente em fita magnética.

Fitas DECUS

No início da década de 1980, as chamadas fitas DECUS eram um sistema mundial de transmissão de software livre para usuários de equipamentos DEC. Os sistemas operacionais geralmente eram softwares proprietários , mas muitas ferramentas como o editor TECO , o formatador de texto Runoff ou o utilitário de listagem de arquivos List , etc., foram desenvolvidas para facilitar a vida dos usuários e distribuídas nas fitas DECUS. Esses pacotes de utilitários beneficiaram o DEC, que às vezes os incorporava em novos lançamentos de seu sistema operacional proprietário. Mesmo compiladores podem ser distribuídos e, por exemplo, Ratfor (e Ratfiv ) ajudou os pesquisadores a passar da codificação Fortran para a programação estruturada (suprimindo a instrução GO TO). A fita Decus de 1981 foi provavelmente a mais inovadora ao trazer o sistema operacional virtual Lawrence Berkeley Laboratory Software Tools, que permitia aos usuários usar um sistema semelhante ao Unix em PDP-11s DEC 16 bits e VAX de 32 bits rodando sob o sistema operacional VMS . Era semelhante ao sistema cygwin atual para Windows. Binários e bibliotecas eram frequentemente distribuídos, mas os usuários geralmente preferiam compilar a partir do código-fonte.

Comunidades de compartilhamento de software online na década de 1980

Na década de 1980, paralelamente ao movimento do software livre, o software com código-fonte era compartilhado nas redes BBS . Isso às vezes era uma necessidade; software escrito em BASIC e outras linguagens interpretadas só poderia ser distribuído como código-fonte, e grande parte dele era freeware. Quando os usuários começaram a reunir esse código-fonte e a configurar placas especificamente para discutir sua modificação, este era um sistema de código aberto de fato.

Um dos exemplos mais óbvios disso é um dos sistemas e redes BBS mais usados, WWIV , desenvolvido inicialmente em BASIC por Wayne Bell . A cultura de "modificar" seu software e distribuir os mods cresceu tão extensivamente que quando o software foi portado primeiro para Pascal , depois C ++ , seu código-fonte continuou a ser distribuído para usuários registrados, que compartilhavam mods e compilavam seus próprios versões do software. Isso pode ter contribuído para que ele fosse um sistema e rede dominantes, apesar de estar fora do guarda-chuva da Fidonet, compartilhado por tantos outros fabricantes de BBS.

Enquanto isso, o advento da Usenet e da UUCPNet no início da década de 1980 conectou ainda mais a comunidade de programação e forneceu uma maneira mais simples para os programadores compartilharem seus softwares e contribuir com softwares que outros escreveram.

Lançamento do movimento do software livre

Em 1983, Richard Stallman lançou o Projeto GNU para escrever um sistema operacional completo, livre de restrições no uso de seu código-fonte. Incidentes específicos que motivaram isso incluem um caso em que uma impressora incômoda não pôde ser consertada porque o código-fonte foi negado aos usuários. Stallman também publicou o GNU Manifesto em 1985 para delinear o propósito do Projeto GNU e explicar a importância do software livre. Outra provável inspiração para o projeto GNU e seu manifesto foi um desacordo entre Stallman e Symbolics , Inc. sobre o acesso do MIT às atualizações que a Symbolics havia feito em sua máquina Lisp, que era baseada no código do MIT. Logo após o lançamento, ele usou o termo existente " software livre " e fundou a Free Software Foundation para promover o conceito. A Definição de Software Livre foi publicada em fevereiro de 1986.

Em 1989, a primeira versão da GNU General Public License foi publicada. Uma versão 2 ligeiramente atualizada foi publicada em 1991. Em 1989, alguns desenvolvedores GNU formaram a empresa Cygnus Solutions . O kernel do projeto GNU, mais tarde chamado de " GNU Hurd ", estava continuamente atrasado, mas a maioria dos outros componentes foram concluídos em 1991. Alguns deles, especialmente a GNU Compiler Collection , tornaram-se líderes de mercado por direito próprio. O GNU Debugger e o GNU Emacs também foram sucessos notáveis.

Linux (1991 - presente)

O kernel do Linux , iniciado por Linus Torvalds , foi lançado como código-fonte livremente modificável em 1991. A licença não era uma licença de software livre , mas com a versão 0.12 em fevereiro de 1992, Torvalds relicenciado o projeto sob a GNU General Public License . Muito parecido com o Unix, o kernel de Torvalds atraiu a atenção de programadores voluntários.

Até este ponto, a falta de kernel do projeto GNU significava que nenhum sistema operacional de software livre completo existia. O desenvolvimento do kernel de Torvalds fechou essa última lacuna. A combinação do sistema operacional GNU quase acabado e o kernel Linux fez o primeiro sistema operacional de software livre completo.

Entre as distribuições Linux , o Debian GNU / Linux , iniciado por Ian Murdock em 1993, é notável por estar explicitamente comprometido com os princípios GNU e FSF de software livre. Os princípios dos desenvolvedores Debian são expressos no Contrato Social do Debian . Desde o seu início, o projeto Debian está intimamente ligado à FSF e, na verdade, foi patrocinado pela FSF por um ano em 1994–1995. Em 1997, o ex-líder do projeto Debian Bruce Perens também ajudou a fundar Software in the Public Interest , uma organização sem fins lucrativos de financiamento e suporte para vários projetos de software livre .

Desde 1996, o kernel do Linux incluiu componentes licenciados proprietários, de forma que não era mais software inteiramente livre . Portanto, a Free Software Foundation Latin America lançou em 2008 uma versão modificada do kernel Linux chamada Linux-libre , onde todos os componentes proprietários e não livres foram removidos.

Muitas empresas oferecem produtos personalizados baseados em Linux, ou distribuições, com suporte comercial. A nomenclatura permanece controversa . Referir-se ao sistema completo simplesmente como "Linux" é um uso comum. No entanto, a Free Software Foundation , e muitos outros, defendem o uso do termo "GNU / Linux", dizendo que é um nome mais preciso para todo o sistema operacional.

A adoção do Linux cresceu entre empresas e governos nas décadas de 1990 e 2000. Pelo menos no mundo de língua inglesa, o Ubuntu e seus derivados se tornaram um grupo relativamente popular de distribuições Linux .

Os BSDs gratuitos (1993-presente)

Quando o processo USL v. BSDi foi resolvido fora do tribunal em 1993, FreeBSD e NetBSD (ambos derivados do 386BSD ) foram lançados como software livre. Em 1995, o OpenBSD saiu do NetBSD. Em 2004, o Dragonfly BSD saiu do FreeBSD.

Os anos pontocom (final dos anos 1990)

Em meados dos anos 90, quando muitas empresas baseadas em sites estavam começando, o software livre tornou-se uma escolha popular para servidores web. O Apache HTTP Server se tornou o software de servidor web mais usado, um título que ainda se mantém em 2015. Sistemas baseados em uma "pilha" comum de software com o kernel Linux na base, Apache fornecendo serviços web, o mecanismo de banco de dados MySQL para armazenamento de dados e a linguagem de programação PHP para fornecer páginas dinâmicas, passaram a ser chamados de sistemas LAMP . Na verdade, a linguagem de programação que antecedeu o PHP e dominou a web em meados e no final da década de 1990 era a Perl. Os formulários da Web foram processados ​​no lado do servidor por meio de scripts de interface de gateway comum escritos em Perl.

O lançamento do Open Source

Em 1997, Eric S. Raymond publicou " The Cathedral and the Bazaar ", uma análise reflexiva da comunidade hacker e dos princípios do software livre. O artigo recebeu atenção significativa no início de 1998 e foi um fator que motivou a Netscape Communications Corporation a lançar seu popular pacote de Internet Netscape Communicator como software livre .

O ato da Netscape levou Raymond e outros a estudar como trazer os princípios e benefícios do software livre para a indústria de software comercial. Eles concluíram que o ativismo social da FSF não era atraente para empresas como a Netscape e procuraram uma maneira de reformular o movimento do software livre para enfatizar o potencial de negócios do compartilhamento de código-fonte.

O rótulo "código aberto" foi adotado por algumas pessoas no movimento do software livre em uma sessão de estratégia realizada em Palo Alto, Califórnia , em reação ao anúncio da Netscape de janeiro de 1998 de um lançamento do código-fonte do Navigator . O grupo de indivíduos na sessão incluiu Christine Peterson, que sugeriu "código aberto", Todd Anderson, Larry Augustin , Jon Hall , Sam Ockman, Michael Tiemann e Eric S. Raymond . Na semana seguinte, Raymond e outros trabalharam para espalhar a palavra. Linus Torvalds deu uma sanção muito importante no dia seguinte. Phil Hughes ofereceu um púlpito no Linux Journal . Richard Stallman , pioneiro do movimento do software livre, flertou com a adoção do termo, mas mudou de ideia. As pessoas que adotaram o termo aproveitaram a oportunidade antes do lançamento do código-fonte do Navigator para se libertar das conotações ideológicas e de confronto do termo "software livre". A Netscape lançou seu código-fonte sob a Licença Pública Netscape e posteriormente sob a Licença Pública Mozilla .

O termo ganhou um grande impulso em um evento organizado em abril de 1998 pelo editor de tecnologia Tim O'Reilly . Originalmente intitulado "Freeware Summit" e mais tarde denominado "Open Source Summit", o evento reuniu os líderes de muitos dos mais importantes projetos de código aberto, incluindo Linus Torvalds , Larry Wall , Brian Behlendorf , Eric Allman , Guido van Rossum , Michael Tiemann , Paul Vixie , Jamie Zawinski da Netscape e Eric Raymond. Naquela reunião, foi levantada a confusão causada pelo nome software livre. Tiemann defendeu "sourceware" como um novo termo, enquanto Raymond defendeu "código aberto". Os desenvolvedores reunidos votaram e o vencedor foi anunciado em uma entrevista coletiva naquela noite. Cinco dias depois, Raymond fez a primeira chamada pública para a comunidade do software livre para adotar o novo termo. A Open Source Initiative foi formada logo em seguida. De acordo com o OSI, Richard Stallman inicialmente flertou com a ideia de adotar o termo de código aberto. Mas como o enorme sucesso do termo de código aberto enterrou o termo software livre de Stallman e sua mensagem sobre valores sociais e liberdade dos usuários de computador, mais tarde Stallman e sua FSF objetaram fortemente à abordagem e terminologia do OSI. Devido à rejeição de Stallman do termo "software de código aberto", o ecossistema FOSS é dividido em sua terminologia; veja também Termos alternativos para software livre . Por exemplo, uma pesquisa de desenvolvedor de FOSS de 2002 revelou que 32,6% se associaram ao software livre, 48% ao software livre e 19,4% no meio ou indecisos. Stallman ainda afirmava, no entanto, que os usuários de cada termo eram aliados na luta contra o software proprietário.

Em 13 de outubro de 2000, a Sun Microsystems lançou o pacote de escritório StarOffice como software livre sob a GNU Lesser General Public License . A versão do software livre foi renomeada como OpenOffice.org e coexistiu com o StarOffice.

No final da década de 1990, o termo "código aberto" ganhou muita força na mídia pública e aceitação na indústria de software no contexto da bolha pontocom e do software de código aberto Web 2.0 .

Desktop (1984-presente)

Um exemplo histórico de interface gráfica do usuário e aplicativos comuns à distribuição do MIT X Consortium em execução no gerenciador de janelas twm : X Terminal , Xbiff , xload e um navegador gráfico de página de manual

O X Window System foi criado em 1984 e se tornou o sistema de janela padrão de fato em sistemas operacionais de software livre para desktop em meados da década de 1990. O X funciona como um servidor e é responsável pela comunicação com o hardware gráfico em nome dos clientes (que são aplicativos de software individuais). Ele fornece serviços úteis, como ter vários desktops virtuais para o mesmo monitor e transmitir dados visuais pela rede para que um desktop possa ser acessado remotamente.

Inicialmente, os usuários ou administradores de sistema montaram seus próprios ambientes a partir do X e dos gerenciadores de janela disponíveis (que adicionam controles padrão às janelas do aplicativo; o próprio X não faz isso), pagers , docks e outros softwares. Embora o X possa ser operado sem um gerenciador de janelas, ter um aumenta muito a conveniência e a facilidade de uso.

Dois ambientes de desktop "pesados" para sistemas operacionais de software livre surgiram na década de 1990 e foram amplamente adotados: KDE e GNOME . O KDE foi fundado em 1996 por Matthias Ettrich . Na época, ele estava preocupado com as inconsistências nas interfaces de usuário dos aplicativos UNIX . Ele propôs um novo ambiente de desktop. Ele também queria tornar essa área de trabalho fácil de usar. Sua postagem inicial na Usenet despertou muito interesse.

Ettrich escolheu usar o kit de ferramentas Qt para o projeto KDE. Na época, o Qt não usava licença de software livre . Membros do projeto GNU começaram a se preocupar com o uso de tal kit de ferramentas para construir um ambiente de desktop de software livre. Em agosto de 1997, dois projetos foram iniciados em resposta ao KDE: o kit de ferramentas Harmony (um substituto gratuito para as bibliotecas Qt) e GNOME (uma área de trabalho diferente sem Qt e construída inteiramente em software livre). GTK + foi escolhido como base do GNOME no lugar do kit de ferramentas Qt.

Em novembro de 1998, o kit de ferramentas Qt foi licenciado sob a Licença Pública Q de código aberto (QPL), mas o debate continuou sobre a compatibilidade com a Licença Pública Geral GNU (GPL). Em setembro de 2000, a Trolltech disponibilizou a versão Unix das bibliotecas Qt sob a GPL, além da QPL, o que eliminou as preocupações da Free Software Foundation . Desde então, o KDE foi dividido em KDE Plasma Workspaces , um ambiente de área de trabalho, e KDE Software Compilation , um conjunto muito mais amplo de software que inclui o ambiente de área de trabalho.

Tanto o KDE quanto o GNOME agora participam do freedesktop.org , um esforço lançado em 2000 para padronizar a interoperabilidade de desktop Unix, embora ainda haja competição entre eles.

Desde 2000, o software escrito para o X quase sempre usa algum kit de ferramentas de widget escrito sobre o X, como Qt ou GTK.

Em 2010, a Canonical lançou a primeira versão do Unity , uma substituição para o ambiente de desktop padrão anterior para Ubuntu, GNOME. Essa mudança para um novo ambiente de área de trabalho e interface de usuário em desenvolvimento foi inicialmente um tanto controversa entre os usuários do Ubuntu.

Em 2011, o GNOME 3 foi lançado, o que largamente descartou a metáfora do desktop em favor de uma interface mais orientada para dispositivos móveis. A controvérsia que se seguiu levou o Debian a considerar tornar o ambiente Xfce padrão no Debian 7. Vários projetos independentes foram iniciados para manter o código GNOME 2.

O Fedora não adotou o Unity, mantendo sua oferta existente de GNOME, KDE e LXDE com o GNOME sendo o padrão e, portanto, o Red Hat Enterprise Linux (para o qual o Fedora atua como "campo de testes inicial") também não adotou o Unity. Um fork do Ubuntu foi feito por desenvolvedores terceiros interessados ​​que mantiveram o GNOME e descartaram o Unity. Em março de 2017, o Ubuntu anunciou que abandonará o Unity em favor do GNOME 3 em versões futuras, e cessará seus esforços no desenvolvimento de smartphones e tablets baseados no Unity .

Quando o Google construiu o sistema operacional Android baseado em Linux , principalmente para telefones e tablets, ele substituiu o X pelo SurfaceFlinger desenvolvido para esse fim .

Os desenvolvedores de código aberto também criticaram o X como obsoleto, carregando muitos elementos não utilizados ou excessivamente complicados em seu protocolo e bibliotecas, enquanto perdia a funcionalidade moderna, por exemplo, composição, proteção de tela e funções fornecidas por gerenciadores de janela. Várias tentativas foram feitas ou estão em andamento para substituir X por esses motivos, incluindo:

  • O Y Window System, que interrompeu o desenvolvimento em 2006.
  • O projeto Wayland , iniciado em 2008.
  • O projeto Mir , iniciado em 2013 pela Canonical Ltd. para produzir um sistema de janelas substituto para o Ubuntu .

Microsoft, SCO e outros ataques (1998–2014)

À medida que o software livre se tornou mais popular, os operadores históricos, como a Microsoft, começaram a vê-lo como uma ameaça séria. Isso foi mostrado em um documento que vazou em 1998, confirmado pela Microsoft como genuíno, que veio a ser chamado de o primeiro Documento de Halloween .

Steve Ballmer uma vez comparou a GPL a "um câncer", mas desde então parou de usar essa analogia. Na verdade, a Microsoft suavizou sua postura pública em relação ao código aberto em geral, com o código aberto desde que se tornou uma parte importante do ecossistema Microsoft Windows . No entanto, ao mesmo tempo, nos bastidores, as ações da Microsoft têm sido menos favoráveis ​​à comunidade de código aberto .

SCO v. IBM e publicidade negativa relacionada (2003-presente)

Em 2003, um fornecedor proprietário de Unix e ex-fornecedor de distribuição de Linux chamado SCO alegou que a propriedade intelectual do Unix havia sido copiada inadequadamente para o kernel do Linux e processou a IBM, alegando que ela era responsável por isso. Seguiram-se várias ações judiciais e contra-ações relacionadas, algumas originadas da SCO, outras de outros processando a SCO. No entanto, as alegações da SCO careciam de especificidade e, embora alguns na mídia as relatassem como confiáveis, muitos críticos da SCO acreditavam que as alegações eram altamente duvidosas, na melhor das hipóteses.

Ao longo do caso SCO v. IBM , descobriu-se que não apenas a SCO distribuiu o kernel Linux por anos sob a GPL, e continuou a fazê-lo (tornando assim qualquer reclamação difícil de sustentar legalmente), mas que a SCO não até mesmo detinha os direitos autorais de grande parte do código Unix sobre o qual reivindicava o direito autoral, e não tinha o direito de processá-los em nome do suposto proprietário, a Novell .

Isso apesar do CEO da SCO, Darl McBride , ter feito muitas alegações selvagens e prejudiciais de apropriação inadequada para a mídia, muitas das quais mais tarde foram mostradas como falsas, ou legalmente irrelevantes, mesmo que verdadeiras.

O blog Groklaw foi um dos examinadores mais forenses das reivindicações da SCO e eventos relacionados, e ganhou sua popularidade cobrindo este material por muitos anos.

SCO sofreu derrota após derrota em SCO v. IBM e seus vários outros processos judiciais, e entrou com pedido de concordata Capítulo 11 em 2007. No entanto, apesar dos tribunais concluírem que SCO não possuía os direitos autorais (veja acima), e o CEO feliz com processos judiciais da SCO Darl McBride não dirige mais a empresa, o administrador da falência responsável pela SCO em concordata decidiu prosseguir com algumas partes que ele alegou permanecerem relevantes no processo SCO vs. IBM . Ele aparentemente podia se dar ao luxo de fazer isso porque o principal escritório de advocacia da SCO no caso SCO v. IBM havia assinado um acordo no início para representar a SCO por uma quantia fixa de dinheiro, não importando quanto tempo o caso levasse para ser concluído.

Em 2004, a Alexis de Tocqueville Institution (ADTI) anunciou sua intenção de publicar um livro, Samizdat: And Other Issues Relativo à 'Fonte' do Código Aberto , mostrando que o kernel do Linux era baseado em código roubado do Unix, em essência usando o argumento de que era impossível acreditar que Linus Torvalds pudesse produzir algo tão sofisticado quanto o kernel do Linux. O livro nunca foi publicado, após ter sido amplamente criticado e ridicularizado, inclusive por pessoas supostamente entrevistadas para o livro. Descobriu-se que algumas das pessoas nunca foram entrevistadas e que o ADTI não tentou entrar em contato com Linus Torvalds, ou nunca fez as acusações a ele para permitir uma resposta. A Microsoft tentou traçar um limite neste incidente, afirmando que era uma "distração".

Muitos suspeitaram que alguns ou todos esses ataques legais e de medo, incerteza e dúvida (FUD) contra o kernel do Linux foram disfarçados pela Microsoft, embora isso nunca tenha sido provado. Ambos ADTI e SCO, no entanto, receberam financiamento da Microsoft.

Comissão Europeia v. Microsoft (2004–2007)

Em 2004, a Comissão Europeia considerou a Microsoft culpada de comportamento anticompetitivo em relação à interoperabilidade no mercado de software para grupos de trabalho. A Microsoft havia anteriormente firmado acordo entre Estados Unidos x Microsoft em 2001, em um caso que acusava a empresa de abusar ilegalmente de seu poder de monopólio para forçar os fabricantes de computadores a pré-instalarem o Internet Explorer .

A Comissão exigiu que a Microsoft produzisse a documentação completa de seus protocolos de grupo de trabalho para permitir que os concorrentes interoperassem com seu software de grupo de trabalho, e impôs multas de 1,5 milhões de euros por dia por falha da Microsoft em cumprir. A Comissão tinha jurisdição porque a Microsoft vende o software em questão na Europa.

A Microsoft, após uma tentativa fracassada de apelar da decisão no Tribunal de Justiça da União Europeia , acabou atendendo a demanda, produzindo volumes de documentação detalhada.

O projeto Samba , como único concorrente remanescente da Microsoft no mercado de software para grupos de trabalho, foi o principal beneficiário desta documentação.

Controvérsia ISO OOXML (2008-presente)

Em 2008, a Organização Internacional de Padronização publicou o Office Open XML da Microsoft como um padrão internacional , o que significava que ele, e portanto o Microsoft Office , poderia ser usado em projetos onde o uso de padrões abertos fosse obrigatório por lei ou por políticas. Críticos do processo de padronização, incluindo alguns membros dos comitês nacionais da ISO envolvidos no próprio processo, alegadas irregularidades e violações de procedimentos no processo, e argumentaram que a ISO não deveria ter aprovado OOXML como um padrão porque fazia referência a comportamento não documentado do Microsoft Office .

Em 2012, não existia nenhuma implementação de código aberto correta do OOXML, o que valida as observações dos críticos sobre o OOXML ser difícil de implementar e subespecificado. Atualmente, o Google ainda não consegue converter documentos do Office em seu formato proprietário do Google Docs corretamente. Isso sugere que OOXML não é um verdadeiro padrão aberto, mas sim um documento parcial que descreve o que o Microsoft Office faz e envolve apenas determinados formatos de arquivo.

Contribuições da Microsoft para código aberto e aquisição de projetos relacionados

Em 2006, a Microsoft lançou seu site de hospedagem de código aberto CodePlex , para fornecer hospedagem para desenvolvedores de código aberto visando plataformas Microsoft. Em julho de 2009, a Microsoft até abriu o código - fonte de alguns patches de suporte ao Hyper-V para o kernel do Linux, porque eram obrigados a fazê-lo pela GNU General Public License , e os contribuiu para o kernel principal. Observe que o Hyper-V em si não é um código aberto. O compilador F # da Microsoft , criado em 2002, também foi lançado como código aberto sob a licença Apache . O compilador F # é um produto comercial, pois foi incorporado ao Microsoft Visual Studio , que não é de código aberto.

Representantes da Microsoft têm feito aparições regulares em várias conferências de código aberto e Linux por muitos anos.

Em 2012, a Microsoft lançou uma subsidiária chamada Microsoft Open Technologies Inc., com o objetivo de preencher a lacuna entre as tecnologias proprietárias da Microsoft e as tecnologias não Microsoft, envolvendo-se com os padrões de código aberto. Esta subsidiária foi posteriormente dobrada para a Microsoft, à medida que a posição da Microsoft em plataformas de código aberto e não Windows tornou-se mais favorável.

Em janeiro de 2016, a Microsoft lançou o Chakra como código aberto sob a licença MIT ; o código está disponível no GitHub .

A postura da Microsoft em relação ao código aberto mudou à medida que a empresa começou a endossar mais software de código aberto. Em 2016, Steve Balmer, ex-CEO da Microsoft, retirou sua declaração de que o Linux é um câncer maligno. Em 2017, a empresa tornou-se um apoiador platina da Linux Foundation . Em 2018, pouco antes de adquirir o GitHub, a Microsoft liderava as paradas no número de funcionários pagos contribuindo para projetos de código aberto. Embora a Microsoft possa ou não endossar a filosofia original do software livre , os dados mostram que ela endossa o código aberto estrategicamente.

Os críticos notaram que, em março de 2019, a Microsoft processou a subsidiária da Foxconn por causa de um contrato de patente de 2013; em 2013, a Microsoft anunciou um acordo de patente com a Foxconn relacionado ao uso da Foxconn do Android e Chrome OS baseados em Linux .

Linguagens de código aberto e programação

A grande maioria das linguagens de programação em uso hoje tem uma implementação de software livre disponível.

Desde a década de 1990, o lançamento das principais novas linguagens de programação na forma de compiladores e / ou interpretadores de código aberto tem sido a norma, ao invés da exceção. Os exemplos incluem Python em 1991, Ruby em 1995 e Scala em 2003. Recentemente, as exceções mais notáveis ​​foram Java , ActionScript , C # e Swift da Apple até a versão 2.2 ser proprietária . Implementações de código aberto parcialmente compatíveis foram desenvolvidas para a maioria e, no caso do Java, a implementação de código aberto principal está agora muito próxima da versão comercial.

Java

Desde seu primeiro lançamento público em 1996, a plataforma Java não era de código aberto, embora a parte do código-fonte Java do Java runtime tenha sido incluída em Java Development Kits (JDKs), em uma base supostamente "confidencial", apesar de ser gratuitamente para download pelo público em geral na maioria dos países. Posteriormente, a Sun expandiu esse acesso ao código-fonte "confidencial" para incluir o código-fonte completo do Java Runtime Environment por meio de um programa separado que era aberto ao público e, posteriormente, disponibilizou também o código-fonte do compilador Java javac . A Sun também disponibilizou o código-fonte do JDK confidencialmente para o projeto Blackdown Java , que era uma coleção de voluntários que portaram as primeiras versões do JDK para o Linux ou melhoraram as portas Linux da Sun para o JDK. No entanto, nada disso era de código aberto, porque a modificação e a redistribuição sem a permissão da Sun eram proibidas em todos os casos. A Sun declarou na época que estava preocupada em evitar a bifurcação da plataforma Java.

No entanto, várias reimplementações parciais independentes da plataforma Java foram criadas, muitas delas pela comunidade de código aberto , como o GNU Compiler for Java (GCJ). A Sun nunca abriu processos contra nenhum dos projetos clones de código aberto . O GCJ causou uma experiência ruim para o usuário Java em distribuições de suporte de software livre, como Fedora e Ubuntu, que incluíam o GCJ na época como sua implementação Java. Como substituir o GCJ pelo Sun JDK era uma pergunta frequente pelos usuários, porque o GCJ era uma implementação incompleta, incompatível e com bugs.

Em 2006, Jonathan I. Schwartz tornou-se CEO da Sun Microsystems e sinalizou seu compromisso com o código aberto. Em 8 de maio de 2007, a Sun Microsystems lançou o Java Development Kit como OpenJDK sob a GNU General Public License. Parte da biblioteca de classes (4%) não pôde ser lançada como código aberto devido a eles serem licenciados de outras partes e foram incluídos como plugues binários. Por causa disso, em junho de 2007, a Red Hat lançou o IcedTea para resolver os componentes sobrecarregados com os equivalentes da implementação do GNU Classpath . Desde o lançamento, a maioria dos problemas foram resolvidos, deixando apenas o código do mecanismo de áudio e o sistema de gerenciamento de cores (o último deve ser resolvido usando Little CMS ).

Controle de versão distribuída (2001-presente)

O primeiro sistema de controle de revisão distribuída de código aberto (DVCS) foi 'tla' em 2001 (desde então renomeado para GNU arch ); no entanto, ele e seus sucessores 'baz' e 'bzr' ( Bazaar ) nunca se tornaram muito populares e o GNU arch foi descontinuado, embora Bazaar ainda continue e seja usado pela Canonical.

No entanto, outros projetos DVCS surgiram e alguns começaram a ter uma adoção significativa.

Git (2005-presente)

Git , o DVCS mais popular, foi criado em 2005. Alguns desenvolvedores do kernel Linux começaram a usar um DVCS proprietário chamado BitKeeper , notavelmente o fundador do Linux Linus Torvalds, embora alguns outros desenvolvedores do kernel nunca o tenham usado devido à sua natureza proprietária. A situação incomum em que o desenvolvimento do kernel do Linux envolvia o uso de alguns softwares proprietários "atingiu o ápice" quando Andrew Tridgell começou a fazer a engenharia reversa do BitKeeper com o objetivo de produzir uma ferramenta de código aberto que pudesse fornecer algumas das mesmas funcionalidades do versão comercial. A BitMover, a empresa que desenvolveu o BitKeeper, em resposta, em 2005 revogou a licença especial gratuita que havia concedido a alguns desenvolvedores de kernel.

Como resultado da remoção da licença do BitKeeper, Linus Torvalds decidiu escrever seu próprio DVCS, chamado git, porque ele pensou que nenhum dos DVCSs de código aberto existentes eram adequados para suas necessidades particulares como mantenedor do kernel (razão pela qual ele tinha adotou o BitKeeper em primeiro lugar). Vários outros desenvolvedores rapidamente o ajudaram, e o git cresceu de um "rastreador de conteúdo estúpido" relativamente simples (no qual alguns desenvolvedores desenvolveram extensões "porcelana") para o sofisticado e poderoso DVCS que é hoje. Torvalds não mantém mais o git, entretanto; ele é mantido por Junio ​​Hamano há muitos anos e continua recebendo contribuições de muitos desenvolvedores.

A popularidade crescente de DVCSs de código aberto como o git e, mais tarde, de sites de hospedagem de DVCS, o mais popular dos quais é o GitHub (fundado em 2008), reduziu gradativamente as barreiras à participação em projetos de software livre ainda mais. Com sites como o GitHub, os contribuidores em potencial não precisam mais fazer coisas como procurar a URL do repositório de código-fonte (que pode estar em lugares diferentes em cada site, ou às vezes escondido em um arquivo README ou documentação do desenvolvedor), ou trabalhar descobrir como gerar um patch e, se necessário, inscrever-se na lista de discussão certa para que o e-mail do patch chegue às pessoas certas. Os contribuidores podem simplesmente bifurcar sua própria cópia de um repositório com um clique e emitir uma solicitação de pull do branch apropriado quando suas alterações estiverem prontas. O GitHub se tornou o site de hospedagem mais popular do mundo para software de código-fonte aberto e isso, junto com a facilidade de bifurcação e a visibilidade de bifurcações, tornou-o uma maneira popular de os contribuidores fazerem alterações, grandes e pequenas.

Desenvolvimentos recentes

Embora os direitos autorais sejam o principal mecanismo legal que os autores de FOSS usam para garantir a conformidade da licença de seu software, outros mecanismos, como legislação, patentes de software e marcas comerciais também têm usos. Em resposta a questões legais com patentes e DMCA , a Free Software Foundation lançou a versão 3 de sua GNU Public License em 2007 que abordava explicitamente as cláusulas de gerenciamento de direitos digitais (DRM) e direitos de patente da DMCA .

Após o desenvolvimento do GNU GPLv3 , como detentor dos direitos autorais de muitas partes do sistema GNU, como o software GNU Compiler Collection (GCC), a FSF atualizou a maioria das licenças dos programas GNU de GPLv2 para GPLv3. A Apple , um usuário do GCC e um usuário pesado de DRM e patentes, decidiu trocar o compilador em seu IDE Xcode do GCC para o Clang , outro compilador FOSS, mas que está sob uma licença permissiva . A LWN especulou que a Apple foi motivada em parte por um desejo de evitar a GPLv3. O projeto Samba também mudou para GPLv3, que a Apple substituiu em seu pacote de software por uma alternativa de software proprietário de código fechado.

Fusões recentes afetaram os principais softwares de código aberto. A Sun Microsystems (Sun) adquiriu a MySQL AB , proprietária do popular banco de dados MySQL de código aberto , em 2008.

A Oracle, por sua vez, comprou a Sun em janeiro de 2010, adquirindo seus direitos autorais, patentes e marcas comerciais. Isso tornou a Oracle a proprietária do banco de dados proprietário mais popular e do banco de dados de código aberto mais popular (MySQL). As tentativas da Oracle de comercializar o banco de dados MySQL de código aberto levantaram preocupações na comunidade FOSS. Em parte em resposta à incerteza sobre o futuro do MySQL, a comunidade FOSS bifurcou o projeto em novos sistemas de banco de dados fora do controle da Oracle. Isso inclui MariaDB , Percona e Drizzle . Todos eles têm nomes distintos; eles são projetos distintos e não podem usar o nome de marca comercial MySQL.

Android (2008 - presente)

Em setembro de 2008, o Google lançou a primeira versão do Android , um novo sistema operacional para smartphones , como código aberto (alguns aplicativos do Google que às vezes, mas nem sempre vêm junto com o Android, não são de código aberto). Inicialmente, o sistema operacional foi distribuído gratuitamente pelo Google e foi avidamente adotado por muitos fabricantes de celulares; Mais tarde, o Google comprou a Motorola Mobility e produziu seus próprios telefones e tablets Android " baunilha ", enquanto continuava a permitir que outros fabricantes usassem o Android. O Android é agora a plataforma móvel mais popular do mundo.

Como o Android é baseado no kernel do Linux, isso significa que o Linux agora é o kernel dominante em plataformas móveis (via Android) e supercomputadores, e também um jogador-chave em sistemas operacionais de servidor.

Oracle v. Google

Em agosto de 2010, a Oracle processou o Google, alegando que o uso de Java no Android infringia os direitos autorais e patentes da Oracle. O julgamento inicial Oracle v. Google terminou em maio de 2012, com a descoberta de que o Google não infringiu as patentes da Oracle, e o juiz determinou que a estrutura das interfaces de programação de aplicativos (APIs) Java usadas pelo Google não tinha direitos autorais. O júri concluiu que o Google cometeu uma violação de direitos autorais trivial (" de minimis "), mas as partes estipularam que o Google não pagaria indenização por ser tão trivial. No entanto, a Oracle apelou ao Federal Circuit , e o Google entrou com um recurso cruzado sobre a reclamação de cópia literal. O Circuito Federal decidiu que a pequena violação de direitos autorais reconhecida pelo Google não era de minimis e enviou a questão do uso justo de volta ao juiz para reconsideração. Em 2016, o caso foi julgado novamente e um júri decidiu para o Google, com base no uso justo .

Chromium OS (2009-presente)

Até recentemente, o Linux ainda era uma escolha relativamente incomum de sistema operacional para desktops e laptops. No entanto, os Chromebooks do Google , rodando o Chrome OS, que é essencialmente um web thin client , capturaram de 20 a 25% do mercado de laptops abaixo de $ 300 nos Estados Unidos. O Chrome OS é construído a partir do Chromium OS de código aberto , que é baseado no Linux, da mesma forma que as versões do Android distribuídas em telefones disponíveis comercialmente são construídas a partir da versão de código aberto do Android.

Veja também

Referências

links externos