diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/br/javascript-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/br/javascript-trap.html | 106 |
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 – 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 – 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 – se sua funcionalidade e propósito são -independentes da página na qual ele veio – 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 – se sua funcionalidade e propósito são independentes da +página na qual ele veio – 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 – 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 – 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"><webmasters@gnu.org></a>.</p> <web-translators@gnu.org></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"><web-translators@gnu.org></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 © 2009-2013, 2016, 2017, 2018, 2019 Richard Stallman</p> +<p>Copyright © 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"><rafaelff@gnome.org></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> |