taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

when-free-depends-on-nonfree.html (10677B)


      1 <!--#set var="ENGLISH_PAGE" value="/philosophy/when-free-depends-on-nonfree.en.html" -->
      2 
      3 <!--#include virtual="/server/header.pt-br.html" -->
      4 <!-- Parent-Version: 1.96 -->
      5 <!-- This page is derived from /server/standards/boilerplate.html -->
      6 <!--#set var="TAGS" value="essays aboutfs free-nonfree" -->
      7 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
      8 
      9 <!-- This file is automatically generated by GNUnited Nations! -->
     10 <title>Quando software livre depende de não livre - Projeto GNU - Free Software
     11 Foundation</title>
     12 
     13 <!--#include virtual="/philosophy/po/when-free-depends-on-nonfree.translist" -->
     14 <!--#include virtual="/server/banner.pt-br.html" -->
     15 <!--#include virtual="/philosophy/ph-breadcrumb.pt-br.html" -->
     16 <!--GNUN: OUT-OF-DATE NOTICE-->
     17 <!--#include virtual="/server/top-addendum.pt-br.html" -->
     18 <div class="article reduced-width">
     19 <h2>Quando software livre depende de não livre</h2>
     20 
     21 <address class="byline">por Richard Stallman</address>
     22 
     23 <p>Quando um programa é software livre (livre como em liberdade), isso
     24 significa que ele dá a seus usuários <a href="/philosophy/free-sw.html">as
     25 quatro liberdades</a> para que controlem o que o programa faz. Na maioria
     26 dos casos, isso é suficiente para que a distribuição do programa seja ética;
     27 mas nem sempre. Existem problemas adicionais que podem surgir em
     28 circunstâncias específicas. Este artigo descreve um problema sutil, em que a
     29 atualização do programa livre requer o uso de um programa não livre.</p>
     30 
     31 <p>Se o uso do programa livre depender inevitavelmente de outro programa que
     32 não é livre, dizemos que o programa livre está “preso”. Seu código é
     33 software livre e você pode copiar partes de seu código em outros programas
     34 livre com resultados bons e éticos. Mas você não deve <em>executar</em> o
     35 programa preso, porque isso implica entregar sua liberdade ao outro programa
     36 não livre.</p>
     37 
     38 <p>Alguém que defende os princípios do software livre não faria conscientemente
     39 um programa preso. No entanto, muitos programas livres são desenvolvidos por
     40 pessoas ou empresas que não apoiam esses princípios ou que não entendem o
     41 problema.</p>
     42 
     43 <p>Dependência de um programa não livre pode assumir várias formas. A forma
     44 mais básica é quando a linguagem de programação usada não tem implementação
     45 livre. Os primeiros programas que escrevi para o sistema GNU nos anos 80,
     46 incluindo GNU Emacs, GDB e GNU Make, tiveram que ser compilados com o
     47 compilador C não livre da AT&amp;T, porque não havia compilador C livre até
     48 que eu escrevesse o GCC. Felizmente, esse tipo de problema é principalmente
     49 uma coisa do passado; agora temos compiladores e plataformas livres para
     50 praticamente todas as linguagens que alguém usa para escrever software
     51 livre.</p>
     52 
     53 <p>Podemos liberar o programa desse tipo de armadilha traduzindo-o para outra
     54 linguagem ou lançando uma implementação livre da linguagem na qual ele está
     55 escrito. Assim, quando uma implementação Java completa e livre tornou-se
     56 disponível, isso liberou todos os programas livres em Java da <a
     57 href="/philosophy/java-trap.html">Armadilha do Java</a>.</p>
     58 
     59 <p>Esse tipo de dependência é conceitualmente simples porque decorre da
     60 situação em um determinado instante no tempo. No momento T, o programa livre
     61 P não será executado sem a plataforma de programação não livre Q. Para
     62 emprestar um termo da linguística, essa relação é “sincrônica”.</p>
     63 
     64 <p>Mais recentemente, vimos outro tipo de dependência em programas de banco de
     65 dados, onde você pode compilar e executar qualquer versão do programa no
     66 mundo livre, mas a atualização da versão N para a versão N+1 requer um
     67 programa não livre.</p>
     68 
     69 <p>Isso acontece porque o formato interno do banco de dados muda da versão N
     70 para a versão N+1. Se você estiver usando seriamente a versão N,
     71 provavelmente terá um grande banco de dados existente no formato da versão
     72 N. Para atualizar para a versão N+1 do software de banco de dados, você
     73 precisa reformatar esse banco de dados.</p>
     74 
     75 <p>Se a maneira que você deve fazer isso é executando um programa privativo de
     76 reformatação de banco de dados ou usando o serviço do desenvolvedor que é
     77 SaaSS (<a href="/philosophy/who-does-that-server-really-serve.html">Serviço
     78 como Substituto de Software</a>), o software de banco de dados está preso
     79 &ndash; mas de uma maneira mais sutil. Qualquer versão única do programa de
     80 banco de dados pode ser usada sem software não livre ou SaaSS. O problema
     81 surge quando você tenta continuar usando o programa a longo prazo, o que
     82 implica atualizá-lo de tempos em tempos; você não pode usá-lo desta forma
     83 sem algum software não livre ou equivalente. Este programa de banco de dados
     84 está preso ao longo do tempo &ndash; podemos chamá-lo de “preso
     85 diacronicamente”, pegando emprestado outro termo da linguística.</p>
     86 
     87 <p>Por exemplo, o programa OpenERP (desde que renomeado “Odoo”), embora livre,
     88 está preso diacronicamente. O <a href="/software/health/">GNU Health</a>,
     89 nosso pacote livre para administrar uma clínica médica, inicialmente usava o
     90 OpenERP. Em 2011, o desenvolvedor do GNU Health, Luis Falcón, descobriu que
     91 a atualização para a próxima versão do OpenERP exigia o envio do banco de
     92 dados (cheio de dados médicos dos pacientes) para o servidor do OpenERP para
     93 reformatação. Isto é SaaSS: requer que o usuário do GNU Health (uma clínica)
     94 confie sua própria computação e seus dados ao desenvolvedor da empresa
     95 OpenERP. Em vez de se curvar, Falcón reescreveu o GNU Health para usar o <a
     96 href="https://www.tryton.org">Tryton</a>.</p>
     97 
     98 <p>O uso do SaaSS é inerentemente equivalente à execução de um programa
     99 privativo com funcionalidade bisbilhotar e uma <em>backdoor</em>
    100 universal. O serviço pode manter uma cópia dos bancos de dados que os
    101 usuários reformatam. Mesmo se pudermos confiar na empresa que administra o
    102 serviço para nunca mostrar intencionalmente qualquer forma de dados a
    103 ninguém, não podemos ter certeza de que ela não será acessada pelas <a
    104 href="/philosophy/surveillance-vs-democracy.html">agências de inteligência
    105 de vários países</a> ou crackers de segurança (<a
    106 href="https://stallman.org/articles/on-hacking.html">por favor, não os chame
    107 “hackers”</a>).</p>
    108 
    109 <p>Quando um programa está preso diacronicamente, soltá-lo da armadilha requer
    110 mais do que um trabalho de programação única. Em vez disso, o trabalho tem
    111 que ser feito continuamente, sempre que houver uma mudança no formato dos
    112 dados. Lançar um projeto com um compromisso de longo prazo para continuar
    113 fazendo isso não é fácil. Pode ser mais fácil pressionar a empresa a parar
    114 de tentar prender usuários &ndash; rejeitando o programa preso até que isso
    115 aconteça. Dado o quão difícil é liberar o programa, é melhor você ficar
    116 longe dele.</p>
    117 
    118 <p>É possível experimentar um programa livre preso diacronicamente sem software
    119 não livre, mas se você vai fazer mais do que mexer, você deve evitar
    120 usá-lo. Ambas as empresas e indivíduos encontrarão alternativas livres que
    121 não apresentam esse problema; tudo o que é preciso para evitar a armadilha é
    122 reconhecê-la.</p>
    123 </div>
    124 
    125 <div class="translators-notes">
    126 
    127 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
    128  </div>
    129 </div>
    130 
    131 <!-- for id="content", starts in the include above -->
    132 <!--#include virtual="/server/footer.pt-br.html" -->
    133 <div id="footer" role="contentinfo">
    134 <div class="unprintable">
    135 
    136 <p>Envie perguntas em geral sobre a FSF e o GNU para <a
    137 href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Também existem <a
    138 href="/contact/">outros meios de contatar</a> a FSF. Links quebrados e
    139 outras correções ou sugestões podem ser enviadas para <a
    140 href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
    141 
    142 <p>
    143 <!-- TRANSLATORS: Ignore the original text in this paragraph,
    144         replace it with the translation of these two:
    145 
    146         We work hard and do our best to provide accurate, good quality
    147         translations.  However, we are not exempt from imperfection.
    148         Please send your comments and general suggestions in this regard
    149         to <a href="mailto:web-translators@gnu.org">
    150 
    151         &lt;web-translators@gnu.org&gt;</a>.</p>
    152 
    153         <p>For information on coordinating and contributing translations of
    154         our web pages, see <a
    155         href="/server/standards/README.translations.html">Translations
    156         README</a>. -->
    157 A equipe de traduções para o português brasileiro se esforça para oferecer
    158 traduções precisas e de boa qualidade, mas não estamos isentos de erros. Por
    159 favor, envie seus comentários e sugestões em geral sobre as traduções para
    160 <a
    161 href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.
    162 </p><p>Consulte o <a href="/server/standards/README.translations.html">Guia
    163 para as traduções</a> para mais informações sobre a coordenação e a
    164 contribuição com traduções das páginas deste site.</p>
    165 </div>
    166 
    167 <!-- Regarding copyright, in general, standalone pages (as opposed to
    168      files generated as part of manuals) on the GNU web server should
    169      be under CC BY-ND 4.0.  Please do NOT change or remove this
    170      without talking with the webmasters or licensing team first.
    171      Please make sure the copyright date is consistent with the
    172      document.  For web pages, it is ok to list just the latest year the
    173      document was modified, or published.
    174      
    175      If you wish to list earlier years, that is ok too.
    176      Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
    177      years, as long as each year in the range is in fact a copyrightable
    178      year, i.e., a year in which the document was published (including
    179      being publicly visible on the web or in a revision control system).
    180      
    181      There is more detail about copyright years in the GNU Maintainers
    182      Information document, www.gnu.org/prep/maintain. -->
    183 <p>Copyright &copy; 2016, 2021 Free Software Foundation, Inc.</p>
    184 
    185 <p>Esta página está licenciada sob uma licença <a rel="license"
    186 href="http://creativecommons.org/licenses/by-nd/4.0/deed.pt_BR">Creative
    187 Commons Atribuição-SemDerivações 4.0 Internacional</a>.</p>
    188 
    189 <!--#include virtual="/server/bottom-notes.pt-br.html" -->
    190 <div class="translators-credits">
    191 
    192 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
    193 Traduzido por: Rafael Fontenelle <a
    194 href="mailto:rafaelff@gnome.org">&lt;rafaelff@gnome.org&gt;</a>, 2019-2021.</div>
    195 
    196 <p class="unprintable"><!-- timestamp start -->
    197 Última atualização:
    198 
    199 $Date: 2021/09/05 10:37:40 $
    200 
    201 <!-- timestamp end -->
    202 </p>
    203 </div>
    204 </div>
    205 <!-- for class="inner", starts in the banner include -->
    206 </body>
    207 </html>