Comparação entre programas de código fonte aberto e código fonte fechado

Origem: Wikipédia, a enciclopédia livre.

Software/open-source e livre – a disponibilidade do codigo modelo usado por software livre e open-source (FOSS) – e código fechado são duas abordagens para a distribuição de software.

Contexto[editar | editar código-fonte]

Sob o modelo de código-fonte fechado, o código-fonte não está liberado para o público. Um código-fonte fechado é mantido por uma equipe que produz o seu produto em formato executável compilado, que é permitido ao mercado acessar. Microsoft, a proprietária e desenvolvedora do Windows e do Microsoft Office, juntamente com outras grandes empresas de software, têm sido os defensores desse modelo de negócio, embora, em agosto de 2010, o gerente geral de interoperabilidade da Microsoft Jean Paoli disse que a Microsoft "ama o open source" e o seu posicionamento anti-open-source anterior foi um erro.[1]

O modelo FOSS permite que usuários capazes possam visualizar e modificar o código fonte de um produto, mas a maioria do código não é de domínio público. Vantagens comuns citadas pelos defensores de tal estrutura são expressos em termos de confiança, aceitação, trabalho em equipe e qualidade.[2]

Uma licença não-livre é usada para limitar o que o movimento do software livre, defende ser considerado como liberdades essenciais. Uma licença, seja fornecendo o código-fonte aberto ou não, que não estipula as "quatro liberdades do software",[3] não são consideradas "livres" pelo movimento de software livre. Uma licença de código fechado é aquela que limita apenas a disponibilidade do código-fonte. Pelo contrário, uma licença copyleft reivindica proteger as "quatro liberdades do software" explicitamente garantindo a eles e em seguida, explicitamente proibindo qualquer pessoa de redistribuir o pacote ou reutilizar o código para a criação de trabalhos derivados sem o licenciamento das mesmas cláusulas. Algumas licenças concedem as quatro liberdades do software, mas permitem que redistribuidores as removam, se desejarem. Tais licenças são às vezes chamadas de licenças permissivas de software.[4] Um exemplo de tal licença é a Licença FreeBSD , que permite softwares derivados a serem distribuídos como não-livre ou de código fechado, desde que dê crédito aos criadores originais.

Um equívoco que muitas vezes é feito por ambos, os defensores e detratores do FOSS, é que ele não pode ser capitalizado.[5] FOSS pode e tem sido comercializado por empresas como a Red Hat, Canonical, Mozilla, Google, IBM, Novell, Sun/Oracle, VMware e outras.[6]

Comercialização[editar | editar código-fonte]

Programa de código fechado[editar | editar código-fonte]

O modelo primário de negóci] para o software de código fechado envolve o uso de restrições no que pode ser feito com o software e restrição ao seu código fonte original. Isso pode resultar em uma forma forçada de escassez artificial de um produto que de outra forma seria muito fácil de se copiar e distribuir. O resultado é que o usuário final não está adquirindo o software realmente, mas adquirindo o direito de usá-lo. Ao fim de tudo, o código fonte do software de código fechado é considerado como um negócio secreto pelos seus fabricantes.

FOSS[editar | editar código-fonte]

FOSS métodos, por outro lado, não costumam limitar o uso de software desta forma. Em vez disso, o modelo de receita é baseada, principalmente, em serviços de apoio. A Red Hat, Inc. e a Canonical Ltd. são essas empresas que dão o seu software gratuitamente, mas cobra por seus serviços de suporte. O código-fonte do software é normalmente doado, e de binários pré-compilados de software frequentemente acompanha-lo por conveniência. Como resultado, o código fonte pode ser livremente modificado. No entanto, pode haver algumas licença baseada em restrições de re-distribuir o software. Geralmente, o software pode ser modificado e re-distribuído gratuitamente, desde que seja dado crédito ao original do fabricante do software. Além disso, FOSS podem, geralmente, ser vendido comercialmente, desde que o código fonte é fornecido. Há uma grande variedade de licenças de software livre que definem como um programa pode ser utilizado, modificado e vendido comercialmente (ver GPL, LGPL, BSD-tipo de licenças). FOSS também pode ser financiado através de doações.

Uma filosofia de software que combina aspectos de software livre e software proprietário é aberto principal do software, ou software comercial de código aberto. Apesar de ter recebido críticas por parte de alguns defensores do software livre e aberto, ele exibiu um sucesso marginal. Exemplos de abrir core de software incluem o MySQL e o VirtualBox. O MINIX sistema operacional usado para seguir este modelo de negócio, mas ficou sob os termos da licença BSD , após o ano 2000.

Lidando com a concorrência[editar | editar código-fonte]

Esse modelo se provou relativamente bem sucedido, como foi presenciado pela comunidade Linux. Há numerosas distribuições GNU/Linux disponíveis, mas a maioria delas são simplesmente versões modificadas de alguma versão anterior. Por exemplo, FedoraLinux, Mandriva Linux e PCLinuxOS são todas derivadas de um produto anterior, Red Hat Linux. Na verdade, Red Hat Enterprise Linux é um derivativo do Fedora Linux. Este é um exemplo de um vendedor criando um produto, permitindo a um terceiro modificar o software, e então criando um produto derivado baseado na versão modificada. Todos os produtos listados acima são atualmente produzidos por empresas de software.

Sistemas operacionais construídos sobre o kernel Linux, estão disponíveis para uma ampla gama de arquiteturas de processadores além do Microsoft Windows, incluindo PowerPC e SPARC. Nenhum destes pode coincidir com a grande popularidade da arquitetura x86, no entanto, eles têm um número significativo de usuários; Windows permanece indisponível para estas arquiteturas alternativas, apesar de ter sido portado para elas no passado.

A queixa mais comum contra FOSS gira em torno do fato de que ganhar dinheiro através de métodos tradicionais, como a venda de utilização de cópias individuais e, pagamentos de royalties, pagamentos, é muito mais difícil e, por vezes, impraticável com o FOSS. Além disso, FOSS tem sido considerado prejudicial para o software comercial de mercado, evidenciada em documentos divulgados como parte dos documentos vazados da Microsoft no Halloween.[7][8][9]

O custo de fazer uma cópia de um programa de software é essencialmente zero, então talvez taxas de uso não sejam, razoáveis para o software open-source. Ao mesmo tempo o desenvolvimento de software open-source foi quase totalmente proveniente dos voluntários e embora isso seja verdade para muitos pequenos projetos, muitas fontes de financiamento alternativas foram identificadas e empregadas no FOSS:

  • Dar o programa e cobrar pela instalação e suporte técnico (usado por muitas distribuições Linux).
  • "Comoditizar e complementar": fazer um produto mais barato ou gratuito, de modo que as pessoas sejam mais propensas a comprar um produto ou serviço relacionado que você venda.
  • Eliminação de custos / partilha de custos: muitos desenvolvedores precisam de um produto, de modo que faz sentido dividir os custos de desenvolvimento (esta é a gênese do Sistema de janelas X e do servidor de rede Apache).
  • Doações
  • Financiamento coletivo

Cada vez mais, FOSS é desenvolvido por organizações comerciais. Em 2004, Andrew Morton notou que das 37,000 de 38,000 patches recentes do kernel Linux foram criadas por desenvolvedores diretamente pagos para desenvolver o kernel Linux. Muitos projetos, como o X Window System e Apache, tiveram desenvolvimento comercial como origem principal de melhorias desde sue início. Esta tendência tem aumentado com o passar do tempo.

Alguns refutam que a comercialização do FOSS é um modelo de negócio mal concebido porque empresas comerciais de FOSS respondem a grupos com interesses opostos. De um lado empresas comerciais de FOSS respondem aos desenvolvedores voluntários, que tem dificuldade em manter um cronograma, e por outro lado respondem a acionistas, que esperam um retorno de seus investimentos. Frequentemente o desenvolvimento de FOSS não segue um calendário e portanto pode ter um efeito adverso em uma empresa comercial de FOSS que lança software em datas predeterminadas.[10]

Inovação[editar | editar código-fonte]

Gary Hamel se opõe a esta afirmação dizendo que quantificar quem ou o que é inovador é impossível.[11] A implementação de substituições compatíveis com FOSS para o software proprietário é incentivada pela Free Software Foundation para torná-lo possível para os seus usuários para usarem software livre, em vez de software proprietário, por exemplo, eles listaram GNU Octave, uma API compatível de substituição para o MATLAB, como um de seus projetos de alta prioridade. No passado, esta lista continha código binário compatível com implementações Java e CLI, como o GNU Classpath e DotGNU. Mesmo "derivados", os avanços são importantes, na opinião de muitas pessoas, da FOSS. No entanto, não há nenhuma análise quantitativa, se FOSS é menos inovador do que o software proprietário, já que são derivados/re-implementados de desenvolvimento proprietário também.

Alguns dos maiores projetos conhecidos de FOSS são ou de código antigo (por exemplo, FreeBSD ou Apache) desenvolvidos muito tempo atrás, independentemente do movimento do software livre, ou por empresas como a Netscape (que abriu seu código, com a esperança de que pudesse competir melhor), ou por empresas como aMySQL que usar software livre para atrair clientes para o seu mais caro do produto licenciado. No entanto, é notável que a maioria desses projetos tem sido grandes ou mesmo completamente reescritos (no caso da Mozilla e do código Apache 2, por exemplo) e não contém grande parte do código original.

Inovações chegaram e continuam a chegar do mundo open-source:

  • GmailFS é um bom exemplo da natureza colaborativa do desenvolvimento do open-source. Construir com FUSE (que permite sistemas de arquivos implementados no espaço de utilizador, em vez de como um código que precisa ser carregado no kernel), combinado com libgmail, que é uma biblioteca Python para acesso programável à caixa de correio do usuário do Gmail, o resultado é a habilidade de usar os muito gigabytes de armazenamento de mensagem do Gmail como um servidor de arquivos acessível de qualquer lugar na internet.
  • Perl, a linguagem de script pioneira de código-fonte aberto, que popularizou muitos recursos, como expressões regulares e arrays associativos, que eram incomuns à época. A nova linguagem Python, continua essa inovação, com recursos como construções funcionais e unificação de dicionário-classe.
  • o 'dcraw' é uma ferramenta de código aberto para a decodificação formatos de imagens de uma variedade de câmeras digitais, que podem produzir imagens de melhor qualidade do que as ferramentas de código-fonte fechado fornecidas pelos próprios vendedores das câmeras.
  • Um número de modelos de laptops estão disponíveis, com ênfase particular nas capacidades de multimedia. Enquanto estes, invariavelmente, vêm pré-instalados com uma cópia do Microsoft Windows, alguns deles[12][13] também oferecem uma alternativa "fast-boot" ( como o Phoenix HyperSpace), baseado no GNU/Linux. Isso contorna o longo tempo que leva para iniciar o Windows.
  • O VLC media player, Songbird, e Amarok são tocadores de media FOSS que integram a internet baseada em fontes de dados num grau sem precedentes, buscando informações relacionadas com a música no MusicBrainz, informações da faixa a partir do last.fm, a capa do álbum a partir da amazon.com e a exibição da página do artista na Wikipédia dentro do player.
  • Apesar de reconhecidamente inspirados pelos gráficos de camadas do Mac OS X's Quartz, o Compiz Fusion foi pioneiro no conceito de "plug in" decorador de janelas e de efeitos de animação. Os usuários podem desenvolver e criar seus próprios e únicos efeitos criativos.
  • Produtos de telecomunicações open-source, tais como o Asterisk PBX, revolucionaram a indústria de TIC.[14]
  • Há esforços substanciais para a implementação de um ambiente de trabalho semântico em FOSS nas comunidades.
  • Os ambientes de trabalho hoje estão inovando a respeito de sua ideia original de área de Trabalho Social.
  • Muitos projetos de pesquisa acadêmica divulgam seus resultados como FOSS.

Qualidade de código[editar | editar código-fonte]

Uma análise do código do FreeBSD, Linux, Solaris e kernel do sistema operacional Windows procurou por diferenças entre o código desenvolvido utilizando propriedades open-source (os primeiros dois kernels) e código proprietário (os outros dois kernels). O estudo coletou métricas nas áreas de organização de arquivos, estrutura de código, código de estilo, o uso do pré-processador C e organização de dados. Os resultados agregados indicam que em várias áreas e muitas métricas diferentes, quatro sistemas desenvolvidos usando código aberto e proprietário nos processos de desenvolvimento tiveram pontuação parecida.[15] O estudo mencionado acima é refutado por um estudo realizado pela Coverity Inc. ao descobrir que o código fonte aberto era de melhor qualidade.[16]

Segurança[editar | editar código-fonte]

Um estudo foi feito em dezessete softwares de código aberto e de código-fonte fechado e mostrou que o número de vulnerabilidades existentes em uma parte do software não é afetada pela disponibilidade de modelo do código fonte que ele usa. O estudo utilizou uma forma muito simples de métrica de comparação entre o número de vulnerabilidades entre o código-fonte aberto e fechado do software.[17] Outro estudo também foi feito por um grupo de professores na Northern Kentucky University, em quatorze aplicações web de código-fonte aberto, escritas em PHP. O estudo mediu a vulnerabilidade de densidade em aplicações web e mostrado que alguns deles tinham maior densidade de vulnerabilidade, mas alguns deles também tiveram a vulnerabilidade de densidade reduzidas.[18]

Modelos de negócios[editar | editar código-fonte]

Em seu Relatório Anual de 2008, a Microsoft declarou que o modelo de negócios FOSS ameaça seu modelo de software licenciado e que as empresas que utilizam estes modelos de negócios não arcam com o custo para o desenvolvimento de seu software. A empresa também afirmou no relatório:[19][20]

Existem diversos modelos de negócios para empresas open source que podem ser encontrados na literatura.

Ver também[editar | editar código-fonte]

Referências

  1. Microsoft: 'We Love Open Source'
  2. The GNU Manifesto – GNU Project – Free Software Foundation (FSF)
  3. The Free Software Definition – GNU Project – Free Software Foundation (FSF)
  4. Various Licenses and Comments about Them – GNU Project – Free Software Foundation (FSF)
  5. Perkins, Greg (24 de agosto de 1999). «Open Source and Capitalism». Slashdot. Consultado em 13 de fevereiro de 2014. Cópia arquivada em 17 de agosto de 2000 
  6. Popp, Dr. Karl Michael (2015). Best Practices for commercial use of open source software. Norderstedt, Germany: Books on Demand. ISBN 978-3738619096 
  7. "[...] the documents show that while Microsoft may be dismissive of open-source software in public, it considers it a serious competitor in private." – quote from the "Documents_I_and_II" subsection of Microsoft Halloween documents leak article
  8. The "Halloween VI" document appears to give convincing evidence that Microsoft had their reasons for trying to argue against the popularity of GNU/Linux and other Free and open-source software.
  9. Bill Gates, in his reply Arquivado em 2010-11-30 no Wayback Machine after the public response to his own 1976 Open letter to hobbyists, said "Unfortunately, some of the companies I have talked to about microcomputer software are reluctant to have it distributed to the hobbyist, some of whom will steal it, when [...]".
  10. Integrating Open Source in Commercial Solutions
  11. http://opensource.com/business/11/2/whos-really-innovative
  12. «Toshiba launches multimedia Qosmio notebooks | InfoWorld | News | 2004-07-22 | By Martyn Williams, IDG News Service». Consultado em 28 de agosto de 2018. Arquivado do original em 25 de dezembro de 2007 
  13. PC World – Acer Readies New Notebook, Tablet PC
  14. «Open Source in ICT Industry». Consultado em 28 de agosto de 2018. Arquivado do original em 25 de setembro de 2016 
  15. Spinellis, Diomidis (maio de 2008). «A Tale of Four Kernels». ICSE '08: Proceedings of the 30th International Conference on Software Engineering. Leipzig, Germany: Association for Computing Machinery. pp. 381–390. doi:10.1145/1368088.1368140 
  16. «Coverity Scan Report Finds Open Source Software Quality Outpaces Proprietary Code for the First Time». Consultado em 10 de agosto de 2014 
  17. Schryen, Guido (1 de maio de 2011). «Is Open Source Security a Myth?». Commun. ACM. 54 (5): 130–140. ISSN 0001-0782. doi:10.1145/1941487.1941516 
  18. Walden, J.; Doyle, M.; Welch, G.A.; Whelan, M. (1 de outubro de 2009). «Security of open source web applications». 3rd International Symposium on Empirical Software Engineering and Measurement, 2009. ESEM 2009: 545–553. doi:10.1109/ESEM.2009.5314215 
  19. Annual Report on Form 10-K
  20. Microsoft's annual report: Open-source mental block | The Open Road – The Business and Politics of Open Source by Matt Asay – CNET News.com