summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/lt/javascript-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/lt/javascript-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/lt/javascript-trap.html349
1 files changed, 349 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/lt/javascript-trap.html b/talermerchantdemos/blog/articles/lt/javascript-trap.html
new file mode 100644
index 0000000..e53dbb9
--- /dev/null
+++ b/talermerchantdemos/blog/articles/lt/javascript-trap.html
@@ -0,0 +1,349 @@
+<!--#set var="PO_FILE"
+ value='<a href="/philosophy/po/javascript-trap.lt.po">
+ https://www.gnu.org/philosophy/po/javascript-trap.lt.po</a>'
+ --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html"
+ --><!--#set var="DIFF_FILE" value="/philosophy/po/javascript-trap.lt-diff.html"
+ --><!--#set var="OUTDATED_SINCE" value="2016-03-27" -->
+
+<!--#include virtual="/server/header.lt.html" -->
+<!-- Parent-Version: 1.77 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+<title>JavaScript spąstai</title>
+
+<!--#include virtual="/philosophy/po/javascript-trap.translist" -->
+<!--#include virtual="/server/banner.lt.html" -->
+<!--#include virtual="/server/outdated.lt.html" -->
+<h2>JavaScript spąstai</h2>
+
+<p>Pagal <a href="http://www.stallman.org/">Richard Stallman</a></p>
+
+<p><strong>Jūs galbūt šito nesuvokdami kiekvieną dieną savo kompiuteryje
+leidžiate nelaisvas programas &ndash; per savo tinklo naršyklę.</strong></p>
+
+<p>Laisvos programinės įrangos bendruomenėje, idėja, kad nelaisvos programos
+išnaudoja jų naudotojus yra žinoma. Kai kurie iš mūsų visiškai atsisakome
+įdiegti nuosavybinę programinę įrangą ir daug kitų nelaisvę laiko smūgiu
+prieš tą programą. Daug naudotojų žino, kad ši problema taikoma
+programiniams priedams, kuriuos naršyklės siūlo įdiegti, kadangi jie gali
+būti laisvi arba nelaisvi.</p>
+
+<p>Bet naršyklės leidžia kitas nelaisvas programas, apie kurias jos jūsų
+neatsiklausia ar jums net neužsimena &ndash; programos, kurias turi, ar
+nurodo į, tinklapiai. Šios programos dažniausiai yra parašytos JavaScript,
+nors kitos kalbos taip pat yra naudojamos.</p>
+
+<p>JavaScript (oficialiai vadinama ECMAScript, bet mažuma naudoja tą
+pavadinimą) kažkada buvo naudojama mažiems tinklapių padekoravimams, tokiems
+kaip miela, bet neesminė navigacija ir vaizdavimo ypatybės. Šiuos buvo
+priimtina laikyti paprastais HTML žymėjimo išplėtimais, o ne kaip tikrą
+programinę įrangą; jie reikšmingos problemos nesudarė.</p>
+
+<p>Daug svetainių vis dar naudoja JavaScript tokiu būdu, bet kai kurios ją
+naudoja svarbioms programoms, kurios atlieka didelius darbus. Pavyzdžiui,
+Google Docs į jūsų mašiną bando atsiųsti JavaScript programą, kuri apima
+pusę megabaito, kompaktiška forma, kurią mes galėtume pavadinti
+Užslėpt-scenarijumi, nes joje nėra jokių komentarų ir vos keli tarpai, ir
+metodų pavadinimai yra vienos raidės ilgio. Programos šaltinio kodas yra
+pageidautina forma jos modifikavimui; kompaktiškas kodas nėra šaltinio kodas
+ir tikrasis šitos programos šaltinio kodas naudotojui nėra prieinamas.</p>
+
+<p>Naršyklės įprastai jums nepraneša kada jos įkrauna JavaScript programas.
+Kai kurios naršyklės turi būdą JavaScript išjungti visiškai, bet net jei
+jums ši problema yra žinoma, jums kiltų daug problemų identifikuoti tas
+nepaprastas, nelaisvas programas ir jas užblokuoti. Tačiau, net laisvos
+programinės įrangos bendruomenėje dauguma naudotojų nežino apie šią
+problemą; naršyklių tyla linksta ją nuslėpti.</p>
+
+<p>Yra įmanoma JavaScript programą išleisti laisva programine įranga, šaltinio
+kodą platinant pagal laisvos programinės įrangos licenciją. Jei ta programa
+yra savarankiška &ndash; jei jos funkcionavimas ir paskirtis yra
+nepriklausomi nuo puslapio, kuriame ji patalpinta &ndash; tai yra gerai; jūs
+ją galite nukopijuoti į failą savo mašinoje, jį modifikuoti ir atverti tą
+failą su naršykle jo leidimui. Bet tai yra neįprastas atvejis.</p>
+
+<p>Įprastu atveju, JavaScript programos yra numatytos veikti su konkrečiu
+puslapiu ar svetaine ir to puslapio ar svetainės funkcionavimas priklauso
+nuo jų. Tada iškyla dar viena problema: net jei programos šaltinis yra
+prieinamas, naršyklės nesiūlo būdo leisti jūsų modifikuotą versiją vietoje
+originalios, kai lankomasi tame puslapyje ar svetainėje. Šis efektas yra
+palyginamas su tivoizacija<sup><a href="#TransNote1">1</a></sup>, nors iš
+principo ir ne tiek sunkus įveikti.</p>
+
+<p>JavaScript nėra vienintelė tinklo svetainių naudojama kalba naudotojui
+atsiųstoms programoms. Flash palaiko programavimą per išplėstos JavaScript
+variantą; jei mes kada nors turėsime pakankamai išbaigtą, laisvą Flash
+grotuvą, mums reikės spręsti nelaisvų Flash programų problemą. Silverlight
+atrodo tikėtina sukurs problemą panašią į Flash, tik blogesnę, kadangi
+Microsoft ją naudoja kaip platformą nelaisvai kodavimo ir dekodavimo
+programinei įrangai. Laisvas Silverlight pakaitalas neatlieka darbo laisvam
+pasauliui, nebent jis įprastai pristatomas su pakaitine laisva kodavimo ir
+dekodavimo programine įranga.</p>
+
+<p>Java programėlės taip pat leidžiamos naršyklėje ir kelia panašias
+problemas. Bendrai, bet kokio tipo programėlės sistema kelia šio tipo
+problemą. Laisvos vykdymo aplinkos programėlei turėjimas mus priartina tik
+tiek, kad susidurtume su ta problema.</p>
+
+<p>Teoriškai yra įmanoma programuoti su HTML ir CSS, bet praktikoje šis
+gebėjimas yra ribotas ir nepatogus; net kažkokio mažmožio padarymas yra
+įspūdingas įkirtis. Tokios programos turėtų būti laisvos, bet CSS nėra
+rimta problema naudotojų laisvei 2016&nbsp;m.</p>
+
+<p>Išsivystė stiprus judėjimas, kuris tinklo svetaines kviečia komunikuoti tik
+per formatus ir protokolus, kurie yra laisvi (kai kurie sako
+&bdquo;atviri&ldquo;); taip sakant, kurių dokumentacija yra paviešinta ir
+kuriuos bet kas yra laisvas įgyvendinti. Su programų tinklapiuose buvimu,
+tas kriterijus yra būtinas, bet nepakankamas. Pati JavaScript, kaip
+formatas, yra laisva ir JavaScript naudojimas tinklo svetainėje nebūtinai
+yra blogai. Tačiau, kaip mes pamatėme anksčiau, jis taip pat nebūtinai yra
+gerai. Kai svetainė naudotojui persiunčia programą, nėra pakankama tai
+programai būti parašyta dokumentuota ir aiškia kalba; ta programa turi būti
+laisva, irgi. &bdquo;Tik laisvos programos persiųstos naudotojui&ldquo;
+privalo tapti to kriterijaus dalimi tinkamam tinklo svetainių elgesiui.</p>
+
+<p>Tyliai įkraunant ir leidžiant nelaisvas programas yra viena iš keleto
+problemų, iškeltų &bdquo;tinklo aplikacijomis&ldquo;. Terminas
+&bdquo;tinklo aplikacija&ldquo; buvo suprojektuotas nepaisyti fundamentalaus
+skirtumo tarp programinės įrangos pristatytos naudotojams ir programinės
+įrangos leidžiamos serveryje. Jis gali reikšti naršyklėje leidžiamą
+specializuotą klientinę programą; jis gali reikšti specializuotą serverinę
+programinę įrangą; jis gali reikšti specializuotą klientinę programą, kuri
+iš vien veikia su specializuota serverine programine įranga. Kliento ir
+serverio pusės kelia skirtingas etines problemas, net jei jos yra taip
+glaudžiai integruotos, kad jos argumentuotai sudaro vienos programos dalis.
+Šis straipsnis nagrinėja tik kliento pusės programinės įrangos problemą.
+Mes nagrinėjame serverio problemą atskirai.</p>
+
+<p>Praktiniais terminais, kaip mes galime elgtis su nelaisvų JavaScript
+programų tinklo svetainėse problema? Pirmas žingsnis yra išvengti jos
+leidimo.</p>
+
+<p>Ką mes turime mintyje &bdquo;nepaprastomis&ldquo;? Tai yra laipsnio
+reikalas, taigi, tai yra paprasto kriterijaus, kuris duoda gerus rezultatus,
+projektavimo reikalas, o ne vieno teisingo atsakymo suradimas.</p>
+<p>
+Mūsų preliminari politika yra JavaScript programą laikyti nepaprasta jei:</p>
+
+<ul>
+ <li>ji atlieka AJAX užklausą ar yra įkraunama kartu su scenarijais, kurie
+atlieka AJAX užklausą;</li>
+
+ <li>ji įkrauna išorinius scenarijus dinamiškai ar yra įkrauta kartu su
+scenarijais, kurie taip daro;</li>
+
+ <li>ji apibrėžia funkcijas ar metodus ir arba įkrauna išorinį scenarijų (iš
+html), arba yra įkrauta kaip toks;</li>
+
+ <li>ji naudoja dinamines JavaScript konstrukcijas, kurias yra sunku analizuoti
+neinterpretuojant tos programos ar yra įkrauta kartu su scenarijais, kurie
+naudoja tokias konstrukcijas. Šios konstrukcijos yra:
+ <ul>
+ <li>eval funkcijos naudojimas;</li>
+ <li>metodų kvietimas su kvadratinių skliaustų žymėjimu;</li>
+ <li>naudojimas bet kokios kitos konstrukcijos, nei teksto grandinės raidinio, su
+tam tikrais metodais (Obj.write, Obj.createElement, ...).</li>
+ </ul>
+ </li>
+</ul>
+
+<p>Kaip mes galime atskirti, kad JavaScript kodas yra laisvas? Šio straipsnio
+pabaigoje mes siūlome konvenciją, kuria nepaprasta JavaScript programa
+tinklapyje gali nurodyti URL kur jos šaltinio kodas randasi ir gali nurodyti
+jo licenciją irgi, naudojant stilizuotus komentarus.</p>
+
+<p>Pabaigai, mums reikia pakeisti laisvas naršykles tinklapiuose pastebėti ir
+užblokuoti nepaprastą, nelaisvą JavaScript. <a
+href="/software/librejs/">LibreJS</a> programa pastebi nelaisvą, nepaprastą
+JavaScript jūsų lankomuose puslapiuose ir ją užblokuoja. LibreJS yra IceCat
+ir IceWeasel (ir Firefox) priedas.</p>
+
+<p>Naršyklės naudotojams taip pat reikia patogios priemonės nurodyti JavaScript
+kodą naudojimui <em>vietoje</em> JavaScript tam tikrame puslapyje. (Šis
+nurodytas kodas gali būti visiškas pakaitalas ar modifikuota laisvos
+JavaScript programos tame puslapyje versija.) Greasemonkey yra arti
+galėjimo šitą padaryti, bet nevisai, kadangi ji negarantuoja JavaScript kodo
+puslapyje modifikavimo prieš tos programos vykdymo pradžią. Vietinio
+įgaliojimo naudojimas veikia, bet jis dabar yra per daug nepatogus būti
+realiu sprendimu. Mums reikia sukonstruoti sprendimą, kuris yra patikimas
+ir patogus, kaip ir svetainių dalinimuisi pakeitimais. GNU projektas norėtų
+parekomenduoti svetaines, kurios yra dedikuotos tik laisviems pakeitimams.</p>
+
+<p>Šios ypatybės padarys įmanomu JavaScript programai įtrauktai į tinklapį būti
+laisva realia ir praktine prasmėmis. JavaScript daugiau nebus konkreti
+kliūtis mūsų laisvei &ndash; ne daugiau nei C ir Java dabar yra. Mes
+galėsime atmesti ir net pakeisti nelaisvas, nepaprastas JavaScript
+programas, lygiai taip, kaip mes atmetame ir pakeičiame nelaisvus paketus,
+kurie yra siūlomi įdiegti įprastu būdu. Mūsų kampanija tinklo svetainėms
+išlaisvinti jų JavaScript gali tada prasidėti.</p>
+
+<p>Tuo tarpu, yra vienas atvejis kai yra priimtina leisti nelaisvą JavaScript
+programą: išsiųsti nusiskundimą tinklo svetainės operatoriams, sakantį jie
+turėtų išlaisvinti arba pašalinti JavaScript kodą toje svetainėje. Prašome
+nedvejokite laikinai aktyvuoti JavaScript to padarymui &ndash; bet
+prisiminkite po to ją vėl išjungti.</p>
+
+<p><strong>Ačiū jums <a href="/people/people.html#mattlee">Matt Lee</a> ir <a
+href="http://ejohn.org">John Resig</a> už jų pagalbą apibrėžiant mūsų
+pasiūlytą kriterijų, ir David Parunakian už pagalbą man šią problemą
+sužinoti.</strong></p>
+
+<h3 id="AppendixA">A priedas: konvencija laisvų JavaScript programų išleidimui</h3>
+
+<p>Nuorodoms į atitinkamą šaltinio kodą, mes rekomenduojame</p>
+<pre dir="ltr">
+
+ // @source:
+
+</pre>
+
+<p>užbaigiant su URL. Tai patenkina GNU GPL reikalavimą platinti šaltinio
+kodą. Jei tas šaltinis yra kitoje svetainėje, jūs privalote pasirūpinti <a
+href="/licenses/gpl-faq.html#SourceAndBinaryOnDifferentSites">tinkamu to
+sutvarkymu</a>. Šaltinio kodas programai būti laisva yra būtinas.
+</p>
+
+<p>Įkelto į puslapį JavaScript kodo licencijos parodymui, mes rekomenduojame
+tos licencijos pastabos patalpinimą tarp dviejų tokios formos pastabų:</p>
+<pre dir="ltr">
+<!--TRANSLATORS: Do not translate these license notices. The <pre>
+
+ elements have dir="ltr" explicitly set to cater for RTL languages.-->
+
+ @licstart The following is the entire license notice for the
+ JavaScript code in this page.
+ ...
+ @licend The above is the entire license notice
+ for the JavaScript code in this page.
+
+</pre>
+<p>Žinoma, visa tai turėtų būti patalpinta keleto eilučių komentare.</p>
+
+<p><a href="/licenses/gpl.html">GNU GPL</a>, kaip daug kitų laisvos programinės
+įrangos licencijų, reikalauja licencijos kopijos platinimo su abejomis
+&ndash; šaltinio ir dvejetaine, programos formomis. Tačiau, GNU GPL yra
+pakankamai ilga, jog jos įtraukimas puslapyje su JavaScript programa gali
+būti nepatogus. Jūs galite tą reikalavimą pašalinti, kodui, kuriam jūs
+turite autorių teises, su licencijos pastaba, kaip ši:</p>
+<pre dir="ltr">
+
+ Copyright (C) YYYY Developer
+
+ The JavaScript code in this page is free software: you can
+ redistribute it and/or modify it under the terms of the GNU
+ General Public License (GNU GPL) as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option)
+ any later version. The code is distributed WITHOUT ANY WARRANTY;
+ without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
+
+ As additional permission under GNU GPL version 3 section 7, you
+ may distribute non-source (e.g., minimized or compacted) forms of
+ that code without the copy of the GNU GPL normally required by
+ section 4, provided you include this license notice and a URL
+ through which recipients can access the Corresponding Source.
+
+</pre>
+
+<p>Aš dėkoju Jaffar Rumith už mano dėmesio atkreipimą į šią problemą.</p>
+
+<h3 id="AppendixB">B priedas: laisvų JavaScript programų viešinimas esant žiniatinklio
+administratoriumi</h3>
+
+<p>Jei jūs esate žiniatinklio administratorius savo svetainėje dislokuojantis
+laisvą JavaScript programinę įrangą, viešinant informaciją apie tų failų
+licencijas ir šaltinio kodą aiškiai ir pastoviai jūsų lankytojams padeda
+užsitikrinti, kad jie leidžia laisvą programinę įrangą, ir jums padeda
+atitikti licencijos sąlygas.</p>
+
+<p>Vienas metodas nurodyti licencijas yra tas vienas apibūdintas anksčiau <a
+href="#AppendixA">A priede</a>. Antras metodas &ndash; <a
+href="/licenses/javascript-labels.html">JavaScript licencijos tinklo
+etiketės</a>, gali būti labiau patogus sumažintoms JavaScript kodo
+bibliotekoms, ypatingai kai jūs jų neparašėte.</p>
+
+<div class="translators-notes">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
+<h3>Vertėjo pastabos</h3>
+<ol>
+<li id="TransNote1">Tivoizacija (anglų k.: tivoization) yra praktika, kai
+įrenginyje įdiegtą laisvą programinę įrangą gali pakeisti tik vienas
+gamintojas.</li>
+</ol></div>
+</div>
+
+<!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.lt.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Bendrus FSF ir GNU užklausimus prašome atsiųsti į <a
+href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Taip pat, yra ir <a
+href="/contact/">kiti būdai susisiekti</a> su FSF. Neveikiančių nuorodų ir
+kiti pataisymai arba pasiūlymai gali būti atsiųsti į <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>. -->
+Mes dirbame sunkiai ir labai stengiamės, kad pateiktume tikslius, geros
+kokybės vertimus. Tačiau mes nesame išimtys netobulumui. Prašome siųskite
+savo komentarus ir bendrus pasiūlymus šia prasme į <a
+href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.</p>
+<p>Mūsų tinklapių vertimų koordinavimo ir pateikimo informaciją pamatykite
+<a href="/server/standards/README.translations.html">Vertimų
+PERSKAITYKITEMANE</a>.</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; 2009-2013, 2016 Richard Stallman</p>
+
+<p>Šiam puslapiui taikoma <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/4.0/deed.lt">Creative
+Commons Priskyrimas - Jokių išvestinių darbų 4.0 Tarptautinė licencija</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.lt.html" -->
+<div class="translators-credits">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
+ </div>
+
+<p class="unprintable"><!-- timestamp start -->
+Atnaujinta:
+
+$Date: 2016/11/18 07:32:45 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>