summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/br/javascript-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/br/javascript-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/br/javascript-trap.html106
1 files changed, 63 insertions, 43 deletions
diff --git a/talermerchantdemos/blog/articles/br/javascript-trap.html b/talermerchantdemos/blog/articles/br/javascript-trap.html
index e9d4e12..4d44c19 100644
--- a/talermerchantdemos/blog/articles/br/javascript-trap.html
+++ b/talermerchantdemos/blog/articles/br/javascript-trap.html
@@ -1,31 +1,40 @@
<!--#set var="ENGLISH_PAGE" value="/philosophy/javascript-trap.en.html" -->
<!--#include virtual="/server/header.pt-br.html" -->
-<!-- Parent-Version: 1.90 -->
+<!-- Parent-Version: 1.96 -->
+<!-- This page is derived from /server/standards/boilerplate.html -->
+<!--#set var="TAGS" value="essays licensing traps" -->
+<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
<!-- This file is automatically generated by GNUnited Nations! -->
-<title>A Armadilha do JavaScript</title>
+<title>A Armadilha do JavaScript - Projeto GNU - Free Software Foundation</title>
<!--#include virtual="/philosophy/po/javascript-trap.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>A Armadilha do JavaScript</h2>
-<p>por <a href="http://www.stallman.org/">Richard Stallman</a></p>
+<address class="byline">por <a href="https://www.stallman.org/">Richard Stallman</a></address>
<p><strong>Você pode estar executando programas não livres em seu computador
todo dia sem perceber &ndash; por meio de seu navegador web.</strong></p>
<!-- any links that used to point to the appendices should point to
free-your-javascript.html instead. -->
-<blockquote>
+<div class="announcement">
+<hr class="no-display" />
<p>Webmasters: há <a href="/software/librejs/free-your-javascript.html">várias
formas</a> de indicar a licença de programas JavaScript em um site.</p>
-</blockquote>
+<hr class="no-display" />
+</div>
<p>Na comunidade de software livre, a ideia de que <a
-href="/philosophy/free-software-even-more-important.html"> qualquer
-programas não livre maltrata seus usuários</a> é familiar. Alguns de nós
-defendem nossa liberdade rejeitando todos os softwares proprietários em seus
+href="/philosophy/free-software-even-more-important.html"> qualquer programa
+não livre maltrata seus usuários</a> é familiar. Alguns de nós defendem
+nossa liberdade rejeitando todos os softwares privativos em seus
computadores. Muitos outros reconhecem a falta de liberdade como uma afronta
ao programa.</p>
@@ -34,12 +43,12 @@ navegadores oferecem para instalar, já que eles podem ser livres ou não
livres. Mas os navegadores executam outros programas não livres sem pedir
autorização e sem avisar &ndash; programas contidos ou vinculados em páginas
web. Esses programas são muito frequentemente escritos em JavaScript, porém
-outros linguagens também são usados.</p>
+outras linguagens também são usadas.</p>
<p>JavaScript (oficialmente chamado de ECMAScript, mas poucos usam este nome)
foi, certa vez, usado para pequenas decorações estéticas em páginas web, tal
como recursos de exibição e navegação fofas, mas não essenciais. Era
-aceitável considerá-los como mera extensões de marcação HTML, em vez de
+aceitável considerá-los como meras extensões de marcação HTML, em vez de
verdadeiros softwares, e em desconsideração da questão.</p>
<p>Alguns sites ainda usam JavaScript desta forma, mas muitos o usam para
@@ -63,7 +72,7 @@ portanto, os programas são não livres.</p>
<p>Além de ser não livre, muitos desses programas são <em>malwares</em> porque
eles <a
-href="http://github.com/w3c/fingerprinting-guidance/issues/8">bisbilhotam o
+href="https://github.com/w3c/fingerprinting-guidance/issues/8">bisbilhotam o
usuário</a>. Ainda mais desagradável, alguns sites usam serviços que
registram <a
href="https://freedom-to-tinker.com/2017/11/15/no-boundaries-exfiltration-of-personal-data-by-session-replay-scripts/">todas
@@ -81,28 +90,36 @@ programas não livres e não triviais para, então, bloqueá-los. Porém, mesmo
na comunidade de software livre, a maioria dos usuários não estão cientes
desta questão, o silêncio dos navegadores tende a ocultar isso.</p>
-<p>É possível lançar um programa JavaScript como software livre, por meio da
-distribuição do código-fonte sob uma licença de software livre. Se o
-programa é independente &ndash; se sua funcionalidade e propósito são
-independentes da página na qual ele veio &ndash; não há problema; você pode
-copiá-lo para um arquivo em sua máquina, modificá-lo e visitar aquele
-arquivo com um navegador para executá-lo. Mas este é um caso incomum.</p>
-
-<p>Geralmente, programas JavaScript são feitos para funcionar com uma página ou
-site em particular, e a página ou site depende deles para funcionar. Então,
-um outro problema surge: mesmo se o fonte do programa esteja disponível,
+<p>Para ser claro, a linguagem JavaScript não é inerentemente melhor ou pior
+para a liberdade dos usuários do que qualquer outra linguagem. É possível
+lançar um programa JavaScript como software livre, por meio da distribuição
+do código-fonte sob uma licença de software livre. Se o programa é
+independente &ndash; se sua funcionalidade e propósito são independentes da
+página na qual ele veio &ndash; não há problema; você pode copiá-lo para um
+arquivo em sua máquina, modificá-lo e visitar aquele arquivo com um
+navegador para executá-lo. É ainda possível empacotá-lo para instalação como
+outros programas livres e invocá-lo com um comando shell. Esses programas
+não apresentam nenhum problema moral especial diferente daqueles dos
+programas C.</p>
+
+<p>O problema da armadilha do JavaScript se aplica quando o programa JavaScript
+vem junto com uma página web que os usuários visitam. Esses programas
+JavaScript são escritos para funcionar com uma página ou site específico, e
+a página ou site depende deles para funcionar.</p>
+
+<p>Digamos que você copie e modifique o código JavaScript da página. Então, um
+outro problema surge: mesmo se o fonte do programa estiver disponível,
navegadores não oferecem uma forma de executar sua versão modificada em vez
do original ao visitar aquela página ou aquele site. O efeito é comparável à
tivoização, apesar de, em princípio, não ser tão difícil de superar.</p>
<p>JavaScript não é a única linguagem que sites web usam para programas
enviados pelo usuários. O Flash oferece suporte a programação por meio de
-uma variante estendida do JavaScript; se nós alguma vez tivermos um
-reprodutor Flash livre suficientemente completo, ainda teremos que lidar com
-a questão de programas Flash não livres. Silverlight parece criar um
-problema similar ao Flash, só que pior, já que a Microsoft o usa como uma
-plataforma para codecs não livres. Um substituto livre para o Silverlight
-não faz o trabalho para o mundo livre a menos que venha codecs livres em
+uma variante estendida do JavaScript, mas esta é uma coisa do
+passado. Silverlight da Microsoft parece criar um problema similar ao do
+Flash, só que pior, já que a Microsoft o usa como uma plataforma para codecs
+não livres. Um substituto livre para o Silverlight não faz o trabalho
+adequadamente para o mundo livre a menos que venha codecs livres em
substituição.</p>
<p>Os applets do Java também são executados no navegador, e trazem questões
@@ -110,7 +127,7 @@ similares. Em geral, qualquer forma de sistema de applets representa esse
tipo de problema. Tendo um ambiente de execução livre para um applet só nos
traz o suficiente para encontrar o problema.</p>
-<p>Teoricamente, é possível que programar em HTML e CSS, mas, na prática, essa
+<p>Teoricamente, é possível programar em HTML e CSS, mas, na prática, essa
capacidade é limitada e inconveniente; para que seja possível que o programa
faça alguma coisa, é necessário um <cite>hack</cite> impressionante. Tais
programas devem ser livres, mas CSS não é um problema sério para a liberdade
@@ -120,7 +137,7 @@ dos usuários em 2019.</p>
para se comunicar apenas por meio de formatos e protocolos que são livres
(alguns dizem “abertos”); isto é, cuja documentação está publicada e a qual
qualquer um é livre para implementar. Porém, a presença de programas
-JavaScript nas páginas web tornar aquele critério ineficiente. A linguagem
+JavaScript nas páginas web tornam aquele critério ineficiente. A linguagem
do JavaScript em si, como um formato, é livre, e o uso de JavaScript em um
site web não necessariamente é ruim. Porém, como já vimos acima, pode ser
ruim &ndash; se o programa JavaScript for não livre. Quando o site transmite
@@ -142,7 +159,7 @@ integrados que eles indiscutivelmente formam partes de um único
programa. Esse artigo tem como escopo apenas a questão do software do
cliente. Nós vamos tratar da questão do servidor separadamente.</p>
-<p>Em termos práticos, como nós podemos lidar com o programa de programas
+<p>Em termos práticos, como nós podemos lidar com o problema de programas
JavaScript não livres e não triviais em sites? O primeiro passo é evitar
executá-lo.</p>
@@ -167,7 +184,7 @@ construção de loop.</li>
<li>um código fora das definições dadas chama qualquer coisa, exceto primitivas
e funções definidas anteriormente na página.</li>
- <li>um código fora das definições dadas contém mais mais de três construtos
+ <li>um código fora das definições dadas contém mais de três construtos
condicionais e construção de loop, no total.</li>
<li>ele chama <b>eval</b>.</li>
@@ -181,7 +198,7 @@ dinâmico, que se parece com <b><em>objeto</em>[<em>propriedade</em>]</b>.</li>
<li>ele usa construtos JavaScript dinâmicos que são difíceis de analisar sem
interpretar o programa, ou é carregado junto com scripts que usam tais
-construtos. Especificamente, usando qualquer outra construtos que não uma
+construtos. Especificamente, usando quaisquer outros construtos que não uma
string literal com determinados métodos (<b>Obj.write</b>,
<b>Obj.createElement</b> e outros).</li>
</ul>
@@ -226,16 +243,19 @@ fazer isso &ndash; mas lembre-se de desabilitá-lo novamente em seguida.</p>
<!-- any links that used to point to the appendices should point to
free-your-javascript.html instead. -->
-<blockquote>
+<div class="announcement">
+<hr class="no-display" />
<p>Webmasters: há <a href="/software/librejs/free-your-javascript.html">várias
formas</a> de indicar a licença de programas JavaScript em um site.</p>
-</blockquote>
+<hr class="no-display" />
+</div>
<p><strong>Agradecimentos:</strong> Obrigado a <a
href="/people/people.html#mattlee">Matt Lee</a> e <a
-href="http://ejohn.org">John Resig</a> por ajudarem na definição de nosso
+href="https://ejohn.org">John Resig</a> por ajudarem na definição de nosso
critério proposto e a David Parunakian por trazer o programa à minha
atenção.</p>
+</div>
<div class="translators-notes">
@@ -245,7 +265,7 @@ atenção.</p>
<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.pt-br.html" -->
-<div id="footer">
+<div id="footer" role="contentinfo">
<div class="unprintable">
<p>Envie perguntas em geral sobre a FSF e o GNU para <a
@@ -265,7 +285,7 @@ href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
&lt;web-translators@gnu.org&gt;</a>.</p>
- <p>For information on coordinating and submitting translations of
+ <p>For information on coordinating and contributing translations of
our web pages, see <a
href="/server/standards/README.translations.html">Translations
README</a>. -->
@@ -275,8 +295,8 @@ 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>
+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
@@ -295,7 +315,7 @@ traduções das páginas deste site.</p>
There is more detail about copyright years in the GNU Maintainers
Information document, www.gnu.org/prep/maintain. -->
-<p>Copyright &copy; 2009-2013, 2016, 2017, 2018, 2019 Richard Stallman</p>
+<p>Copyright &copy; 2009-2013, 2016-2019, 2021 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
@@ -305,14 +325,14 @@ Commons Atribuição-SemDerivações 4.0 Internacional</a>.</p>
<div class="translators-credits">
<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
-<b>Tradução:</b> Rafael Fontenelle
+Traduzido por: Rafael Fontenelle
<a href="mailto:rafaelff@gnome.org">&lt;rafaelff@gnome.org&gt;</a>,
-2017-2020</div>
+2017-2021</div>
<p class="unprintable"><!-- timestamp start -->
Última atualização:
-$Date: 2020/12/09 08:02:11 $
+$Date: 2021/12/26 01:29:59 $
<!-- timestamp end -->
</p>