summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/br/applying-free-sw-criteria.html
blob: 5e35d3e4cb84d4896a7fe587168feb54f24c5049 (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
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
<!--#set var="ENGLISH_PAGE" value="/philosophy/applying-free-sw-criteria.en.html" -->

<!--#include virtual="/server/header.pt-br.html" -->
<!-- Parent-Version: 1.79 -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>Aplicando os critérios de software livre - Projeto GNU - Free Software
Foundation</title>

<!--#include virtual="/philosophy/po/applying-free-sw-criteria.translist" -->
<!--#include virtual="/server/banner.pt-br.html" -->
<h2>Aplicando os critérios de software livre</h2>

<p>por Richard Stallman</p>

<p>As quatro liberdades essenciais fornecem os critérios para definir <a
href="/philosophy/free-sw.html">se uma parte específica do código é livre/<i
lang="es">libre</i></a> (isto é, respeita a liberdade de seus
usuários). Como devemos aplicá-los para julgar se um pacote de software, um
sistema operacional, um computador ou uma página web é adequado para
recomendação?</p>

<p>Se um programa é livre ou não afeta antes de mais nada as nossas decisões
sobre nossas atividades privadas: para manter nossa liberdade, precisamos
rejeitar os programas que a levariam embora. No entanto, também afeta o que
devemos dizer aos outros e fazer com os outros.</p>

<p>Um programa não livre é uma injustiça. Distribuir um programa não livre,
recomendar um programa não livre a outras pessoas ou, mais geralmente,
orientá-los para um curso que leve ao uso de software não livre significa
levá-los a desistir de sua liberdade. Para ter certeza, levar as pessoas a
usar software não livre não é o mesmo que instalar software não livre em
seus computadores, mas não devemos levar as pessoas na direção errada.</p>

<p>Em um nível mais profundo, não devemos apresentar um programa não livre como
solução, porque isso lhe conferiria legitimidade. O software não livre é um
problema; <a href="/philosophy/compromise.html"> apresentá-lo como uma
solução nega a existência do problema</a>.</p>

<p>Este artigo explica como aplicamos os critérios básicos do software livre ao
julgamento de vários tipos de coisas, para que possamos decidir se os
recomendamos ou não.</p>

<h3>Pacotes de softwares</h3>

<p>Para que um pacote de software seja livre, todo o código deve estar
livre. Mas não apenas o código. Como os arquivos de documentação, incluindo
manuais, <i lang="en">README</i>, registro de alterações (<i
lang="en">change log</i>), e assim por diante, são partes técnicas
essenciais de um pacote de software, <a
href="/philosophy/free-doc.html">eles também devem ser livres</a>.</p>

<p>Um pacote de software é normalmente usado junto com muitos outros pacotes e
interage com alguns deles. Quais tipos de interação com programas não livres
são eticamente aceitáveis?</p>

<p>Desenvolvemos o GNU para que houvesse um sistema operacional livre, porque
em 1983 não existia nenhum. À medida que desenvolvemos os componentes
iniciais do GNU, nos anos 80, era inevitável que cada componente dependesse
de software não livre. Por exemplo, nenhum programa C poderia ser executado
sem um compilador C não livre até que o GCC estivesse funcionando, e nenhum
poderia ser executado sem o Unix libc até que o glibc estivesse
funcionando. Cada componente poderia ser executado somente em sistemas não
livres, porque todos os sistemas não eram livres.</p>

<p>Depois que lançamos um componente que poderia ser executado em alguns
sistemas não livres, os usuários o transportavam para outros sistemas não
livres; esses <i lang="en">ports</i> não eram piores, eticamente, do que o
código específico da plataforma que precisávamos para desenvolver esses
componentes, então incorporamos seus <i lang="en">patches</i>.</p>

<p>Quando o kernel Linux foi lançado em 1992, ele preencheu a última lacuna no
sistema GNU. (Inicialmente, em 1991, o Linux havia sido distribuído sob uma
licença não livre.) A combinação de GNU e Linux criou um sistema operacional
livre completo &ndash; <a href="/gnu/linux-and-gnu.html">GNU/Linux</a>.</p>

<p>Nesse ponto, poderíamos ter excluído o suporte a plataformas não livres, mas
decidimos não fazer isso. Um sistema não livre é uma injustiça, mas não é
nossa culpa que um usuário execute um. Apoiar um programa livre nesse
sistema não aumenta a injustiça. E é útil, não apenas para usuários desses
sistemas, mas também para atrair mais pessoas para contribuir para o
desenvolvimento do programa livre.</p>

<p>No entanto, um programa não livre que é executado sobre um programa livre é
uma questão completamente diferente, porque leva os usuários a dar um passo
para longe da liberdade. Em alguns casos, não permitimos isso: por exemplo,
o <a href="https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html">GCC proíbe
plug-ins não livres</a>. Quando um programa permite complementos não livres,
deve pelo menos não orientar as pessoas para usá-los. Por exemplo,
escolhemos o LibreOffice sobre o OpenOffice porque o OpenOffice sugere o uso
de complementos não livres, enquanto o LibreOffice os evita. Nós
desenvolvemos <a href="http://directory.fsf.org/wiki/IceCat">IceCat</a>
inicialmente para evitar propor os complementos não livres sugeridos pelo
Firefox.</p>

<p>Na prática, se o pacote IceCat explicar como executar o IceCat no MacOS,
isso não levará as pessoas a executar o MacOS. Mas se falasse sobre algum
complemento não livre, isso encorajaria os usuários do IceCat a instalar o
complemento. Portanto, o pacote IceCat, incluindo manuais e site, não deve
falar sobre essas coisas.</p>

<p>Às vezes, um programa livre e um programa não livre interoperam, mas nenhum
é baseado no outro. Nossa regra para tais casos é que, se o programa não
livre for muito bem conhecido, devemos dizer às pessoas como usar nosso
programa livre com ele; mas se o programa proprietário é obscuro, não
devemos sugerir que ele existe. Às vezes, oferecemos suporte à interoperação
com o programa não livre, se ele estiver instalado, mas evite informar aos
usuários sobre a possibilidade de fazê-lo.</p>

<p>Rejeitamos os “aprimoramentos” que funcionariam apenas em um sistema não
livre. Estes encorajariam as pessoas a usarem o sistema não livre ao invés
do GNU, marcando um objetivo próprio.</p>

<h3>Distros GNU/Linux</h3>

<p>Após a lançamento do Linux em 1992, as pessoas começaram a desenvolver
distribuições GNU/Linux (“distros”). Apenas algumas distros são <a
href="/distros">totalmente em software livre</a>.</p>

<p>As regras para um pacote de software também se aplicam a uma distro: uma
distro ética deve conter apenas software livre e direcionar os usuários
apenas para o software livre. Mas o que significa para uma distro “conter”
um pacote de software específico?</p>

<p>Algumas distros instalam programas de pacotes binários que fazem parte da
distribuição; outras compilam cada programa a partir do fonte do <i
lang="en">upstream</i> e, literalmente, <em>contêm</em> apenas as receitas
para baixar e compilar. Para questões de liberdade, a forma como uma distro
instala um determinado pacote não é significativa; se apresentar esse pacote
como uma opção, ou se o site o fizer, dizemos que “contém” esse pacote.</p>

<p>Os usuários de um sistema livre têm controle sobre ele, para que possam
instalar o que quiserem. Distribuições livres fornecem recursos gerais com
os quais os usuários podem instalar seus próprios programas e suas versões
modificadas de programas livres; eles também podem instalar programas não
livres. Fornecer essas instalações gerais não é uma falha ética na
distribuição, porque os desenvolvedores da distribuição não são responsáveis
pelo que os usuários obtêm e instalam por sua própria iniciativa.</p>

<p>Os desenvolvedores tornam-se responsáveis pela instalação de software não
livre quando direcionam os usuários para um programa não livre &ndash; por
exemplo, colocando-o na lista de pacotes da distro ou distribuindo-o de seu
servidor ou apresentando-o como uma solução e não como um problema. Este é o
ponto em que a maioria das distros GNU/Linux tem uma falha ética.</p>

<p>As pessoas que instalam pacotes de software por conta própria têm um certo
nível de sofisticação: se dissermos a elas que “Baby contém código não
livre, mas o Gbaby é livre”, podemos esperar que eles se lembrem de qual é
qual. Mas as distros são recomendadas para usuários comuns que esqueceriam
tais detalhes. Eles pensariam: “Qual nome eles disseram que eu deveria usar?
Eu acho que foi Baby.”</p>

<p>Portanto, para recomendar uma distro para o público em geral, insistimos que
seu nome não seja semelhante a uma distro que rejeitamos, portanto nossa
mensagem recomendando apenas a distribuição livre pode ser transmitida de
maneira confiável.</p>

<p>Outra diferença entre uma distribuição e um pacote de software é a
probabilidade de adicionar código não livre. Os desenvolvedores de um
programa verificam cuidadosamente o código que eles adicionam. Se eles
decidiram lançar o programa, é improvável que acrescentem código não
livre. Houve exceções, incluindo o caso muito prejudicial dos “<i
lang="en">blobs</i> binários” que foram adicionados ao Linux, mas são uma
pequena fração dos programas livres que existem.</p>

<p>Em contraste, uma distro GNU/Linux normalmente contém milhares de pacotes, e
os desenvolvedores da distro podem adicionar centenas de pacotes por
ano. Sem um esforço cuidadoso para evitar pacotes que contenham algum
software não livre, alguns certamente irão se infiltrar. Como as distros
livres são poucas, pedimos aos desenvolvedores de cada distro livre que se
comprometam a manter o software livre de distro removendo qualquer código
não livre ou malware, como condição para listar essa distro. Veja as <a
href="/distros/free-system-distribution-guidelines.html">diretrizes de
distribuição livre do sistema GNU </a>.</p>

<p>Nós não pedimos tais promessas para pacotes de software livre: não é viável
e, felizmente, não é necessário. Obter promessas dos desenvolvedores de 30
mil programas livres para mantê-los livres evitaria alguns problemas, à
custa de muito trabalho para o pessoal da FSF; Além disso, a maioria desses
desenvolvedores não tem qualquer relação com o Projeto GNU e pode não ter
interesse em nos fazer promessas. Então, lidamos com os raros casos que
mudam de livre para não livres, quando descobrimos sobre eles.</p>

<h3>Periféricos</h3>

<p>Um periférico de computador precisa de software no computador &ndash; talvez
um driver, talvez um firmware a ser carregado pelo sistema no periférico
para fazê-lo funcionar. Assim, um periférico é aceitável para usar e
recomendar se ele pode ser usado de um computador que não tenha nenhum
software não livre instalado &ndash; o driver do periférico e qualquer
firmware que o sistema precise carregar nele são livres.</p>

<p>É simples verificar isso: conecte o periférico a um computador executando
uma distro GNU/Linux totalmente livre e veja se funciona. Mas a maioria dos
usuários gostaria de saber <em>antes</em> de comprar o periférico, então
listamos informações sobre muitos periféricos em <a
href="https://www.h-node.org/">h-node.org</a>, um banco de dados de hardware
para sistemas operacionais totalmente livres.</p>

<h3>Computadores</h3>

<p>Um computador contém software em vários níveis. Sob qual critério devemos
certificar um computador como “Respects Your Freedom”, ou seja, que respeita
sua liberdade?</p>

<p>Obviamente, o sistema operacional e tudo o que está acima dele deve estar
livre. Nos anos 90, o software de inicialização (BIOS, então) tornou-se
substituível e, como é executado na CPU, é o mesmo tipo de problema que o
sistema operacional. Portanto, programas como firmware e drivers instalados
em ou com o sistema ou o software de inicialização devem estar livres.</p>

<p>Se um computador tiver recursos de hardware que exigem drivers ou firmware
não livres instalados com o sistema, talvez possamos endossá-lo. Se for
utilizável sem esses recursos, e se acharmos que a maioria das pessoas não
será levada a instalar o software não livre para fazê-los funcionar, então
poderemos endossá-lo. Caso contrário, não podemos. Este será um julgamento.</p>

<p>Um computador pode ter firmware e microcódigo pré-instalados modificáveis em
níveis inferiores. Ele também pode ter código em verdadeira memória somente
leitura. Decidimos ignorar esses programas em nossos critérios de
certificação hoje, porque senão nenhum computador poderia atender e porque o
firmware que normalmente não é alterado é eticamente equivalente aos
circuitos. Portanto, nossos critérios de certificação cobrem apenas o código
que é executado no processador principal do computador e não está na
verdadeira memória somente leitura. Quando e como o software livre se torna
possível para outros níveis de processamento, também precisaremos de
software livre nesses níveis.</p>

<p>Já que a certificação de um produto é uma promoção ativa, insistimos que o
vendedor nos ajude em troca, falando sobre <a
href="/philosophy/free-software-even-more-important.html">software livre</a>
em vez de <a href="/philosophy/open-source-misses-the-point.html">código
aberto</a> e referindo-se à combinação de GNU e Linux como <a
href="/gnu/linux-and-gnu.html">“GNU/Linux”</a>. Não temos obrigação de
promover ativamente projetos que não reconheçam nosso trabalho e apoiem
nosso movimento.</p>

<p>Veja <a href="https://www.fsf.org/resources/hw/endorsement/criteria">nossos
critérios para a certificação</a>.</p>

<h3>Páginas web</h3>

<p>Atualmente, muitas páginas web contêm programas JavaScript complexos e não
funcionam sem eles. Essa é uma prática prejudicial, pois dificulta o
controle dos usuários sobre sua computação. Além disso, a maioria desses
programas é não livre, é uma injustiça. Muitas vezes, o código JavaScript
espiona o usuário. <a href="/philosophy/javascript-trap.html">O JavaScript
se transformou em um ataque à liberdade dos usuários</a>.</p>

<p>Para resolver esse problema, desenvolvemos o <a
href="/software/librejs">LibreJS</a>, um complemento para o Firefox que
bloqueia código de JavaScript não livre e não trivial. (Não há necessidade
de bloquear os scripts simples que implementam hacks de interface de usuário
menores.) Pedimos que os sites libertem seus programas em JavaScript e
marquem suas licenças para reconhecimento pelo LibreJS.</p>

<p>Enquanto isso, é ético fazer link a uma página web que contém um programa
JavaScript não livre? Se fôssemos totalmente inflexíveis, nos conectaríamos
apenas ao código JavaScript livre. No entanto, muitas páginas funcionam
mesmo quando o código JavaScript não é executado. Além disso, na maioria das
vezes você encontrará JavaScript não livre de outras maneiras além de seguir
nossos links; para evitar isso, você deve usar o LibreJS ou desativar o
JavaScript. Por isso, decidimos ir em frente e criar um link para páginas
que funcionam sem JavaScript não livre, ao mesmo tempo em que instamos os
usuários a se protegerem do JavaScript não livre em geral.</p>

<p>No entanto, se uma página não puder fazer seu trabalho sem executar o código
JavaScript não livre, fazer link a ela inegavelmente pedirá às pessoas que
executem esse código não livre. Em princípio, não acrescentamos links a tais
páginas.</p>

<h3>Conclusão</h3>

<p>Aplicar a ideia básica de que o <em>software deve ser livre</em> para
situações diferentes leva a políticas práticas diferentes. À medida que
surgirem novas situações, o Projeto GNU e a Free Software Foundation
adaptarão nossos critérios de liberdade de modo a levar os usuários de
computador à liberdade, na prática e em princípio. Ao recomendar apenas
programas, distros e produtos de hardware que respeitem a liberdade, e
declarar sua política, você pode dar o apoio tão necessário ao movimento do
software livre.</p>

<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">
<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 submitting 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 o envio de
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; 2015, 2016 Richard Stallman</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.</div>

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

$Date: 2020/05/22 22:05:20 $

<!-- timestamp end -->
</p>
</div>
</div>
</body>
</html>