Existe uma diferença entre software livre e software de código aberto?

65

Estou um pouco confuso sobre esses dois termos. Existem diferenças entre eles?

Mysterio
fonte
11
Muito bom com todo o debate em andamento. Inclusão de exemplos será grande
Mysterio
11
Uau, estou surpreso com a forma como essa pergunta decolou. Haverá excelentes respostas, sem dúvida. Pode ser uma das melhores perguntas deste site.
Christopher Kyle Horton
11
Grande conjunto de informações nos dois termos. Excelente feedback de uma comunidade excelente
Mysterio

Respostas:

94

Os termos de software livre e software de código aberto não significam coisas diferentes, embora as categorias de software que se referem são quase exatamente o mesmo.

O que é software livre?

O software livre é definido em termos de liberdade (não preço ) e não é a mesma coisa que freeware . A idéia é que existem certas liberdades por parte dos usuários que o software livre respeita (mas que software não livre, também chamado de software proprietário , não respeita). Isso inclui a liberdade de usar e estudar o software, além de distribuí-lo e melhorá-lo.

A Free Software Foundation é uma organização de ativistas e ativistas de software livre, financia e, de outra forma, apóia o projeto GNU (que desenvolve uma fração significativa do software que entra nas distribuições do GNU / Linux como o Ubuntu) e é o autor organizacional de muitos dos licenças de software livre mais populares , incluindo a GNU General Public License . A FSF define software livre como um software que respeita as quatro liberdades , que cito aqui [linkifications mine]:

(0) A liberdade de executar o programa, para qualquer finalidade (liberdade 0).

(1) A liberdade de estudar como o programa funciona e alterá-lo para que você faça a sua computação como desejar (liberdade 1). O acesso ao código-fonte é uma condição prévia para isso.

(2) A liberdade de redistribuir cópias para que você possa ajudar seu vizinho (liberdade 2).

(3) A liberdade de distribuir cópias de suas versões modificadas para outras pessoas (liberdade 3). Ao fazer isso, você pode dar a toda a comunidade a chance de se beneficiar de suas alterações. O acesso ao código-fonte é uma condição prévia para isso.

Outra fonte útil e importante sobre o que constitui e o que não constitui software livre é o Debian Free Software Guidelines (do projeto Debian , a distribuição GNU / Linux da qual o Ubuntu é derivado , consulte também este artigo ).

Não é necessário se inscrever em nenhuma ideologia específica para usar e defender o software livre. Mas a base ideológica do software livre é a idéia de que essas liberdades são inerentemente boas (ou pelo menos boas por razões políticas importantes externas a questões técnicas de qualidade e rentabilidade de software), que as pessoas têm a obrigação de respeitar essas liberdades e que o software deve ser julgado em parte significativa por respeitar ou não essas liberdades. Nem todos os usuários de software livre são inflexíveis sobre essas liberdades, e alguns acreditam em sua importância, mas apenas de forma limitada, mas muitos usuários são dedicados a eles e compreendem o movimento do software livre .

O que é código aberto?

Alguns defensores do software livre pensaram que era bom por outras razões - especificamente, a idéia de que, devido à maneira como a liberdade facilita a colaboração, o software livre tem uma vantagem sobre o software proprietário e geralmente tende a ser tecnicamente superior. Alguns pensaram que a liberdade é inerentemente importante, mas não tão importante quanto o desenvolvimento de software tecnicamente bom, ou que a liberdade é tão importante ou mais importante que o desenvolvimento de software tecnicamente bom, mas que era importante advogar pela adoção de software livre por outros motivos, a fim de seja eficaz.

Assim, nasceu o movimento open source . Uma das idéias que entraram nesse movimento é a noção de que a advocacia direcionada às empresas deve enfatizar os méritos técnicos e a lucratividade dos modelos de desenvolvimento aberto (livre), em vez de falar sobre questões éticas ou políticas. A Open Source Initiative foi formada como uma organização de defesa do movimento de código aberto e para identificar e aprovar formalmente licenças como código aberto. Do OSI Open Source Definition é baseado diretamente nas Diretrizes de Software Livre da Debian, o que não deve ser uma surpresa, pois a categoria real de software que é considerado livre é quase exatamente a mesma que a categoria real de software que é considerada de código aberto.

A antiga FAQ da Open Source Initiative expressa as semelhanças substanciais e os pontos de vista diferentes entre o software livre e as ideologias de código aberto :

A Open Source Initiative é um programa de marketing para software livre. É um argumento para o "software livre" em bases pragmáticas sólidas, em vez de golpes ideológicos na banheira. A substância vencedora não mudou, a atitude perdida e o simbolismo mudaram.

Como as ideologias do software livre e do código aberto se comparam / contrastam na prática?

Enquanto as ideologias por trás do software livre e do software livre são diferentes - ou pelo menos são bem diferentes - identificar especificamente como os termos diferem à medida que são praticamente usados ​​nas comunidades é um pouco mais complicado. Como se referem a quase exatamente a mesma categoria de software, as pessoas tendem a escolher o termo que acharem melhor, seja por motivos de clareza, ideologia, aprovação social, hábito ou outros motivos. Além disso, embora o software livre e as ideologias de código aberto sejam distintas, também existem pontos de vista que parecem unir os dois, ou pelo menos embaçar onde um termina e o outro começa. Por exemplo, em seu prefácio à edição paperback compêndio de Eric S. Raymond 's A Catedral eo Bazar (ISBN 0-596-00108-8),Bob Young escreveu:

Liberdade não é um conceito abstrato nos negócios.

O sucesso de qualquer setor está quase diretamente relacionado ao grau de liberdade de que gozam os fornecedores e os clientes desse setor. Basta comparar a inovação no setor de telefonia dos EUA, pois a AT&T perdeu seu controle de monopólio sobre os consumidores americanos com o ritmo de inovação anteriormente lento, quando esses clientes não tinham liberdade de escolha.

Isso sem dúvida não faz referência direta a questões éticas e políticas. Mas considere uma das considerações um tanto semelhantes citadas pelo congressista peruano Edgar Villanueva ao explicar seu esforço para o Estado usar software gratuito em vez de proprietário ( tradução em inglês de Graham Seaman, também hospedada aqui , com original aqui ):

Em relação aos trabalhos gerados por software proprietário em países como o nosso, eles se referem principalmente a tarefas técnicas de pouco valor agregado; no nível local, os técnicos que fornecem suporte para software proprietário produzido por empresas transnacionais não têm a possibilidade de corrigir bugs, não necessariamente por falta de capacidade técnica ou talento, mas porque não têm acesso ao código fonte para corrigir isto. Com o software livre, cria-se um emprego mais qualificado tecnicamente e uma estrutura de competência livre, onde o sucesso está vinculado apenas à capacidade de oferecer bom suporte técnico e qualidade de serviço, estimula o mercado e aumenta o fundo compartilhado de conhecimento, abrindo alternativas gerar serviços de maior valor total e maior nível de qualidade, para benefício de todos os envolvidos: produtores,

Como as consequências práticas da adoção do software livre incluem ramificações políticas e morais (neste caso, Villanueva argumenta, o empoderamento intelectual e econômico do povo peruano), há alguma sobreposição no software livre e no pensamento de código aberto (bem como sobreposição quase completa nas recomendações de software).

Um dos objetivos explícitos iniciais do movimento de código aberto foi enfatizar explicitamente a defesa a favor da liberdade , conforme articulado no início deste artigo :

A implicação desse rótulo é que pretendemos convencer o mundo corporativo a adotar nosso caminho por razões econômicas, de interesse próprio e não ideológico.

Mas outro motivo motivador original para a adoção de um termo alternativo foi a idéia de que o termo código-fonte aberto era menos confuso do que o termo software livre , pois a palavra em inglês "livre" também pode significar "grátis", ou seja, "ter um preço zero" . Veja este ensaio fundamental . Isso atraiu algumas pessoas que eram mais atraídas pelo software livre por razões éticas ou políticas do que pela crença de que era um melhor modelo de desenvolvimento ou modelo de negócios, mas que concordaram que o termo "software livre" estava ausente e deveria ser substituído . Embora esse termo tenha se mostrado confuso, o termo "código aberto" também se mostrou confuso, que o termo "código aberto" é inerentemente mais confuso e menos adequadamente descritivo.

Que termo devo usar?

Enquanto eu (começo a) escrever isso, já existem cinco respostas postadas para esta pergunta. Dois deles ( isto e isto ) estão basicamente corretos em suas caracterizações de código aberto, e um deles está basicamente correto em sua caracterização de software livre e outro quase correto. (Observe que essas respostas podem ter sido editadas, portanto, isso não deve ser considerado como julgamento delas no estado atual.) Embora eu admita que a amostra aqui não seja conclusiva, sugiro que cada um de nós use o termo que s Ele prefere por outras razões que não a clareza, pois os dois termos são cercados por uma confusão substancial.

Para situações em que é desejável consultar simultaneamente os conceitos (já sobrepostos) de software livre e software de código aberto, existem os termos sinônimos F / OSS (Software Livre / de Código Aberto), FOSS (Software Livre e de Código Aberto) e FLOSS (software livre / gratuito / de código aberto). Veja este artigo nesses termos, bem como este artigo sobre o tema mais geral de termos alternativos para o software livre.

Existe software livre que não é de código aberto?

Provavelmente não. Seguindo a definição de software livre e a definição de código aberto , a liberdade 0 provavelmente requer os critérios 5, 6, 7, 8, 9 e 10 do OSD; a liberdade 1 requer o critério OSD 2 (e possivelmente 7); a liberdade 2 provavelmente requer os critérios OSD 1, 7, 8 e 9; e a liberdade 3 provavelmente requer os critérios OSD 1, 2, 3, 4, 7, 8 e 10.

Existe software de código aberto que não é gratuito?

Seguindo as definições, sim, porque, com a exceção do requisito de fornecer código fonte, a Definição de Código Aberto se preocupa apenas com o que uma licença pode exigir. Por outro lado, de acordo com a definição de software livre, para que o software seja livre, é realmente possível exercer as quatro liberdades.

Na prática, a grande maioria dos softwares de código aberto também é software livre. No entanto, o fenômeno da tivoização torna alguns softwares de código aberto não livres, pelo menos na prática. Quando o software é projetado para ser executado em um dispositivo específico, e esse dispositivo é projetado para impedir que versões modificadas funcionem, os usuários não conseguem exercer liberdade 1.

A questão relativamente recente de dispositivos executando software de código aberto que, na prática, não é gratuito, reacendeu o desacordo entre os defensores dos conceitos de software livre e de código aberto . O movimento de código aberto divulga os méritos técnicos da FOSS . Mas e quando a funcionalidade do software não está realmente sob o controle de seu usuário? Richard Stallman escreve [minha elipse]:

Sob pressão das empresas de filmes e discos, o software para uso individual é cada vez mais projetado especificamente para restringi-los. Esse recurso malicioso .... é a antítese do espírito da liberdade que o software livre visa proporcionar. E não apenas no espírito: como o objetivo do DRM é atropelar sua liberdade, os desenvolvedores de DRM tentam dificultar, impossibilitar ou até mesmo ilegal alterar o software que implementa o DRM.

No entanto, alguns apoiadores de código aberto propuseram o software "código aberto DRM". A idéia deles é que, publicando o código-fonte dos programas projetados para restringir seu acesso à mídia criptografada e permitindo que outras pessoas a alterem, eles produzam um software mais poderoso e confiável para restringir usuários como você. O software será entregue a você em dispositivos que não permitem a alteração.

Esse software pode ser de código aberto e usar o modelo de desenvolvimento de código aberto, mas não será um software livre, pois não respeitará a liberdade dos usuários que realmente o executam.

Existem idéias divergentes sobre exatamente o que o software de liberdades deve respeitar na prática para ser livre. Mas as disputas sobre se a tivoização torna o software não livre ainda são disputas sobre liberdade. Por exemplo, Linus Torvalds considera que a tivoização (um termo que ele não gosta) do Linux não deve ser proibida , mas isso não significa que ele realmente não impeça as pessoas de usar livremente o software (em outro dispositivo).

Como o software livre e o código aberto se aplicam ao Ubuntu?

A maior parte do software no Ubuntu é livre e de código aberto. Uma fração do software no Ubuntu não é. (Nenhum é um, mas não o outro.) O projeto Ubuntu tem como objetivo produzir um sistema o mais livre possível e ainda totalmente utilizável pelo maior número de usuários possível .

Ao instalar o Ubuntu, você tem a opção de instalar software não-livre para executar funcionalidades como a reprodução de arquivos MP3. No Ubuntu, Drivers Adicionais sugere e facilita a instalação de drivers não livres para alguns dispositivos, como placas de vídeo e de rede. Software não livre (como Adobe Flash e Skype) também está disponível nos repositórios multiverso e de parceiros. Além disso, dependendo da definição de "inclusões", o Ubuntu pode ser considerado como incluindo software não livre, na medida em que o Centro de Software fornece a capacidade de instalar payware proprietário.

Embora esses e outros fatores tornem o Ubuntu (e a maioria das outras distribuições altamente populares do GNU / Linux) não completamente gratuitas, e sem dúvida existem distribuições mais completamente gratuitas , o Ubuntu e sua comunidade trouxeram software livre - e suporte para ele - para milhares (senão milhões) de pessoas que provavelmente nunca o teriam usado e contribuíram positivamente para a disseminação do software livre em todo o mundo e para a capacidade das pessoas de usar o software livre em seu próprio idioma. A filosofia do Ubuntu é declarada em termos de liberdade e em termos de recursos dos usuários:

Acreditamos que todo usuário de computador:

  • Deverá ter a liberdade de baixar, executar, copiar, distribuir, estudar, compartilhar, alterar e melhorar seu software para qualquer finalidade, sem pagar taxas de licenciamento.
  • Deve poder usar o software no idioma de sua escolha.
  • Deve ser capaz de usar todo o software, independentemente da deficiência.

Nossa filosofia se reflete no software que produzimos, na forma como distribuímos e nos nossos termos de licença - Política de Licença do Ubuntu.

Instale o Ubuntu e você pode ter certeza de que todo o nosso software atende a esses ideais. Além disso, estamos trabalhando continuamente para garantir que todos os softwares que você possa precisar estejam disponíveis sob uma licença que ofereça essas liberdades.

Em seguida, ele discute e elogia os movimentos de software livre e de código aberto e diz:

Embora algumas pessoas considerem "livre" e "código aberto" como movimentos concorrentes com fins diferentes, não o fazemos. O Ubuntu orgulhosamente inclui membros que se identificam com ambos.

Se você considera seus objetivos alinhados com o software livre , com código aberto , com ambos, ou mesmo com nenhum deles, você é incentivado a usar o Ubuntu se ele atender às suas necessidades. E enquanto você estiver disposto a praticar a humanidade em relação aos outros , seguindo o código de conduta , você será incentivado a participar da comunidade Ubuntu!

Eliah Kagan
fonte
2
Wow todos estes em uma cabeça
Mysterio
obrigado por tais uma investigação completa, clara e equilibrada resposta
david.libremone
@ Eliah, tudo bem com você se eu usar a maior parte de sua resposta para o meu blog no FOSS? Eu sou aquele que fez a pergunta :)
Mysterio
4
@Mysterio Sim, por favor! De acordo com as Perguntas frequentes , todas as postagens no AskUbuntu.com são licenciadas sob a licença Creative Commons Attribution-ShareAlike 3.0 Unported , que é uma licença de conteúdo gratuita (como em liberdade). Como a GNU GPL, o CC BY-SA 3.0 é uma licença copyleft, portanto, trabalhos derivados publicados (neste caso, a postagem do seu blog) também devem ser oferecidos por ela. Por favor, veja aqui seus direitos e responsabilidades. (Se você quiser direitos nela não oferecida, por favor me avise.)
Elias Kagan
Ok senhor que os direitos não são oferecidos com este post sob a licença em questão
Mysterio
15

"Grátis" pode significar uma (ou ambas) de duas coisas: "grátis" como em "não custa nada" ("grátis", "grátis como em cerveja") ou "livre" como em "livre para ser modificado" (" livre, "" livre como na fala ").

"Código aberto" significa apenas que o código fonte é disponibilizado pelos desenvolvedores e não é necessariamente "livre como na cerveja" nem "livre como na fala" (embora possa ser um ou ambos).

Aqui está um diagrama de Venn útil: http://www.gnu.org/philosophy/categories.html

Jay
fonte
3
"Código aberto" não significa apenas que os desenvolvedores disponibilizam o código fonte. Veja opensource.org/docs/osd para detalhes.
Eliah Kagan
4
Além disso, na frase "software livre", "livre" sempre se refere à liberdade e nunca ao preço. Veja gnu.org/philosophy/free-sw.html e en.wikipedia.org/wiki/Free_software . O termo "software livre" já foi usado ocasionalmente por empresas de software proprietárias para se referir a freeware , mas esse significado quase desapareceu completamente e é considerado um uso incorreto do termo "software livre" (veja os links acima )
Elias Kagan
@EliahKagan, você se contradiz com sua própria declaração. "'grátis' sempre se refere à liberdade ..." e então você disse que foi "usado ocasionalmente ... para se referir ao freeware". O "software livre" da TBH é geralmente definido no aviso de direitos autorais para delinear qual significado está sendo usado.
zzzzBov
11
@EliahKagan, você pode enfatizar que o pessoal do GNU sempre se refere à liberdade quando se fala em "Software Livre".
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Não são apenas as pessoas do GNU. Por exemplo, um número significativo de desenvolvedores de FreeBSD, NetBSD, OpenBSD tem sentimentos bastante azedos sobre o Projeto GNU. Mas eles ainda estão se referindo à liberdade quando falam sobre software livre (por exemplo, "A existência de derivativos proprietários não torna o OpenBSD menos livre".) sobre o software livre por razões de liberdade é um equívoco. Usar o termo "software livre" para significar "grátis" é um mau uso, especialmente em um contexto do Ubuntu .
Eliah Kagan
4

Não há autoridade que possa definir o significado de uma palavra. É definido pela forma como é usado e, portanto, o significado de uma palavra pode mudar ao longo do tempo ou pode significar coisas diferentes para diferentes grupos de pessoas ao mesmo tempo.

Dito isto: a wikipedia , a Fundação do Software Livre , o Projeto Debian , o Projeto Ubuntu e GNU concordam em uma coisa: "software livre" é sobre liberdade, não custo. O software livre pode custar dinheiro ou não.

Não há muito acordo sobre o termo "software de código aberto" . Enquanto alguns dizem que isso significa apenas que o código fonte é disponibilizado (algumas frases na wikipedia ) e o GNU . Outros argumentariam que software livre e software de código aberto são sobre as mesmas idéias, por exemplo, opensource.org . No entanto, o direito de distribuir o software modificado não é necessariamente visto como parte do "software de código aberto" ( wikipedia, mas contrário a isso, novamente a definição de código aberto ).

Para colocar alguns dos exemplos de outras respostas nessas categorias: skype: nenhum; Fedora : software livre e software de código aberto; Google Chrome: nenhum (até onde eu sei), mas o Chromium é um software livre e um software de código aberto;

Conclusão:

Muitos grupos dedicaram seu tempo e esforço a confundir as pessoas sobre esses termos. Especialmente a Free Software Foundation, que parece usar o termo "software de código aberto" propositalmente diferente do que a Open Source Initiative. E a Open Source Initiative, que introduziu e promoveu fortemente um novo termo (software de código aberto) para significar essencialmente o mesmo que o já estabelecido termo "software livre".

Você também pode ler mais aqui .

xubuntix
fonte
2

Eu diria que uma ilustração da diferença, que mostra que Shuttleworth é mais código-fonte aberto que software livre, pode ser encontrada na seguinte citação (em resposta à cooperação com empresas proprietárias):

Se sua maneira de ver o mundo é genuinamente mais produtiva, eficaz, eficiente, perspicaz e utilizável, você deve estar confiante de que vencerá a longo prazo

(entrevista com slashdot)

Eu acho que uma opinião de software livre pode, de fato, não estar tão confiante de que as coisas se tornarão livres a longo prazo, e não a considerará tão relevante de qualquer maneira quando se trata de cooperação. Você pode compará-lo a pensar que a escravidão está fadada a desaparecer porque não é eficiente: as pessoas trabalham melhor quando são livres, com mais inovação e sem risco de revolta. É verdade, mas você também pode se opor à escravidão como um princípio mais abstrato.

Covarde anônimo
fonte
2

O termo Free Softwaree Open-source Softwarevem de dois movimentos: -

  1. Movimento de software livre e
  2. Movimento de código aberto

Definição:-

Existem dois artigos encontrados no GNU relacionados a isso, que são:

  • http://www.gnu.org/philosophy/open-source-misses-the-point.html (Mais recentes e melhores)

    Os dois termos descrevem quase a mesma categoria de software, mas representam visões baseadas em valores fundamentalmente diferentes. Código aberto é uma metodologia de desenvolvimento; o software livre é um movimento social. Para o movimento do software livre, o software livre é um imperativo ético, um respeito essencial à liberdade dos usuários. Por outro lado, a filosofia do código aberto considera questões em termos de como tornar o software "melhor" - apenas em sentido prático. Diz que o software não livre é uma solução inferior ao problema prático em questão.

  • https://www.gnu.org/philosophy/free-software-for-freedom.html (Mais antigo e substituído)

    A diferença fundamental entre os dois movimentos está em seus valores, em suas maneiras de ver o mundo. Para o movimento Open Source, a questão de saber se o software deve ser open source é uma questão prática, não ética. Como uma pessoa disse, “código aberto é uma metodologia de desenvolvimento; o software livre é um movimento social. ” Para o movimento Open Source, o software não-livre é uma solução abaixo do ideal. Para o movimento do Software Livre, o software não-livre é um problema social e o software livre é a solução.

No FAQ da OSI: - O que é "software livre" e é o mesmo que "código aberto"?

O FSF usa uma definição mais curta de quatro pontos de liberdade de software ao avaliar licenças, enquanto o OSI usa uma definição mais longa de dez pontos. As duas definições levam ao mesmo resultado na prática, mas usam uma linguagem superficialmente diferente para chegar lá.

Estou aqui anexando os detalhes sobre:

Como o software livre e o código aberto se relacionam como categorias de programas

       / ---------------------------------------------- \
      / | | \
     / | | \
    / | | \
        | |
        | A licença de origem é GNU * GPL, Apache, |
        | BSD original, BSD modificado, |
grátis | X11, expat, Python, MPL, etc. |
        | e executável não é tivoizado | Código aberto
        | |
        | |
    \ |
     \ |
      \ | /
       \ ---------------------------------------------- /
        | dispositivos tivoizados (tiranos) | O /
        ---------------------------------------------- /

Notáveis ​​(citadas) Notas: -

  • Entre todos os programas de código aberto, apenas uma fração minúscula não é gratuita. Se a linha de baixo fosse desenhada em escala, seu texto teria que estar em uma fonte minúscula, talvez pequena demais para ser lida.
  • Os dispositivos tivoizados ou "tiranos" contêm executáveis ​​não livres criados a partir do código fonte que é gratuito.
  • “O” significa “outro” e refere-se a programas cuja fonte está sob licenças que são de código aberto, mas não gratuitas .

Pandya
fonte