diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/lt/javascript-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/lt/javascript-trap.html | 349 |
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 – 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 – 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 – jei jos funkcionavimas ir paskirtis yra +nepriklausomi nuo puslapio, kuriame ji patalpinta – 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 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 +„atviri“); 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. „Tik laisvos programos persiųstos naudotojui“ +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ų „tinklo aplikacijomis“. Terminas +„tinklo aplikacija“ 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 „nepaprastomis“? 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 – 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 – 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 +– š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 – <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"><gnu@gnu.org></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"><webmasters@gnu.org></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"> + + <web-translators@gnu.org></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"><web-translators@gnu.org></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 © 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> |