summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/br/when-free-depends-on-nonfree.html
blob: 5318f74c113b02f64165f6f73dda67753e196f7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<!--#set var="ENGLISH_PAGE" value="/philosophy/when-free-depends-on-nonfree.en.html" -->

<!--#include virtual="/server/header.pt-br.html" -->
<!-- Parent-Version: 1.96 -->
<!-- This page is derived from /server/standards/boilerplate.html -->
<!--#set var="TAGS" value="essays aboutfs free-nonfree" -->
<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>Quando software livre depende de não livre - Projeto GNU - Free Software
Foundation</title>

<!--#include virtual="/philosophy/po/when-free-depends-on-nonfree.translist" -->
<!--#include virtual="/server/banner.pt-br.html" -->
<!--#include virtual="/philosophy/ph-breadcrumb.pt-br.html" -->
<!--GNUN: OUT-OF-DATE NOTICE-->
<!--#include virtual="/server/top-addendum.pt-br.html" -->
<div class="article reduced-width">
<h2>Quando software livre depende de não livre</h2>

<address class="byline">por Richard Stallman</address>

<p>Quando um programa é software livre (livre como em liberdade), isso
significa que ele dá a seus usuários <a href="/philosophy/free-sw.html">as
quatro liberdades</a> para que controlem o que o programa faz. Na maioria
dos casos, isso é suficiente para que a distribuição do programa seja ética;
mas nem sempre. Existem problemas adicionais que podem surgir em
circunstâncias específicas. Este artigo descreve um problema sutil, em que a
atualização do programa livre requer o uso de um programa não livre.</p>

<p>Se o uso do programa livre depender inevitavelmente de outro programa que
não é livre, dizemos que o programa livre está “preso”. Seu código é
software livre e você pode copiar partes de seu código em outros programas
livre com resultados bons e éticos. Mas você não deve <em>executar</em> o
programa preso, porque isso implica entregar sua liberdade ao outro programa
não livre.</p>

<p>Alguém que defende os princípios do software livre não faria conscientemente
um programa preso. No entanto, muitos programas livres são desenvolvidos por
pessoas ou empresas que não apoiam esses princípios ou que não entendem o
problema.</p>

<p>Dependência de um programa não livre pode assumir várias formas. A forma
mais básica é quando a linguagem de programação usada não tem implementação
livre. Os primeiros programas que escrevi para o sistema GNU nos anos 80,
incluindo GNU Emacs, GDB e GNU Make, tiveram que ser compilados com o
compilador C não livre da AT&amp;T, porque não havia compilador C livre até
que eu escrevesse o GCC. Felizmente, esse tipo de problema é principalmente
uma coisa do passado; agora temos compiladores e plataformas livres para
praticamente todas as linguagens que alguém usa para escrever software
livre.</p>

<p>Podemos liberar o programa desse tipo de armadilha traduzindo-o para outra
linguagem ou lançando uma implementação livre da linguagem na qual ele está
escrito. Assim, quando uma implementação Java completa e livre tornou-se
disponível, isso liberou todos os programas livres em Java da <a
href="/philosophy/java-trap.html">Armadilha do Java</a>.</p>

<p>Esse tipo de dependência é conceitualmente simples porque decorre da
situação em um determinado instante no tempo. No momento T, o programa livre
P não será executado sem a plataforma de programação não livre Q. Para
emprestar um termo da linguística, essa relação é “sincrônica”.</p>

<p>Mais recentemente, vimos outro tipo de dependência em programas de banco de
dados, onde você pode compilar e executar qualquer versão do programa no
mundo livre, mas a atualização da versão N para a versão N+1 requer um
programa não livre.</p>

<p>Isso acontece porque o formato interno do banco de dados muda da versão N
para a versão N+1. Se você estiver usando seriamente a versão N,
provavelmente terá um grande banco de dados existente no formato da versão
N. Para atualizar para a versão N+1 do software de banco de dados, você
precisa reformatar esse banco de dados.</p>

<p>Se a maneira que você deve fazer isso é executando um programa privativo de
reformatação de banco de dados ou usando o serviço do desenvolvedor que é
SaaSS (<a href="/philosophy/who-does-that-server-really-serve.html">Serviço
como Substituto de Software</a>), o software de banco de dados está preso
&ndash; mas de uma maneira mais sutil. Qualquer versão única do programa de
banco de dados pode ser usada sem software não livre ou SaaSS. O problema
surge quando você tenta continuar usando o programa a longo prazo, o que
implica atualizá-lo de tempos em tempos; você não pode usá-lo desta forma
sem algum software não livre ou equivalente. Este programa de banco de dados
está preso ao longo do tempo &ndash; podemos chamá-lo de “preso
diacronicamente”, pegando emprestado outro termo da linguística.</p>

<p>Por exemplo, o programa OpenERP (desde que renomeado “Odoo”), embora livre,
está preso diacronicamente. O <a href="/software/health/">GNU Health</a>,
nosso pacote livre para administrar uma clínica médica, inicialmente usava o
OpenERP. Em 2011, o desenvolvedor do GNU Health, Luis Falcón, descobriu que
a atualização para a próxima versão do OpenERP exigia o envio do banco de
dados (cheio de dados médicos dos pacientes) para o servidor do OpenERP para
reformatação. Isto é SaaSS: requer que o usuário do GNU Health (uma clínica)
confie sua própria computação e seus dados ao desenvolvedor da empresa
OpenERP. Em vez de se curvar, Falcón reescreveu o GNU Health para usar o <a
href="https://www.tryton.org">Tryton</a>.</p>

<p>O uso do SaaSS é inerentemente equivalente à execução de um programa
privativo com funcionalidade bisbilhotar e uma <em>backdoor</em>
universal. O serviço pode manter uma cópia dos bancos de dados que os
usuários reformatam. Mesmo se pudermos confiar na empresa que administra o
serviço para nunca mostrar intencionalmente qualquer forma de dados a
ninguém, não podemos ter certeza de que ela não será acessada pelas <a
href="/philosophy/surveillance-vs-democracy.html">agências de inteligência
de vários países</a> ou crackers de segurança (<a
href="https://stallman.org/articles/on-hacking.html">por favor, não os chame
“hackers”</a>).</p>

<p>Quando um programa está preso diacronicamente, soltá-lo da armadilha requer
mais do que um trabalho de programação única. Em vez disso, o trabalho tem
que ser feito continuamente, sempre que houver uma mudança no formato dos
dados. Lançar um projeto com um compromisso de longo prazo para continuar
fazendo isso não é fácil. Pode ser mais fácil pressionar a empresa a parar
de tentar prender usuários &ndash; rejeitando o programa preso até que isso
aconteça. Dado o quão difícil é liberar o programa, é melhor você ficar
longe dele.</p>

<p>É possível experimentar um programa livre preso diacronicamente sem software
não livre, mas se você vai fazer mais do que mexer, você deve evitar
usá-lo. Ambas as empresas e indivíduos encontrarão alternativas livres que
não apresentam esse problema; tudo o que é preciso para evitar a armadilha é
reconhecê-la.</p>
</div>

<div class="translators-notes">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
 </div>
</div>

<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.pt-br.html" -->
<div id="footer" role="contentinfo">
<div class="unprintable">

<p>Envie perguntas em geral sobre a FSF e o GNU para <a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Também existem <a
href="/contact/">outros meios de contatar</a> a FSF. Links quebrados e
outras correções ou sugestões podem ser enviadas para <a
href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>

<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and contributing translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
A equipe de traduções para o português brasileiro se esforça para oferecer
traduções precisas e de boa qualidade, mas não estamos isentos de erros. Por
favor, envie seus comentários e sugestões em geral sobre as traduções para
<a
href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.
</p><p>Consulte o <a href="/server/standards/README.translations.html">Guia
para as traduções</a> para mais informações sobre a coordenação e a
contribuição com traduções das páginas deste site.</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->
<p>Copyright &copy; 2016, 2021 Free Software Foundation, Inc.</p>

<p>Esta página está licenciada sob uma licença <a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/deed.pt_BR">Creative
Commons Atribuição-SemDerivações 4.0 Internacional</a>.</p>

<!--#include virtual="/server/bottom-notes.pt-br.html" -->
<div class="translators-credits">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
Traduzido por: Rafael Fontenelle <a
href="mailto:rafaelff@gnome.org">&lt;rafaelff@gnome.org&gt;</a>, 2019-2021.</div>

<p class="unprintable"><!-- timestamp start -->
Última atualização:

$Date: 2021/09/05 10:37:40 $

<!-- timestamp end -->
</p>
</div>
</div>
<!-- for class="inner", starts in the banner include -->
</body>
</html>