Software Livre não é para programadores

Com frequência a discussão de Software Livre vs Open Source recai no contexto econômico empresarial. No entanto Software Livre não tem foco em programadores/empresas, mas sim nos usuários.

Os nomes “Free Software” e “Software Livre” são péssimos, pois sempre geram discussão sobre software e não sobre liberdade. Melhor se fosse algo explícito como “Licença de Garantia das Liberdades do Usuário”.

Esse é o real foco do Software Livre. Liberdade! Pra quem? Para o programador profissional? Não! Para o usuário final.

Software Livre atua na relação de poder que implica a submissão de um usuário à um fornecedor de software.

Quanto mais o usuário usa o software, mais dependente fica, e maior se torna o custo de substituição reforçando a dependência. Esta relação de poder é o problema em questão.

A coisa complica, pois pelas leis de propriedade intelectual, o usuário que decidir romper com esta relação sem trocar de software, estará à margem da lei.

Para subverter esta relação de poder, a licença de Software Livre garante 4 liberdades inalienáveis ao usuário. Listo abaixo uma versão “remixada” para explicitar a amplitude da licença. Em negrito é o texto oficial e em itálico é meu remix:

  1. A liberdade de executar o programa para qualquer propósito, mesmo que o autor discorde moralmente;
  2. A liberdade de estudar o software, e superar o autor em conhecimento no assunto;
  3. A liberdade de redistribuir cópias do programa, inclusive cobrando por isso e competindo com o autor;
  4. A liberdade de modificar código e redistribuí-lo, mesmo que isso torne o produto original do autor obsoleto;

Essa liberdade toda tem uma única obrigação. Quando o usuário estiver no papel de fornecedor de software, é obrigado pela licença a honrar estas mesmas liberdades dos seus novos usuários.

As licenças Open Source também permitem esta mesma dinâmica, mas não garantem. E aqui estamos falando de garantias juridicamente reconhecidas. A GPL estabelece juridicamente que as liberdades do usuário não podem ser violadas por qualquer programador, vendedor, empresário, etc. Estas liberdades garantem a autonomia do usuário.

As licenças Open Source são em geral feitas de programadores para programadores. Gente que está acostumada a construir o que não existe. São úteis também. Mas não dá pra dizer que resolvem o mesmo problema.

PS: Post inspirado por uma boa discussão com o Bruno e João Victor no fórum da PythonBrasil.

  • Claudio Ferreira

    Olá

    Passeando no blog vi essa discussão e acredito que possa contribuir um pouco para a discussão. Fiz um infográfico sobre o tema, disponível no meu portal[1]: Guia Ilustrado Demandas Legais no Desenvolvimento de Sofware
    [1]http://cfnarede.com.br/guia-ilustrado-demandas-legais-no-desenvolvimento-de-sofware

  • Enzzo

    Se você ( é um programador & não usa o computador), tudo bem não apoiar o software livre.
    Mas por favor, não me venha compilar com o GCC.

    • A licença do GCC permite que mesmo alguém que não apóia software livre possa usá-lo (não somente usá-lo, obviamente), independente de seu julgamento. 😉 E isso é o que importa; esse é um dos motivos do software ser livre.

  • Marcus Pereira

    Mano, quanto custa o curso de django? Não conseguir realizar a inscrição.

  • Nelson Lago

    Pára tudo, esse texto está *errado*. Sei que a palavra é forte mas não dá para dourar essa pílula.

    O problema está na distinção sugerida entre licença “livre” ou “open source”. Isso não existe: para todos os fins práticos, todo software livre é open source e todo sofware open source é livre. *Não existe diferença* entre uma coisa e outra. Nem no software, nem nas licenças. Os dois termos podem *sempre* ser usados como sinônimos quando estamos falando sobre um programa ou uma licença.

    A presença ou não da “única obrigação” mencionada é meramente o que divide essas licenças nas categorias normalmente chamadas de “permissivas”, “recíprocas parciais” e “recíprocas totais”. Mas todas elas são licenças de software livre (ou open source, que dá na mesma).

    A diferença entre software livre e open source está na maneira que as pessoas encaram o programa. Por isso existe o “movimento pelo software livre” (que está preocupado com a liberdade) e a “iniciativa Open Source” (que se preocupa com a metodologia). Ambos falam da mesma coisa, mas sob pontos de vista diferentes. Normalmente uma empresa vai falar
    que seu produto é “open source”, porque isso tem cara de “profissional, moderno, mais barato, sem custos por conta de lock-in”. Já alguém preocupado com as implicações sociais do software vai preferir a expressão “software livre”, porque quer frisar “a liberdade do usuário e do conhecimento”. Mas é o mesmo software e a mesma licença.

    O texto também sugere que o pessoal open source prefere as licenças permissivas, mas na verdade acho que as licenças mais comumente usadas por empresas são recíprocas parciais (na maioria, variantes da MPL). O Java, aliás, usa uma recíproca total (GPLv2). Ao mesmo tempo, vários projetos comunitários com muito pouca participação de empresas, como os vários BSDs, usam licenças permissivas.

    • Falaê, Nelson! Blz?

      Maneiro o comentário.

      Na verdade não são a mesma coisa, nem enquanto filosofia, nem enquanto princípio, nem juridicamente.

      Free Software é bem diferente de Open Source, exatamente pelos motivos que expus. Caberia distinguir dizendo que Free Software foca é liberdade e Open Source é libertário. São palavras parecidas, mas são bem diferentes.

      A exposição pública do código fonte é um mero detalhe nesta questão. Um software proprietário poderia ser exposto publicamente sem que possa ser reproduzido. É a lei de direitos autorais. A mesma que impede a reprodução de um livro que tem seu conteúdo exposto em público.

      Algumas referências para evidenciar a diferença:

      “Por que o Código Aberto não compartilha dos objetivos do Software Livre” – https://www.gnu.org/philosophy/open-source-misses-the-point.html

      “Código Aberto e Software Livre não significam a mesma coisa” –
      http://www.tecmundo.com.br/linux/1739-codigo-aberto-e-software-livre-nao-significam-a-mesma-coisa-.htm

      Grande abraço!

      • Nelson Lago

        Oi Henrique,

        Que software livre e open source são filosofias diferentes ninguém discute; é exatamente o que escrevi no penúltimo parágrafo do meu comentário anterior.

        A questão é o “juridicamente”. Eu escrevi antes: “Os dois termos podem *sempre* ser usados como sinônimos quando estamos falando sobre um programa ou uma licença”. Ou seja, diferenças ideológicas à parte, são o mesmo software e as mesmas licenças. Como você parece muito convencido de que eu estou enganado, vamos lá:

        1. O que define se um programa é software livre são as 4 liberdades elencadas por você. De outro lado, o que define se um programa é open source são os 10 critérios da open source definition (http://opensource.org/definition). Faça o exercício de tentar imaginar uma licença que atenda os requisitos de um sem atender os requisitos do outro e você vai ver que é *muito* difícil.

        2. Você pode dar uma lida neste ponto do FAQ da OSI (os caras que inventaram o termo open source): http://opensource.org/faq#free-software . Ele aborda *exatamente* o tema desta conversa aqui. Destaco a primeira frase: ” ‘Free software’ and ‘open source software’ are two terms for the same thing: software released under licenses that guarantee a certain, specific set of freedoms” e a frase “The FSF uses a shorter, four-point definition of software freedom when evaluating licenses, while the OSI uses a longer, ten-point definition. The two definitions lead to the same result in practice, but use superficially different language to get there”.

        3. Se você reler a página da FSF que citou em sua resposta para mim, vai encontrar as frases

        * “Os dois termos descrevem quase a mesma categoria de software, porém eles apoiam visões baseadas em valores fundamentalmente diferentes”

        * ” ‘Software livre’. ‘Código aberto’. Se é o mesmo software (ou quase), realmente importa que nome você usa? Sim, porque palavras diferentes exprimem ideias diferentes”

        * “A definição oficial de “software de código aberto” (que foi publicada pela Open Source Initiative e é longa demais para ser incluída aqui) foi indiretamente derivada dos nossos critérios para o software livre. Ela não é igual; é um pouco mais ampla em alguns aspectos. Não obstante, a definição deles concorda com a nossa na maioria dos casos.”

        E se você olhar a página apontada pelo “ou quase” no texto acima, vai ver que os casos em que as definições não são equivalentes são extremamente (EXTREMAMENTE!!!!) atípicos. Lá diz “among all programs that are open source, only a minuscule fraction are not free”. Os autores chegam a dizer que não veem um programa assim há anos.

        Acho que tudo isso deixa claro que não, não há diferença jurídica e não, não são categorias de software diferentes. São movimentos e ideologias diferentes tratando de uma mesma coisa: o software livre/open source.

        Agora um esclarecimento sobre o termo “código aberto”. A expressão “free software” em inglês é ambígua, pois o termo era (e muitas vezes ainda é) usado para designar software gratuito (porque a palavra free tem duplo sentido). Uma das (várias) razões para o nascimento do movimento open source foi que eles queriam evitar esse tipo de mal entendido. Para isso, cunharam o termo “open source” e pretendiam registrá-lo (como uma marca, tipo “MacDonalds” ou “Coca-cola”). A ideia era permitir que qualquer desenvolvedor de software livre usasse o termo mas proibir o uso do termo em outros contextos, eliminando qualquer confusão quanto à nomenclatura.

        Só que esse plano falhou miseravelmente: a expressão “open source” (código aberto) é muito ampla e, como você observou, pode significar disponibilidade do código-fonte mas sob restrições variadas. Por conta disso, eles não conseguiram o registro. O resultado final é que a expressão open source / código aberto sofre do mesmo problema de ambiguidade que a expressão free software. Ainda assim, de maneira geral, quando se usa a expressão open source geralmente estamos falando dessa coisa específica, que é o movimento da Open Source Initiative, o software (livre) correspondente etc., do mesmo modo que em geral as pessoas entendem que “free software” é o software livre, a FSF etc.

        Em português, essa ambiguidade não existe (“software livre” é perfeitamente claro) e Simon Phipps, ex-diretor da OSI, sugere que em português se utilize sempre o termo “software livre” para designar “free software” ou “open source”. É o que eu faço e, nas raras vezes que quero falar em open source especificamente, uso a expressão em inglês: fazendo isso, estou tratando como uma marca, minimizando essa ambiguidade do termo. Já em inglês, se não quero especificamente falar sobre a OSI, uso ou free software ou, mais comumente, FLOSS.

      • Luiz Henrique Rauber Rodrigues

        tchês Henrique (papeamos no FGSL2014) e Nelson (participamos dum painel na CPBR2014) “calma calma não priemos cânico”… pra mim, estão certos e por favor corrijam meu pensamento, se errado. Eu, depois de muitas confusões, leituras e nem uma conclusão científica (conhecida por mim), uso e repasso a ideia que “Software Livre” é coisa de Brasil e equivalente ao conceito “FOSS (ou FLOSS)” e une tanto o conceito “Free Software” quanto o conceito “Open Source”. Mas que são quase antagônicos tirando a parte do acesso ao código fonte. Enquanto o “free” vai pra linha da liberdade de software e pensamento (“free software, free society”), o “open” tem a linha de “abertura” de código e a pegada à negócio, assim, encorajo o uso de “software livre” pelo seu grande contexto com base no compartilhamento (software, ideias, conhecimentos)… uso durante este discurso a imagem do slide 8 http://pt.slideshare.net/luizrauber/interaes-software-livre-mercado-academia-escola-jogos
        abçs 😉

      • Faaaaaala, Rauber! Blz, fera?

        Como respondi ao Nelson, vejo Software Livre diferente de Open Source, pela diferença entre seus *propósitos*.

        FOSS ou FLOSS é usado para referenciar a grande interseção que há entre Software Livre e Open Source quando o objeto de análise é o software em is.

        O inconveniente dos termos FOSS e FLOSS é que como a interseção entre Software Livre e Open Source é muito grande, acaba ocorrendo uma simplificação exagerada que corrompe o significado real de cada termo.

        “Everything Should Be Made as Simple as Possible, But Not Simpler” – He-Man #damninternetquotes 😀

      • Para mim não há dúvidas quanto a diferença entre Free Software e Open Source.
        Um software livre É open source em sua essência. Mas um open source não necessariamente é um software livre.
        A OSI acaba sendo um meio termo do Software Livre em si.

        Na minha visão do que Stallman diz, Free Software é um movimento político, econômico e sustentável, enquanto a OSI é uma metodologia de desenvolvimento.

      • Apesar de muitos acharem Stallman “radical”, gosto do fato dele falar o que vive. Creio que não há exemplo melhor.

        O movimento Open Source tenta aproximar as grandes empresas a contribuir com o código aberto, mas o grande problema é que a maioria das empresas só contribuem com partes do que elas sabem que terão benefícios (exemplo: testes de graça e melhorias no código fonte pela comunidade), sendo aplicado em outros produtos geralmente de código fechado. Até a M$ tem licença open source.

        Na minha opinião há diversas formas de sobreviver com Software Livre, e não vejo razão para fechar um código a não ser para monopólio e opressão.

        Como o Henrique mencionou, a licença GPL e o conceito de copyleft simplismente faz com que o software seja eternamente livre/libre e de código aberto, não permitindo que o ciclo de contribuição pare. Os desenvolvedores e usuários sempre ganham.

        Lembro de uma frase de Stallman que gosto muito de comentar quando palestro sobre o tema: “Quando somos criança e nossos pais nos dão um saco de balas, eles dizem: compartilhe com seus colegas; porém quando crescemos perdemos essa visão de compartilhar, e a sociedade nos força a não compartilhar e a ver que compartilhar é ilegal, é criminoso, é pirata”.

      • Fala, Nelson! Blz?

        Primeiro vou te agradecer por dedicar seu tempo e energia para enriquecer a discussão. Valeu mesmo!

        Eu e você estamos claramente olhando para questões diferentes no mesmo tema. Isso definitivamente não é um problema, mas é importante termos isso em mente para nos entendermos, mesmo que não concordemos. Viva ao dissenso. 🙂

        Como mencionei no 1º parágrafo do artigo, o foco comum é no *fim*, o “o que”, o projeto/código. Minha proposta é refletir sobre o *meio*, para evidenciar o “por que”. O *meio* é precisamente o hack do arcabouço jurídico para resguardar a liberdade do usuário, a despeito das intenções do autor do software.

        Para que eu possa lhe oferecer o meu ponto de vista, preciso evidenciar que “Software Livre” e “Open Source” são dois conceitos distintos com íntima relação entre si.

        Tão íntima que quando falamos do *o que* (programa/código), a distinção parece desaparecer. Portanto, concordo que o *objeto* (programa/código) resultante do *exercício prático* (programação) do Software Livre e do Open Source são muito parecidos.

        No entanto quando falamos do *por que* as diferenças ficam mais claras.

        Open Source tem o propósito de facilitar o intercâmbio de códigos fontes.

        Software Livre tem o propósito de combater a *relação de poder* que submete o usuário ao autor do software *forçando* o intercâmbio de códigos fontes.

        Se olharmos com atenção isso está explícito nos termos. Um tem “código” e “abertura” no nome, enquanto o outro tem “liberdade” e “software” (não apenas o código).

        Desta forma, quando seguramos o impulso utilitarista de contrair os dois conceitos em um só com foco no “o que” e começamos a considerar tanto o “o que” quanto o “por que”, temos que:

        Software Livre é Open Source, mas Open Source não é Software Livre.

        As licenças são uma manifestação do “como” o “propósito” é manifesto no “o que”. Ou seja, a licença formaliza ´*como* alguém *deve* interagir com o *projeto* de modo a respeitar os *Princípios da Liberdade do Usuário*.

        Isso fica claro no texto da GPL que pode ser conferido em http://www.gnu.org/licenses/gpl.html

        Logo no preâmbulo os paragrafos de 1 à 5 explicitam em detalhes o *propósito* da GPL, que descrevi acima.

        O capítulo 8 expressa a ilegalidade de fugir da licença original na propagação do projeto:

        “You may not propagate or modify a covered work except as expressly provided under this License.”

        O capítulo 10 afirma a obrigação de manter a mesma licença para trabalhos derivados. Ou seja, explicita a ilegalidade de aprisionar um código originalmente liberto:

        “Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License.”

        Enfim, o próprio texto da GPL distingue por si só Software Livre de Open Source. Por isso é possível afirmar que as licenças de Software Livre respeitam os propósitos do Open Source, mas as licenças do Open Source não respeitam os propósitos do Software Livre.

        Enquantos alguns pontos de vista podem julgar que Software Livre é mais restritivo do que Open Source, eu faço uma leitura diferente: Open Source prioriza o livre arbítrio do indivíduo, enquanto Software Livre prioriza a liberdade de todas as pessoas.

        PS1: Na sociologia os conceitos de relações de poder são amplamente investigadas pelo Michel Foucault que é o autor que tem me feito pensar sobre o assunto.

        PS2: Novamente obrigado pel interação.

        Abraços!

      • dyegocantu

        Entendo ambos, mas concordo com o Henrique.

        Inclusive, no link que foi recomendado (http://www.gnu.org/philosophy/open-source-misses-the-point.pt-br.html) tem o exemplo que mais utilizo para demonstrar diferença entre Free Software e Open Source:

        Software poderoso e confiável pode ser ruim

        A ideia que desejamos que o software seja poderoso e confiável advém da suposição de que o software está designado para servir seus usuários. Se ele é poderoso e confiável, isso significa que ele os serve melhor.

        Porém, pode-se dizer que o software serve aos seus usuários somente se respeita sua liberdade. E se o software for projetado para acorrentar seus usuários? Então, ser poderoso significa que as correntes são mais constritivas e ser confiável significa que elas são mais difíceis de remover.Características maliciosas, tais como espionar os usuários, restringir os usuários, back doors, e imposição de upgrades são comuns no software proprietário, e alguns mantenedores do código aberto querem implementá-los nos programas de código aberto.

        Sob pressão das companhias de cinema e gravadoras, o software para uso pessoal é cada vez mais projetado especificamente para limitar os usuários. Essa característica maliciosa é conhecida como Gestão de Restrições Digitais (DRM — do inglês Digital Restrictions Management) (veja DefectiveByDesign.org) e é a antítese no espírito da liberdade que o software livre visa proporcionar. E não apenas no espírito: visto que o objetivo do DRM é esmagar sua liberdade, os desenvolvedores DRM tentam torná-lo mais difícil, impossível ou ainda ilegal para você mudar o software que implementa o DRM.

        Ainda assim, alguns defensores do código aberto têm proposto software “DRM código aberto”. Sua ideia é que, mediante a publicação do código-fonte dos programas desenvolvidos para restringir seu acesso à mídia criptografada e ao permitir que outros mudem o programa, irão produzir um software mais poderoso e confiável para limitar usuários como você. O software seria então distribuído a você em aparelhos que não lhe permitem modificações.

        Esse software pode ser de código aberto e usar o modelo de desenvolvimento do código aberto, mas ele não será software livre, visto que ele não respeitará a liberdade dos usuários que de fato o rodarão. Se o modelo de desenvolvimento de código aberto obter êxito em tornar esse software mais poderoso e confiável ao limitar você, isso o tornará ainda pior.

      • Nelson Lago

        Este vai ser meu último comentário aqui porque creio que essa discussão não está mais sendo produtiva. O objetivo do seu texto era apontar a diferença ética entre os dois termos (e comunidades), coisa com a qual concordo desde o princípio. Só me meti porque, no meio desse caminho, você argumentou que essa diferença se expressa nas licenças, que seriam diferentes, e que essa diferença nas licenças significa que pode haver programas que são um ou outro, coisas que não procedem. Mas isso não é tão importante: o tema principal do texto está correto. Então, lembrando que estou preocupado com a questão das licenças, vamos lá:

        Você diferencia software livre e open source por seus “propósitos”, uma boa palavra para isso. Mas não há nenhuma incompatibilidade jurídica entre o propósito da FSF (garantir a liberdade do usuário) e os propósitos da OSI (otimizar a produtividade da indústria pela disponibilização do código sem restrições, entre outras). Você entende que a reciprocidade é necessária para garantir a liberdade do ponto de vista da FSF, mas esse não é o caso: o que define um software livre para a FSF são as 4 liberdades, que não mencionam nada de reciprocidade.

        A reciprocidade é uma característica da GPL, mas existem muitas outras licenças de software livre além da GPL e que não contém essa exigência. Quem disse? A FSF: https://www.gnu.org/licenses/license-list.pt-br.html . Veja as categorias “Licenças de Software Livre Compatíveis com a GPL” e “Licenças de Software Livre Incompatíveis com a GPL”. Não tive paciência de olhar, mas garanto para você que, das 41 licenças dessa lista, pouquíssimas são recíprocas totais (como a GPL) e provavelmente cerca de metade são recíprocas parciais (como a LGPL); as demais são permissivas (como a BSD). E *todas elas* são licenças de software livre de acordo com a FSF. Também garanto para você que todas devem estar na lista de licenças open source da OSI e que as licenças da OSI que não estão nessa página foram omitidas porque são irrelevantes, não porque não são livres.

        A reciprocidade da GPL não foi inventada para fazer uma licença “mais livre”. Essa reciprocidade tem muito pouco a ver com o *propósito* de garantir a liberdade do usuário em nível individual. Como eu disse, se Stallman achasse a reciprocidade condição sine qua non para a liberdade, teria colocado uma quinta “regra” na definição de software livre. A reciprocidade da GPL foi criada com o propósito de fortalecer a comunidade e o movimento pelo software livre e fazer crescer o universo de programas livres. Mas o programa licenciado pela GPL não é “mais livre” ou “menos livre” que o programa licenciado pela BSD: ambas as licenças garantem a liberdade do usuário de acordo com as 4 liberdades. Aliás, vale lembrar que a GPL sequer é a única licença criada pela FSF: há também a LGPL (que é uma recíproca parcial, ou seja, “exige menos” dos redistribuidores) e a AGPL (que é mais estrita que a GPL). Também vale lembrar, como um exemplo, que o X11, que é distribuído sob licença MIT (similar à BSD) sempre foi considerado por Stallman como parte do projeto GNU, muito embora não tenha sido desenvolvido pela FSF e não usasse uma licença recíproca (copyleft). Para Stallman, o X11 é um software livre e, embora a licença não fosse a “ideal” para o fortalecimento do movimento pelo software livre, ela garantia (e garante) a liberdade do usuário e, por isso, ele o incorporou ao GNU.

        Pra terminar, não sei de onde você tirou que “Enfim, o próprio texto da GPL distingue por si só Software Livre de Open Source”. Primeiro porque, como dito antes, a GPL não é a única licença livre que há e segundo porque o texto do preâmbulo da GPL (salvo a parte sobre tivoization) é basicamente o mesmo desde pelo menos 1991, vários anos antes do surgimento do movimento Open Source (1997).

      • Nelson,

        Sinta-se sempre à vontade e bem-vindo para compartilhar aqui as suas ideias. Consenso não é pré-requisito para uma boa conversa.

        Ambos Software Livre e Open Source são iniciativas legítimas e muito importantes. Pessoalmente, eu navego nos 2 mundos.

        Entretanto, não são equivalentes. São apenas similares como apontei anteriormente.

        O propósito do Software Livre é a garantia da liberdade do usuário final, **independente do comprimento da cadeia de valor**.

        Ou seja, quando Arnaldo faz um Software Livre, e Bóris deriva o programa vendendo ao Clóvis, Bóris não pode negar à Clóvis as suas liberdades de usuário e o código fonte. Já no Open Source, Bóris poderia desconsiderar as liberdades do usuário, fechando o código se assim desejasse.

        Consequentemente, no caso onde o Software era originalmente Livre, Clóvis poderia processar Bóris e forçá-lo a respeitar a sua liberdade de usuário recebendo assim o código fonte e eliminando a relação de poder do fornecedor sobre o usuário.

        Já no caso onde o Software era apenas Open Source, o Clóvis nada poderia reivindicar juridicamente ao Bóris. Poderia no máximo optar por aderir à iniciativa do Arnaldo.

        Portanto, há claramente diferenças jurídicas entre as iniciativas.

        Qualquer tentativa de relativizar ou suavizar as *características estritas* do Software Livre pela sugestão de que Open Source é “próximo o suficiente” é um ato de desvalorização do *propósito* motivador do Software Livre em prol de um substituto que não promove o mesmo efeito.

        As características estritas do Software Livre são features, não são bugs.

  • Mas é bom lembrar que o programador também é usuário e necessita de softwares pra fazer seu trabalho

    • Falaê, Wille!

      Sim, sem dúvidas! E como todo mundo ele pode usar o software livre ou comprar software proprietário.

      Mas trabalhar como programador não justifica violar o Princípio da Liberdade do Usuário. Este princípio não pode ser violado nem mesmo por um usuário. Essa é a beleza da coisa!

      É responsabilidade do dono do negócio onde o programador trabalha (1) adquirir as licenças necessárias para obter o resultado desejado, ou (2) utilizar código Open Source, ou (3) utilizar código Livre e redistribuir o código.

      É simples, mas não tem almoço grátis mesmo não!

      • Jan Palach

        Concordo.

    • Carlos Wagner

      Bem colocado.

      Desse ponto de vista, o programador é o usuário do ambiente, linguagens de programação, compiladores, editores de texto, depuradores, etc…

      E usa as bibliotecas e interfaces do sistema operacional para criar as soluções para a Vossa Majestade o usuário final.

  • A galera se esquece que o que motivou o Stallman a criar o GNU foi a ausência de liberdade dele, como um usuário de uma impressora, para corrigir um bug em um driver.

  • Ronaldo

    De certa forma a licença BSD é a mais livre. Ela permite inclusive que voce torne o seu código fechado. Entendeu a loucura ? Ela não obriga (antitese do SL) voce a manter o código aberto. Isso sim é uma licença livre. É estranho, mas verdadeiro.

    • Ronaldo, acho que existem vários níveis de liberdade e depende do foco que você quer dar (o foco é em que desenvolve o software ou em quem usa?). Se fosse realmente seguir essa linha da BSD, o ideal (“mais livre”) seria tornar o software algo de domínio público (não o domínio público no Brasil, que ainda exige a citação do autor, mas sim algo como a licença Creative Commons Zero). Porém, na minha visão, isso vai contra o próprio usuário do software.
      As licenças que possuem copyleft (como a GPL) são mais efetivas (na minha opinião) pois garantem sempre que o software será livre (e, pensando do ponto de vista do usuário, isso é melhor do que a possibilidade de alguém poder fechá-lo). Essa restrição, na verdade, garante a continuidade do processo colaborativo que é o desenvolvimento de software livre.

      • Ronaldo

        É de fato um assunto complexo, talvez por isso existam tantas variações de licenças.

      • Rudá Porto Filgueiras

        Álvaro, eu concordo com Ronaldo, por que BSD deixa gerar subprodutos proprietários de um código que pode sim ser uma forma de viabilizar e favorecer os usuários, vide o caso do MAC OSX e versões enterprise do PostgreSQL.

        Talvez esses produtos que hoje atendem esses usuários não seriam viáveis ou não com o custo que eles são ofertados por serem derivados de SL.

        Todo mundo sabe que o custo do OSX e seus upgrades são bem mais razoáveis que o Windows, e quanta gente se beneficiou dele para ter uma tecnologia melhor, incluindo o nicho dos usuários programadores.. 🙂

      • Rudá, acho que nesse caso você está falando do quesito “qualidade” e não “liberdade”, ou seja, você (como usuário) aceita abrir mão em alguns casos em que o software possui uma qualidade (ou funcionalidades) melhores (comparando com a versão livre) que te agradam.
        Acho que é exatamente isso que devemos pensar: até que ponto queremos abrir mão da nossa liberdade? Qual o preço dela? Partindo disso, dá pra ver que cada caso é um caso, cada usuário é um usuário e, nesse caso, não existe nem melhor, nem pior: existe o mais adequado para cada situação. Porém, se estamos vendo do ponto de vista do ecossistema como um todo, a opção em que todo mundo ganha mais é quando o software é sempre livre (se ele não é, começa a existir concentração de conhecimento/poder).

      • Rudá Porto Filgueiras

        Sim, pode ser qualidade, como novas funcionalidades, como inovação, o OSX por exemplo herdou as qualidades do FreeBSD, e em cima disso melhorou mais ainda, colocando uma UI e aplicativos inovadores e com usabilidade.

        De fato se a Apple não pudesse ter usado o FreeBSD como base, qual seria a opção do modelo de negócios?

        Claro que o ideal seria ter tudo isso no topo FreeBSD, devolvendo melhorias para a mesma base de código, e possibilitando que a parte proprietária convivesse com a livre.

        Eu na verdade nunca usei OSX justamente por que prefiro um ambiente mais livre, porém para uma infinidade de usuários foi muito bom isso ter ocorrido, pois além da inovação que a Apple colocou eles ainda herdaram toda a base estável e segura do FreeBSD… 😉

      • Rudá, esse é exatamente o ponto que eu queria evidenciar: O modelo de negócio é *irrelevante*.

        Tem que focar na relação de poder para observar as sutilezas da espoliação do usuário.

        A Apple usou o BSD, se beneficiou, maneiro, fez um software massa, ajudou vários usuários. Mas agora a coisa está desandando tanto em qualidade quanto em design, e cada vez mais usuários estão insatisfeitos. É um caso perfeito do problema da relação de poder que na prática realiza um sequestro virtual do usuário.

      • Rudá Porto Filgueiras

        Yeap! Entendi extamente isso, e sei que todo software proprietário tira os direitos do usuário.

        E que poder usar um software livre para um produto fechado, também é um direito que a GPL tira, propositalmente, para garantir aos usuários um modelo que incentive o SL e sua evolução para o uso comum.

        Mas se formos pensar em liberdade do usuário em si, que era o tema, BSD mantém uma liberdade que a GPL remove, para o “bem comum”.

      • Rudá, mas aí precisaríamos conceituar liberdade.

        Mas acho que já seria outro post. Na resposta ao Nelson eu explico a minha visão:

        “Open Source prioriza o livre arbítrio do indivíduo, enquanto Software Livre prioriza a liberdade de todas as pessoas.”

      • Antes de mais nada, parabéns pelo post grande Henrique, porém discordo de alguns pontos, e creio que software livre é para desenvolvedores/programadores e para os usuários.

        Antes de mais nada, Free Software é também Open Source pois o código fonte é um dos prerequisitos como você deve saber, porém Open Source não é Free Software, e você até explica em algumas partes. Creio que você e muitos aqui já tenham lido esse post da FSF, mas fica a dica: https://www.gnu.org/philosophy/free-software-for-freedom.html

        Mas então chegamos no ponto da “propriedade intelectual” ou até nos direitos autorais e patentes que eu gostaria de comentar. Pantentes no meu ponto de vista só beneficia aos empressários e empresas opressoras nesse grande pais capitalista que vivemos, os usuários e desenvolvedores são os que mais perdem. Podemos até citar as patentes em outros ninchos como o farmaceutico e etc, onde pessoas morrem porque empresa X tem a patente a empresa Y não pode fabricar o medicamento, sendo que se não existisse patente ambas empresas poderiam produzir mais rapidamente e o medicamento chegaria mais rápido e barato (devido a concorência) aos doentes.

        A GPL e Copyleft garante que ninguém irá romper a liberdade sugerida por essa licença e que todos poderão ter as 4 liberdades eternamente, isso garante aos usuários e desenvolvedores acesso ao código fonte, desenvolvendo melhorias, forks e etc. No meu ponto de vista há mais vantagens do que desvantagens. Já a BSD é bastante permissiva e como já mencionaram nos comentários anteriores, permite que empresas ou desenvolvedores feche o seu código fonte, um bom exemplo é a Apple que usa o kernel hibrído mach (microkernel) + freebsd (monolítico) e apesar de ter criado uma boa engine de video e vários softwares, a Apple não tem retornado nem metade do que ela ganha para a comunidade BSD, podemos ver na prática a família BSD mais conhecidas: FreeBSD, OpenBSD, NetBSD, DragonFly e outros, que são bastante usados em servidores porém em desktop tem sérios problemas com aceleração gráfica por exemplo e outros , que o GNU/Linux vem se destacando. A apple usa/usava o GCC, usa o BASH e outros softwares livres bem como várias empresas como o Google e etc, e o que elas tem feito de verdade para a comunidade de software livre e de código aberto (FLOSS)?

        Gostaria que um dia a sociedade pudesse pensar mais na humanidade, se importar mais com as pessoas, o meio ambiente e parar com esse modelo capitalista selvagem nessa selva de pedras movido a sangue dos mais humildes. Gostaria de um mundo melhor, e creio que o Free Software vem contribuíndo com isso a mais de 30 anos.

        Emfim, viva ao hackativismo e ao software livre 🙂

      • Maneiro, Dani! Compartilho da sua visão e dos seus anseios.

        Pode não ter ficado muito claro, mas o título foi uma provocação que tentei explicar logo no início do texto.

        Quando digo que “Software Livre não é para programadores”, essa é uma crítica ao argumento de que “GPL restringe e a liberdade do programador”. A crítica evolui contextualizando que Software Livre visa garantir a liberdade do usuário.

        Certamente um programador também pode ser um usuário. Uma pessoa pode exercer vários papeis. Mas para efeito do artigo, trato programador como aquele que usa o código para construção de outro software.

        Na minha resposta ao Nelson eu explico melhor isso: http://henriquebastos.net/software-livre-nao-e-para-programadores/#comment-1787685251

      • Desculpe-me Henrique, não tinha lido esse post 🙁

        Esse assunto é realmente complexo, mas é um assunto muito relevante para nós desenvolvedores e usuários.

        Parabéns Djangonauta 🙂

    • Falaê, Ronaldo! Blz?

      Eu compartilho da visão do @Álvaro Justen.

      A ideia do meu post foi deslocar o olhar do foco no indivíduo para o foco nas relações sociais, e as relações de poder que suprimem a liberdade das pessoas.

      Por isso penso que BSD não é mais livre. Ela é mais liberal, mas não é mais livre.

      Além disso o programador que precisar/quiser/desejar fechar o código ainda tem essa liberdade. E pode fazer isso de inúmeras maneiras, é só não usar Software Livre como base.

      • Ronaldo

        Sim, de fato. Como eu comentei no post do Alvaro, é um assunto complexo pacas !