Software livre -Open-source software

Uma captura de tela do Manjaro executando o ambiente de desktop Cinnamon , Firefox acessando a Wikipedia que usa MediaWiki , LibreOffice Writer , Vim , GNOME Calculator , VLC e gerenciador de arquivos Nemo , todos software de código aberto.

Software de código aberto ( OSS ) é um software de computador lançado sob uma licença na qual o detentor dos direitos autorais concede aos usuários os direitos de usar, estudar, alterar e distribuir o software e seu código-fonte para qualquer pessoa e para qualquer finalidade. O software de código aberto pode ser desenvolvido de forma pública colaborativa . O software de código aberto é um exemplo proeminente de colaboração aberta , o que significa que qualquer usuário capaz pode participar online do desenvolvimento, tornando indefinido o número de possíveis colaboradores. A capacidade de examinar o código facilita a confiança do público no software.

O desenvolvimento de software de código aberto pode trazer diversas perspectivas além daquelas de uma única empresa. Um relatório de 2008 do Standish Group afirmou que a adoção de modelos de software de código aberto resultou em uma economia de cerca de US$ 60 bilhões por ano para os consumidores.

O código-fonte aberto pode ser usado para estudar e permite que usuários finais capazes adaptem o software às suas necessidades pessoais de maneira semelhante, scripts de usuário e folhas de estilo personalizadas permitem sites da Web e, eventualmente, publiquem a modificação como um fork para usuários com preferências semelhantes, e enviar diretamente possíveis melhorias como pull requests .

História

Final da década de 1990: Fundação da Iniciativa Open Source

Nos primórdios da computação, programadores e desenvolvedores compartilhavam software para aprender uns com os outros e evoluir no campo da computação. Por exemplo, o Unix incluiu o código-fonte do sistema operacional para os usuários. Eventualmente, a noção de código aberto mudou para o esquecimento da comercialização de software nos anos 1970-1980. No entanto, os acadêmicos ainda costumam desenvolver software de forma colaborativa. Exemplos são Donald Knuth em 1979 com o sistema de composição TeX e Richard Stallman em 1983 com o sistema operacional GNU . Em 1997, Eric 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 para motivar a Netscape Communications Corporation a lançar seu popular pacote de Internet Netscape Communicator como software livre . Este código fonte posteriormente se tornou a base por trás do SeaMonkey , Mozilla Firefox , Thunderbird e KompoZer .

O ato da Netscape levou Raymond e outros a investigar como trazer as idéias de software livre da Free Software Foundation e os benefícios percebidos 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 renomear o movimento do software livre para enfatizar o potencial comercial de compartilhar e colaborar no código-fonte do software. O novo termo que eles escolheram foi "código aberto", que logo foi adotado por Bruce Perens , editor Tim O'Reilly , Linus Torvalds e outros. A Open Source Initiative foi fundada em fevereiro de 1998 para incentivar o uso do novo termo e evangelizar os princípios de código aberto.

Enquanto a Open Source Initiative procurava encorajar o uso do novo termo e evangelizar os princípios aos quais aderiu, os fornecedores de software comercial se viram cada vez mais ameaçados pelo conceito de software distribuído gratuitamente e acesso universal ao código-fonte de um aplicativo . O executivo da Microsoft , Jim Allchin , declarou publicamente em 2001 que "o código aberto é um destruidor de propriedade intelectual. Não consigo imaginar algo que possa ser pior do que isso para o negócio de software e o negócio de propriedade intelectual". No entanto, embora o software livre e de código aberto historicamente tenha desempenhado um papel fora do mainstream do desenvolvimento de software privado, empresas tão grandes quanto a Microsoft começaram a desenvolver presenças oficiais de código aberto na Internet. IBM, Oracle, Google e State Farm são apenas algumas das empresas com séria participação pública no competitivo mercado de código aberto atual. Houve uma mudança significativa na filosofia corporativa em relação ao desenvolvimento de FOSS .

O movimento do software livre foi lançado em 1983. Em 1998, um grupo de indivíduos defendia que o termo software livre deveria ser substituído por software livre (OSS) como uma expressão menos ambígua e mais confortável para o mundo corporativo. Os desenvolvedores de software podem querer publicar seu software com uma licença de código aberto , para que qualquer pessoa também possa desenvolver o mesmo software ou entender seu funcionamento interno. Com o software de código aberto, geralmente, qualquer pessoa pode criar modificações dele, portá-lo para novos sistemas operacionais e arquiteturas de conjuntos de instruções , compartilhá-lo com outros ou, em alguns casos, comercializá-lo. Os estudiosos Casson e Ryan apontaram várias razões baseadas em políticas para a adoção do código aberto – em particular, a proposta de valor elevado do código aberto (quando comparado à maioria dos formatos proprietários) nas seguintes categorias:

  • Segurança
  • Acessibilidade
  • Transparência
  • Perpetuidade
  • Interoperabilidade
  • Flexibilidade
  • Localização – particularmente no contexto de governos locais (que tomam decisões de software). Casson e Ryan argumentam que "os governos têm uma responsabilidade inerente e um dever fiduciário para com os contribuintes", o que inclui a análise cuidadosa desses fatores ao decidir comprar software proprietário ou implementar uma opção de código aberto.

A Open Source Definition apresenta uma filosofia de código aberto e define ainda mais os termos de uso, modificação e redistribuição do software de código aberto. As licenças de software concedem direitos aos usuários que de outra forma seriam reservados pela lei de direitos autorais ao detentor dos direitos autorais. Várias licenças de software de código aberto foram qualificadas dentro dos limites da Definição de código aberto . O exemplo mais proeminente e popular é a GNU General Public License (GPL), que "permite distribuição gratuita sob a condição de que novos desenvolvimentos e aplicativos sejam colocados sob a mesma licença", portanto, também gratuitos.

O rótulo de código aberto saiu de uma sessão de estratégia realizada em 7 de abril de 1998, em Palo Alto , em reação ao anúncio da Netscape em janeiro de 1998 de um lançamento de código-fonte para o Navigator (como Mozilla ). Um grupo de indivíduos na sessão incluiu Tim O'Reilly , Linus Torvalds , Tom Paquin , Jamie Zawinski , Larry Wall , Brian Behlendorf , Sameer Parekh , Eric Allman , Greg Olson , Paul Vixie , John Ousterhout , Guido van Rossum , Philip Zimmermann , John Gilmore e Eric S. Raymond . Eles aproveitaram a oportunidade antes do lançamento do código-fonte do Navigator para esclarecer uma possível confusão causada pela ambiguidade da palavra "free" em inglês .

Muitas pessoas afirmaram que o nascimento da Internet , desde 1969, iniciou o movimento de código aberto, enquanto outros não fazem distinção entre movimentos de código aberto e software livre.

A Free Software Foundation (FSF), iniciada em 1985, pretendia que a palavra "livre" significasse liberdade de distribuição (ou "livre como em liberdade de expressão") e não liberdade de custo (ou "livre como em cerveja grátis"). Como grande parte do software livre já era (e ainda é) gratuito, esse software livre passou a ser associado ao custo zero, o que parecia anticomercial.

A Open Source Initiative (OSI) foi formada em fevereiro de 1998 por Eric Raymond e Bruce Perens. Com pelo menos 20 anos de evidências de históricos de casos de desenvolvimento de software fechado versus desenvolvimento aberto já fornecidos pela comunidade de desenvolvedores da Internet, o OSI apresentou o caso de "código aberto" para empresas comerciais, como a Netscape. O OSI esperava que o uso do rótulo "código aberto", um termo sugerido por Christine Peterson do Foresight Institute na sessão de estratégia, eliminasse a ambiguidade, particularmente para indivíduos que percebem "software livre" como anticomercial. Eles buscavam dar maior visibilidade aos benefícios práticos do código-fonte disponível gratuitamente, e queriam trazer grandes empresas de software e outras indústrias de alta tecnologia para o código aberto. Perens tentou registrar "código aberto" como uma marca de serviço para o OSI, mas essa tentativa era impraticável pelos padrões de marca registrada . Enquanto isso, devido à apresentação do artigo de Raymond para a alta administração da Netscape - Raymond só descobriu quando leu o comunicado à imprensa e foi chamado pelo PA do CEO da Netscape , Jim Barksdale , no final do dia - a Netscape lançou seu código-fonte Navigator como aberto fonte, com resultados favoráveis.

Definições

O logotipo da Open Source Initiative

A definição da Open Source Initiative (OSI) é reconhecida internacionalmente por vários governos como a definição padrão ou de fato . Além disso, muitos dos maiores projetos e contribuidores de software de código aberto do mundo, incluindo Debian, Drupal Association, FreeBSD Foundation, Linux Foundation, OpenSUSE Foundation, Mozilla Foundation, Wikimedia Foundation, Wordpress Foundation se comprometeram a defender a missão da OSI e a Open Source Definição através do Contrato de Afiliação da OSI.

A OSI usa a definição de código aberto para determinar se considera uma licença de software de código aberto. A definição foi baseada nas Diretrizes de Software Livre Debian , escritas e adaptadas principalmente por Perens. Perens não baseou seus escritos nas "quatro liberdades" da Free Software Foundation (FSF), que só foram amplamente disponíveis posteriormente.

De acordo com a definição de Perens, código aberto é uma ampla licença de software que disponibiliza o código-fonte ao público em geral com restrições relaxadas ou inexistentes sobre o uso e modificação do código. É um "recurso" explícito do código aberto que coloca muito poucas restrições ao uso ou distribuição por qualquer organização ou usuário, a fim de permitir a rápida evolução do software.

Apesar de inicialmente aceitá-lo, Richard Stallman da FSF agora se opõe categoricamente ao termo "Open Source" sendo aplicado ao que eles chamam de "software livre". Embora ele concorde que os dois termos descrevem "quase a mesma categoria de software", Stallman considera equacionar os termos incorreto e enganoso. Stallman também se opõe ao pragmatismo declarado da Open Source Initiative , pois teme que os ideais de liberdade e comunidade do software livre sejam ameaçados por comprometer os padrões idealistas da FSF para a liberdade de software. A FSF considera o software livre como um subconjunto do software de código aberto, e Richard Stallman explicou que o software DRM , por exemplo, pode ser desenvolvido como código aberto, apesar de não dar liberdade aos seus usuários (restringi-los), e assim não se qualifica como software livre.

Licenciamento de software de código aberto

Quando um autor contribui com código para um projeto de código aberto (por exemplo, Apache.org), ele o faz sob uma licença explícita (por exemplo, o Apache Contributor License Agreement) ou uma licença implícita (por exemplo, a licença de código aberto sob a qual o projeto é já código de licenciamento). Alguns projetos de código aberto não aceitam código contribuído sob uma licença, mas na verdade exigem cessão conjunta dos direitos autorais do autor para aceitar contribuições de código no projeto.

Exemplos de licenças de software livre /licenças de código aberto incluem Apache License , BSD license , GNU General Public License , GNU Lesser General Public License , MIT License , Eclipse Public License e Mozilla Public License .

A proliferação de licenças de código aberto é um aspecto negativo do movimento de código aberto porque muitas vezes é difícil entender as implicações legais das diferenças entre licenças. Com mais de 180.000 projetos de código aberto disponíveis e mais de 1.400 licenças exclusivas, a complexidade de decidir como gerenciar o uso de código aberto em empresas comerciais de "código fechado" aumentou drasticamente. Alguns são criados em casa, enquanto outros são modelados a partir de licenças FOSS convencionais , como Berkeley Software Distribution ("BSD"), Apache, estilo MIT (Massachusetts Institute of Technology) ou GNU General Public License ("GPL"). Em vista disso, os praticantes de código aberto estão começando a usar esquemas de classificação nos quais as licenças FOSS são agrupadas (normalmente com base na existência e obrigações impostas pela provisão de copyleft ; a força da provisão de copyleft).

Um marco legal importante para o movimento de código aberto/software livre foi aprovado em 2008, quando o tribunal federal de apelações dos EUA decidiu que as licenças de software livre definitivamente estabelecem condições juridicamente vinculantes sobre o uso de trabalhos protegidos por direitos autorais e, portanto, são aplicáveis ​​sob a lei de direitos autorais existente. . Como resultado, se os usuários finais violarem as condições de licenciamento, sua licença desaparecerá, o que significa que eles estão infringindo direitos autorais. Apesar desse risco de licenciamento, a maioria dos fornecedores de software comercial está usando software de código aberto em produtos comerciais enquanto cumpre os termos da licença, por exemplo, aproveitando a licença do Apache.

Certificações

A certificação pode ajudar a aumentar a confiança do usuário. A certificação poderia ser aplicada ao componente mais simples, a todo um sistema de software. O Instituto Internacional de Tecnologia de Software da Universidade das Nações Unidas , iniciou um projeto conhecido como "The Global Desktop Project". Este projeto visa construir uma interface de desktop que todo usuário final seja capaz de entender e interagir, cruzando assim as barreiras linguísticas e culturais. O projeto melhoraria o acesso dos países em desenvolvimento aos sistemas de informação. UNU/IIST espera conseguir isso sem comprometer a qualidade do software através da introdução de certificações.

Desenvolvimento de software de código aberto

Modelo de desenvolvimento

Em seu ensaio de 1997, The Cathedral and the Bazaar , o evangelista de código aberto Eric S. Raymond sugere um modelo para o desenvolvimento de OSS conhecido como modelo de bazar . Raymond compara o desenvolvimento de software por metodologias tradicionais à construção de uma catedral, "cuidadosamente elaborada por magos individuais ou pequenos grupos de magos trabalhando em esplêndido isolamento". Ele sugere que todo software deve ser desenvolvido usando o estilo bazar, que ele descreveu como "um grande bazar balbuciante de diferentes agendas e abordagens".

No modelo tradicional de desenvolvimento, que ele chamou de modelo catedral , o desenvolvimento ocorre de forma centralizada. Os papéis são claramente definidos. Os papéis incluem pessoas dedicadas ao projeto (os arquitetos), pessoas responsáveis ​​pelo gerenciamento do projeto e pessoas responsáveis ​​pela implementação. A engenharia de software tradicional segue o modelo da catedral.

O modelo do bazar, no entanto, é diferente. Neste modelo, os papéis não são claramente definidos. Gregorio Robles sugere que o software desenvolvido usando o modelo bazar deve apresentar os seguintes padrões:

Os usuários devem ser tratados como co-desenvolvedores
Os usuários são tratados como co-desenvolvedores e, portanto, devem ter acesso ao código-fonte do software. Além disso, os usuários são incentivados a enviar adições ao software, correções de código para o software, relatórios de bugs , documentação, etc. Ter mais co-desenvolvedores aumenta a taxa de evolução do software. A lei de Linus afirma: "Com olhos suficientes, todos os insetos são superficiais". Isso significa que, se muitos usuários visualizarem o código-fonte, eles eventualmente encontrarão todos os bugs e sugerirão como corrigi-los. Observe que alguns usuários possuem habilidades avançadas de programação e, além disso, a máquina de cada usuário fornece um ambiente de teste adicional. Este novo ambiente de teste oferece a capacidade de encontrar e corrigir um novo bug.
Primeiros lançamentos
A primeira versão do software deve ser lançada o mais cedo possível para aumentar as chances de encontrar co-desenvolvedores mais cedo.
Integração frequente
As alterações de código devem ser integradas (mescladas em uma base de código compartilhada) com a maior frequência possível para evitar a sobrecarga de corrigir um grande número de bugs no final do ciclo de vida do projeto. Alguns projetos de código aberto têm compilações noturnas em que a integração é feita automaticamente diariamente.
Várias versões
Deve haver pelo menos duas versões do software. Deveria haver uma versão mais bugada com mais recursos e uma versão mais estável com menos recursos. A versão com bugs (também chamada de versão de desenvolvimento) é para usuários que desejam o uso imediato dos recursos mais recentes e estão dispostos a aceitar o risco de usar um código que ainda não foi totalmente testado. Os usuários podem então atuar como co-desenvolvedores, relatando bugs e fornecendo correções de bugs.
Alta modularização
A estrutura geral do software deve ser modular, permitindo o desenvolvimento paralelo em componentes independentes.
Estrutura dinâmica de tomada de decisão
Existe a necessidade de uma estrutura de tomada de decisão, seja formal ou informal, que tome decisões estratégicas dependendo das mudanças nos requisitos dos usuários e outros fatores. Compare com programação extrema .

Os dados sugerem, no entanto, que o OSS não é tão democrático quanto o modelo do bazar sugere. Uma análise de cinco bilhões de bytes de código livre/aberto por 31.999 desenvolvedores mostra que 74% do código foi escrito pelos 10% mais ativos dos autores. A média de autores envolvidos em um projeto foi de 5,1, com mediana de 2.

Vantagens e desvantagens

O software de código aberto geralmente é mais fácil de obter do que o software proprietário, muitas vezes resultando em maior uso. Além disso, a disponibilidade de uma implementação de código aberto de um padrão pode aumentar a adoção desse padrão. Também ajudou a construir a lealdade do desenvolvedor, pois os desenvolvedores se sentem empoderados e têm um senso de propriedade do produto final.

Além disso, custos mais baixos de marketing e serviços logísticos são necessários para OSS. É uma boa ferramenta para promover a imagem de uma empresa, incluindo seus produtos comerciais. A abordagem de desenvolvimento OSS ajudou a produzir software confiável e de alta qualidade de forma rápida e barata.

O desenvolvimento de código aberto oferece o potencial para uma inovação mais rápida e a criação de inovação e valor social. Na França, por exemplo, uma política que incentivou o governo a favorecer o software livre de código aberto aumentou para quase 600.000 contribuições OSS por ano, gerando valor social ao aumentar a quantidade e a qualidade do software de código aberto. Essa política também levou a um aumento estimado em até 18% das startups de tecnologia e um aumento de 14% no número de pessoas empregadas no setor de TI.

Diz-se que é mais confiável, pois normalmente tem milhares de programadores independentes testando e corrigindo bugs do software. O código aberto não depende da empresa ou do autor que o criou originalmente. Mesmo que a empresa falhe, o código continua existindo e sendo desenvolvido por seus usuários. Além disso, utiliza padrões abertos acessíveis a todos; assim, não tem o problema de formatos incompatíveis que podem existir em software proprietário.

É flexível porque os sistemas modulares permitem que os programadores construam interfaces personalizadas ou adicionem novas habilidades a ela e é inovador, pois os programas de código aberto são o produto da colaboração entre um grande número de programadores diferentes. A mistura de perspectivas divergentes, objetivos corporativos e metas pessoais acelera a inovação.

Além disso, o software livre pode ser desenvolvido de acordo com requisitos puramente técnicos. Não requer pensar na pressão comercial que muitas vezes degrada a qualidade do software. As pressões comerciais fazem com que os desenvolvedores de software tradicionais prestem mais atenção aos requisitos dos clientes do que aos requisitos de segurança, uma vez que esses recursos são um tanto invisíveis para o cliente.

Às vezes é dito que o processo de desenvolvimento de código aberto pode não ser bem definido e as etapas do processo de desenvolvimento, como teste e documentação do sistema, podem ser ignoradas. No entanto, isso só é verdade para projetos pequenos (principalmente para um único programador). Projetos maiores e bem-sucedidos definem e impõem pelo menos algumas regras, pois precisam delas para possibilitar o trabalho em equipe. Nos projetos mais complexos, essas regras podem ser tão rígidas quanto a revisão de pequenas alterações feitas por dois desenvolvedores independentes.

Nem todas as iniciativas de OSS foram bem-sucedidas; por exemplo, SourceXchange e Eazel . Especialistas em software e pesquisadores que não estão convencidos da capacidade do código aberto de produzir sistemas de qualidade identificam o processo pouco claro, a descoberta tardia de defeitos e a falta de qualquer evidência empírica como os problemas mais importantes (dados coletados sobre produtividade e qualidade). Também é difícil projetar um modelo de negócios comercialmente sólido em torno do paradigma de código aberto. Consequentemente, apenas os requisitos técnicos podem ser atendidos e não os do mercado. Em termos de segurança, o código aberto pode permitir que os hackers conheçam as fraquezas ou brechas do software com mais facilidade do que o software de código fechado. Depende de mecanismos de controle para criar uma atuação efetiva dos agentes autônomos que participam das organizações virtuais.

Ferramentas de desenvolvimento

No desenvolvimento de OSS, são utilizadas ferramentas para apoiar o desenvolvimento do produto e o próprio processo de desenvolvimento.

Sistemas de controle de revisão , como o Concurrent Versions System (CVS) e posteriormente o Subversion (SVN) e o Git , são exemplos de ferramentas, muitas vezes de código aberto, que ajudam a gerenciar os arquivos de código-fonte e as alterações nesses arquivos para um projeto de software. Os projetos são frequentemente armazenados em " repositórios " que são hospedados e publicados em instalações de hospedagem de código-fonte , como Launchpad , GitHub , GitLab e SourceForge .

Projetos de código aberto geralmente são organizados de maneira flexível com "pouco suporte ou modelagem de processo formalizado", mas utilitários como rastreadores de problemas são frequentemente usados ​​para organizar o desenvolvimento de software de código aberto. Bugtrackers comumente usados ​​incluem Bugzilla e Redmine .

Ferramentas como listas de discussão e IRC fornecem meios de coordenação entre os desenvolvedores. Os sites de hospedagem de código centralizado também possuem recursos sociais que permitem que os desenvolvedores se comuniquem.

Organizações

Algumas das "organizações mais proeminentes" envolvidas no desenvolvimento de OSS incluem a Apache Software Foundation , criadores do servidor web Apache; a Linux Foundation , uma organização sem fins lucrativos que desde 2012 empregou Linus Torvalds, o criador do kernel do sistema operacional Linux ; a Eclipse Foundation , sede da plataforma de desenvolvimento de software Eclipse ; o Projeto Debian, criadores da influente distribuição Debian GNU/Linux; a Fundação Mozilla , lar do navegador Firefox; e OW2 , comunidade nascida na Europa desenvolvendo middleware de código aberto. Novas organizações tendem a ter um modelo de governança mais sofisticado e seus membros geralmente são formados por pessoas jurídicas.

O Open Source Software Institute é uma organização sem fins lucrativos (501 (c)(6)) baseada em membros, estabelecida em 2001 que promove o desenvolvimento e a implementação de soluções de software de código aberto nas agências governamentais federais, estaduais e locais dos EUA. Os esforços da OSSI se concentraram em promover a adoção de programas e políticas de software de código aberto dentro do Governo Federal e das comunidades de Defesa e Segurança Interna.

Open Source for America é um grupo criado para conscientizar o Governo Federal dos Estados Unidos sobre os benefícios do software de código aberto. Seus objetivos declarados são incentivar o uso de software de código aberto pelo governo, a participação em projetos de software de código aberto e a incorporação de dinâmicas comunitárias de código aberto para aumentar a transparência do governo.

Mil-OSS é um grupo dedicado ao avanço do uso e criação de OSS nas forças armadas.

Financiamento

As empresas cujos negócios se concentram no desenvolvimento de software de código aberto empregam uma variedade de modelos de negócios para resolver o desafio de como ganhar dinheiro fornecendo software que, por definição, é licenciado gratuitamente. Cada uma dessas estratégias de negócios baseia-se na premissa de que os usuários de tecnologias de código aberto estão dispostos a comprar recursos de software adicionais sob licenças proprietárias ou adquirir outros serviços ou elementos de valor que complementam o software de código aberto que é essencial para o negócio. Esse valor adicional pode ser, mas não limitado a, recursos de nível empresarial e garantias de tempo de atividade (geralmente por meio de um contrato de nível de serviço ) para atender aos requisitos de negócios ou conformidade, ganhos de desempenho e eficiência por recursos ainda não disponíveis na versão de código aberto , proteção legal (por exemplo, indenização por violação de direitos autorais ou patente) ou suporte/treinamento/consultoria profissional que são típicos de aplicativos de software proprietário.

Comparações com outros modelos de licenciamento/desenvolvimento de software

Código fechado/software proprietário

O debate sobre código aberto versus código fechado (alternativamente chamado de software proprietário ) às vezes é acalorado.

As quatro principais razões (conforme fornecido pela pesquisa Open Source Business Conference) indivíduos ou organizações escolhem software de código aberto são:

  1. custo mais baixo
  2. segurança
  3. nenhum fornecedor 'bloqueio'
  4. melhor qualidade

Como as empresas inovadoras não dependem mais das vendas de software, o software proprietário tornou-se menos necessário. Como tal, coisas como implantações de sistemas de gerenciamento de conteúdo de código aberto – ou CMS – estão se tornando mais comuns. Em 2009, a Casa Branca dos EUA mudou seu sistema CMS de um sistema proprietário para o CMS de código aberto Drupal . Além disso, empresas como a Novell (que tradicionalmente vendia software à moda antiga) debatem continuamente os benefícios de mudar para a disponibilidade de código aberto, já tendo mudado parte da oferta de produtos para código aberto. Desta forma, o software de código aberto fornece soluções para problemas únicos ou específicos. Como tal, é relatado que 98% das empresas de nível empresarial usam ofertas de software de código aberto em alguma capacidade.

Com essa mudança de mercado, sistemas mais críticos estão começando a depender de ofertas de código aberto, permitindo maior financiamento (como subsídios do Departamento de Segurança Interna dos EUA ) para ajudar a "caçar bugs de segurança". De acordo com um estudo piloto de organizações que adotam (ou não adotam) OSS, os seguintes fatores de significância estatística foram observados nas crenças do gerente: (a) atitudes em relação aos resultados, (b) as influências e comportamentos dos outros, e (c) suas capacidade de agir.

Distribuidores de código-fonte proprietário começaram a desenvolver e contribuir com a comunidade de código aberto devido à mudança de participação de mercado, fazendo isso pela necessidade de reinventar seus modelos para se manterem competitivos.

Muitos defensores argumentam que o software de código aberto é inerentemente mais seguro porque qualquer pessoa pode visualizar, editar e alterar o código. Um estudo do código-fonte do Linux tem 0,17 bugs por 1000 linhas de código, enquanto o software proprietário geralmente pontua de 20 a 30 bugs por 1000 linhas.

Software grátis

De acordo com o líder do movimento Software Livre , Richard Stallman , a principal diferença é que ao escolher um termo em detrimento do outro (ou seja, "código aberto" ou " software livre ") permite que os outros saibam quais são seus objetivos: "Open source é uma metodologia de desenvolvimento; software livre é um movimento social." No entanto, há uma sobreposição significativa entre software de código aberto e software livre.

A FSF disse que o termo "código aberto" promove uma ambiguidade de um tipo diferente, que confunde a mera disponibilidade da fonte com a liberdade de usá-la, modificá-la e redistribuí-la. Por outro lado, o termo "software livre" foi criticado pela ambiguidade da palavra "gratuito" como "disponível sem custo", o que foi visto como desencorajador para adoção de negócios e pelo uso histórico ambíguo do termo.

Os desenvolvedores têm usado os termos alternativos Free and Open Source Software ( FOSS ), ou Free/Libre and Open Source Software (FLOSS), consequentemente, para descrever software de código aberto que também é software livre . Embora a definição de software de código aberto seja muito semelhante à definição de software livre da FSF, ela foi baseada nas Diretrizes de Software Livre Debian , escritas e adaptadas principalmente por Bruce Perens com a contribuição de Eric S. Raymond e outros.

O termo "código aberto" foi originalmente destinado a ser uma marca registrada; no entanto, o termo foi considerado muito descritivo, portanto, não existe marca registrada. O OSI preferiria que as pessoas tratassem o código aberto como se fosse uma marca registrada e o usassem apenas para descrever software licenciado sob uma licença aprovada pelo OSI.

OSI Certified é uma marca comercial licenciada apenas para pessoas que distribuem software licenciado sob uma licença listada na lista da Open Source Initiative.

Open-source versus source-disponível

Embora a definição OSI de "software de código aberto" seja amplamente aceita, um pequeno número de pessoas e organizações usa o termo para se referir a softwares em que a fonte está disponível para visualização, mas que não pode ser legalmente modificado ou redistribuído. Esse software é mais frequentemente referido como fonte disponível ou como fonte compartilhada , um termo cunhado pela Microsoft em 2001. Enquanto em 2007 duas das licenças da Iniciativa de Fonte Compartilhada da Microsoft foram certificadas pelo OSI , a maioria das licenças do programa SSI ainda é fonte -disponível apenas .

Código aberto

Open-source é o ato de propagar o movimento de código aberto , na maioria das vezes referindo-se ao lançamento de software anteriormente proprietário sob uma licença de código aberto / software livre , mas também pode se referir a programação de software de código aberto ou instalação de software de código aberto.

Pacotes de software notáveis, anteriormente proprietários, que foram de código aberto incluem:

Antes de alterar a licença do software, os distribuidores geralmente auditam o código-fonte do código licenciado de terceiros que eles teriam que remover ou obter permissão para sua relicenciação. Backdoors e outros malwares também devem ser removidos, pois podem ser facilmente descobertos após a liberação do código.

Aplicações atuais e adoção

"Migramos as principais funções do Windows para o Linux porque precisávamos de um sistema operacional que fosse estável e confiável – um que nos desse controle interno. Portanto, se precisássemos corrigir, ajustar ou adaptar, poderíamos."

Declaração oficial da United Space Alliance , que gerencia os sistemas de computador da Estação Espacial Internacional (ISS), sobre por que eles escolheram mudar do Windows para o Debian GNU/Linux na ISS

Software de código aberto amplamente utilizado

Projetos de software de código aberto são construídos e mantidos por uma rede de programadores voluntários e são amplamente utilizados em produtos gratuitos e comerciais. Os principais exemplos de produtos de código aberto são o Apache HTTP Server , a plataforma de comércio eletrônico osCommerce , os navegadores de internet Mozilla Firefox e Chromium (o projeto onde a grande maioria do desenvolvimento do freeware Google Chrome é feito) e a suíte de escritório completa LibreOffice . Um dos produtos de código aberto de maior sucesso é o sistema operacional GNU/Linux , um sistema operacional semelhante ao Unix de código aberto , e seu derivado Android , um sistema operacional para dispositivos móveis. Em alguns setores, o software de código aberto é a norma.

Extensões para uso sem software

Embora o termo "código aberto" se aplicasse originalmente apenas ao código-fonte do software, agora está sendo aplicado a muitas outras áreas, como a ecologia de código aberto , um movimento para descentralizar as tecnologias para que qualquer ser humano possa usá-las. No entanto, muitas vezes é mal aplicado a outras áreas que têm princípios diferentes e concorrentes, que se sobrepõem apenas parcialmente.

Os mesmos princípios que fundamentam o software de código aberto podem ser encontrados em muitos outros empreendimentos, como hardware de código aberto , Wikipedia e publicação de acesso aberto . Coletivamente, esses princípios são conhecidos como código aberto, conteúdo aberto e colaboração aberta : “qualquer sistema de inovação ou produção que dependa de participantes orientados a objetivos, mas pouco coordenados, que interagem para criar um produto (ou serviço) de valor econômico, que eles disponibilizam para contribuintes e não contribuintes."

Essa "cultura" ou ideologia considera que os princípios se aplicam de maneira mais geral para facilitar a entrada simultânea de diferentes agendas, abordagens e prioridades, em contraste com modelos de desenvolvimento mais centralizados, como os normalmente usados ​​em empresas comerciais.

Veja também

Referências

Leitura adicional

links externos