taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

javascript-trap.html (17165B)


      1 <!--#set var="PO_FILE"
      2  value='<a href="/philosophy/po/javascript-trap.hr.po">
      3  https://www.gnu.org/philosophy/po/javascript-trap.hr.po</a>'
      4  --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html"
      5  --><!--#set var="DIFF_FILE" value="/philosophy/po/javascript-trap.hr-diff.html"
      6  --><!--#set var="OUTDATED_SINCE" value="2015-12-31" -->
      7 
      8 <!--#include virtual="/server/header.hr.html" -->
      9 <!-- Parent-Version: 1.77 -->
     10 
     11 <!-- This file is automatically generated by GNUnited Nations! -->
     12 <title>Zamka JavaScripta</title>
     13 
     14 <!--#include virtual="/philosophy/po/javascript-trap.translist" -->
     15 <!--#include virtual="/server/banner.hr.html" -->
     16 <!--#include virtual="/server/outdated.hr.html" -->
     17 <h2>Zamka JavaScripta</h2>
     18 
     19 <p>napisao <a href="http://www.stallman.org/">Richard Stallman</a></p>
     20 
     21 <p><strong>Možda pokrećete neslobodne programe na svojem računalu svaki dan, a
     22 da toga niste ni svjesni&mdash;kroz vaš internet preglednik.</strong></p>
     23 
     24 <p>U zajednici slobodnog softvera je poznato da neslobodni programi
     25 maltretiraju svoje korisnike. Neki od nas u potpunosti odbijaju instalaciju
     26 vlasničkog softvera, a mnogi drugi smatraju neslobodu udarom na
     27 program. Mnogi korisnici su svjesni da se taj problem odnosi i na priključke
     28 koje preglednici nude za instalaciju, koji mogu biti slobodni ili
     29 neslobodni.</p>
     30 
     31 <p>Međutim, preglednici pokreću i druge neslobodne programe pri čijem
     32 pokretanju vas ne pitaju za dopuštenje, ili vam čak ni ne govore za
     33 njih&mdash;to su programi koje internetske stranice sadrže ili imaju
     34 poveznicu na njih. Ti programi su najčešće napisani u JavaScriptu, iako se
     35 koriste i drugi jezici.</p>
     36 
     37 <p>JavaScript (službeno zvan ECMAScript, ali samo nekolicina koristi to ime) je
     38 nekoć bio korišten za manje ukrase u internetskim strancima, za slatke ali
     39 nebitne izbornike i značajke prikaza. Bilo je prihvatljivo to smatrati pukim
     40 proširenjima HTML oznaka, radije nego pravi softver; nisu tvorili značajan
     41 problem.</p>
     42 
     43 <p>Mnoge lokacije još uvijek koriste JavaScript na taj način, ali neke ga
     44 koriste za značajne programe koji rade veliki posao. Na primjer, Google Docs
     45 presnimi na vaše računalo JavaScript program veličine pola megabajta u
     46 kompaktnom obliku, koji možemo nazvati <i>Obfuscript</i><sup><a
     47 href="#TransNote1">1</a></sup> zato jer nema komentara i gotovo ništa
     48 praznih znakova,a imena metoda se sastoje od jednog slova. Izvorni kod
     49 programa je poželjan oblik za njegovu izmjenu; kompaktni kod nije izvorni
     50 kod, i pravi izvorni kod ovoga programa nije dostupan korisniku.</p>
     51 
     52 <p>Obično vas preglednik ne obavještava kada učitava programe pisane u
     53 JavaScriptu. U većini preglednika postoji način da se JavaScript u cijelosti
     54 isključi, ali niti jedan od njih ne može provjeriti jesu li programi pisani
     55 u JavaScript ne-trivijalni i neslobodni. Čak i ako ste svjesni ovoga
     56 problema, trebao bi vam poveliki trud da identificirate i tada blokirate te
     57 programe. Međutim, čak i u zajednici slobodnog softvera većina korisnika
     58 nije svjesna ovoga problema; šutnja preglednika vodi prema prikrivanju toga.</p>
     59 
     60 <p>Moguće je objaviti program pisan u JavaScriptu kao slobodan softver -
     61 distribucijom izvornog koda pod licencom slobodnog softvera. Međutim, iako
     62 je izvorni kod programa dostupan, ne postoji lagani način da pokrenete svoju
     63 izmijenjenu inačicu umjesto originala. Sadašnji slobodni preglednici ne nude
     64 mogućnost pokretanja vaše vlastite izmijenjene inačice umjesto one koja je
     65 pružena na stranici. Efekt je usporediv sa tivoizacijom, iako ne toliko
     66 težak da se prebrodi.</p>
     67 
     68 <p>JavaScript nije jedini jezik kojeg internetske lokacije koriste za programe
     69 poslane korisniku. Flash podržava programiranje kroz proširenu varijantu
     70 JavaScripta. Morat ćemo proučiti problem Flasha da napravimo prikladne
     71 preporuke. Čini se da će Silverlight po svoj prilici napraviti problem
     72 sličan Flashu, samo još gori, pošto ga Microsoftovi koristi kao platformu za
     73 neslobodne programe za čitanje i pisanje kodiranih formata. Slobodna zamjena
     74 za Silverlight neće izvršiti zadaću za slobodni svijet osim ako ne dođe
     75 normalno sa slobodnim zamjenama za te programe. </p>
     76 
     77 <p>Java apleti<sup><a href="#TransNote2">2</a></sup> se također vrte u
     78 pregledniku, i predstavljaju slične probleme. Općenito, svaka vrsta sustava
     79 apleta predstavlja tu vrstu problema. Posjedovanje slobodnog okruženja za
     80 izvršavanje apleta nas vodi samo do toga da se sretnemo s tim problemom.</p>
     81 
     82 <p>Razvio se snažan pokret koji poziva web lokacije da komuniciraju samo kroz
     83 formate i protokole koji su slobodni (neki kažu &quot;otvoreni&quot;); to
     84 jest, čija dokumentacija je objavljena i koje je svatko slobodan
     85 implementirati. S prisustvom programa u web stranicama, taj kriterij je
     86 nužan, ali ne i dovoljan. Sam JavaScript, kao format, je slobodan, i
     87 korištenje JavaScripta na internetskoj lokaciji nije nužno loše. Međutim,
     88 kako smo vidjeli iznad, nije nužno i u redu. Kada lokacija prenese program
     89 korisniku, nije dovoljno za program da bude napisan u dokumentiranom i
     90 neopterećenom jeziku; taj program mora biti također i slobodan. &ldquo;Samo
     91 slobodni programi preneseni korisniku&rdquo; moraju postati dio kriterija za
     92 ispravno ponašanje internetskih lokacija.</p>
     93 
     94 <p>Tiho učitavanje i pokretanje neslobodnih programa je jedan od nekoliko
     95 problema koje stvaraju &quot;web aplikacije&quot;. Termin &quot;web
     96 aplikacija&quot; je zamišljen kako bi zanemario osnovnu distinkciju između
     97 softvera dostavljenom korisnicima i softvera koji se pokreće na
     98 poslužitelju. Može upućivati na specijalizirani program klijenta koji se
     99 pokreće u pregledniku; može upućivati na specijalizirani softver
    100 poslužitelja; može upućivati na specijalizirani program klijenta koji radi
    101 ruku pod ruku sa specijaliziranim softverom na poslužitelju. Strana klijenta
    102 i strana poslužitelja postavljaju različita etička pitanja, čak iako su
    103 toliko blisko integrirani da dvojbeno oblikuju dijelove jednog
    104 programa. Ovaj članak adresira samo pitanje softvera na strani
    105 klijenta. Adresiramo problem poslužitelja odvojeno.</p>
    106 
    107 <p>U praktičnim terminima, kako možemo riješiti problem neslobodnih programa
    108 pisanih u JavaScriptu na internetskim lokacijama? Prvi korak je izbjegavanje
    109 njihova pokretanja.</p>
    110 
    111 <p>Što mislimo pod &quot;ne-trivijalno&quot;? Stvar je u stupnju, dakle to je
    112 stvar dizajniranja jednostavnog kriterija koji daje dobre rezultate, radije
    113 nego nalaženja jednog točnog odgovora.</p>
    114 <p>
    115 Naša probna politika je da smatramo program pisan u JavaScriptu
    116 ne-trivijalnim ako:</p>
    117 
    118 <ul>
    119   <li>radi zahtjev AJAX-u<sup><a href="#TransNote3">3</a></sup> ili je učitan
    120 zajedno sa skriptama koji rade zahtjev AJAX-u,</li>
    121 
    122   <li>učitava vanjske skripte dinamički ili je učitan od strane skripata koje to
    123 rade,</li>
    124 
    125   <li>definira funkcije ili metode i ili učitava vanjsku skriptu (iz HTML-a) ili
    126 je učitan kao jedna od njih,</li>
    127   
    128   <li>koristi dinamičke JavaScript konstrukte koji su teški za analizu bez
    129 interpretiranja programa, ili je učitan zajedno sa skriptama koje koriste
    130 takve konstrukte. Ti konstrukti su:
    131     <ul>
    132       <li>korištenje <i>eval</i> funkcije, </li>
    133       <li>pozivanje metoda notacijom uglatih zagrada,</li>
    134       <li>korištenje bilo kojeg drugog konstrukta osim doslovnog znakovnoga niza sa
    135 određenim metodama (Obj.write, Obj.createElement, ...).</li>
    136     </ul>
    137   </li>
    138 </ul>
    139 
    140 <p>Kako možemo razaznati je li kod u JavaScriptu slobodan? Na kraju ovoga
    141 članka predlažemo konvenciju kojom ne-trivijalni program pisan u JavaScriptu
    142 u internetskoj stranici može izjaviti URL na kojem se nalazi njegov izvorni
    143 kod, i može također izjaviti svoju licencu, korištenjem stiliziranih
    144 komentara.</p>
    145 
    146 <p>Naposljetku, moramo izmijeniti slobodne preglednike da otkrivaju i blokiraju
    147 ne-trivijalan neslobodni JavaScript u internetskim stranicama. Program <a
    148 href="/software/librejs/">LibreJS</a> otkriva neslobodni, ne-trivijalni
    149 JavaScript u stranicama koje posjećujete, i blokira ga. LibreJS je
    150 priključak za IceCat i IceWeasel (i Firefox).</p>
    151 
    152 <p>Korisnici preglednika isto trebaju i prikladne alate kako bi specificirali
    153 JavaScript kod koji će se koristiti <em>umjesto</em> JavaScripta na
    154 određenoj stranici. (Specificirani kod može biti potpuna zamjena, ili
    155 izmijenjena inačica slobodnog programa pisanog u JavaScriptu na toj
    156 stranici.) Greasemonkey ima mogućnosti za to, ali ne u potpunosti, jer ne
    157 garantira izmjenu JavaScript koda na stranici prije nego program započne sa
    158 izvršavanjem. Korištenje lokalnog <i>proxy</i><sup><a
    159 href="#TransNote4">4</a></sup> poslužitelja funkcionira, ali je trenutno
    160 previše nepogodno da bude pravo rješenje. Moramo konstruirati rješenje koje
    161 je pouzdano i pogodno, kao i lokacije za razmjenu izmjena. Projekt GNU bi
    162 htio preporučiti lokacije koje su posvećene samo slobodnim izmjenama.</p>
    163 
    164 <p>Te značajke će omogućiti da program pisan u JavaScriptu uključen na web
    165 stranici bude slobodan u stvarnom i praktičnom smislu. JavaScript više neće
    166 biti naročita prepreka našoj slobodi&mdash;ništa više nego su to trenutno C
    167 ili Java. Bit ćemo u mogućnosti odbiti i zamijeniti neslobodne i
    168 ne-trivijalne programe pisane u JavaScriptu, kao što smo odbili i zamijenili
    169 neslobodne pakete koje se nude za instalaciju na uobičajeni način. Tada može
    170 poč eti naša kampanja da internetske lokacije oslobode svoj JavaScript.</p>
    171 
    172 <p>U međuvremenu, postoji jedan slučaj kada je prihvatljivo pokrenuti
    173 neslobodni program pisan u JavaScriptu: da se pošalje žalba operatorima
    174 internetske lokacije govoreći da bi oni trebali osloboditi ili ukloniti
    175 JavaScript kod koji je na lokaciji. Molim vas, ne oklijevajte da privremeno
    176 omogućite JavaScript da biste to napravili&mdash;ali sjetite se da ga
    177 onesposobite nakon toga.</p>
    178 
    179 <p><strong>Zahvaljujem se <a href="/people/people.html#mattlee">Mattu Leeu</a>
    180 i <a href="http://ejohn.org">Johnu Resigu</a> za njihovu pomoć u definiranju
    181 našeg predloženog kriterija, i Davidu Parunakianu na pomoći da postanem
    182 svjestan ovog problema.</strong></p>
    183 
    184 <h3 id="AppendixA">Dodatak A: konvencija za objavljivanje slobodnih programa pisanih u
    185 JavaScriptu</h3>
    186 
    187 <p>Za reference na odgovarajući izvorni kod, preporučamo</p>
    188 <pre dir="ltr">
    189 
    190     // @source:
    191 
    192 </pre>
    193 
    194 <p>i u nastavku URL. To zadovoljava zahtjev GNU GPL-a za distribucijom izvornog
    195 koda. Ako je izvorni kod na nekoj drugoj lokaciji, tada morate pripaziti da
    196 se <a
    197 href="/licenses/gpl-faq.html#SourceAndBinaryOnDifferentSites">pobrinete za
    198 to na ispravan način</a>. Izvorni kod je nužan da program bude slobodan.
    199 </p>
    200 
    201 <p>Da biste ukazali na licencu JavaScript koda umetnutog u stranicu,
    202 preporučamo da stavite obavijest o licenci između dviju bilješki ovoga
    203 oblika:</p>
    204 <pre dir="ltr">
    205 <!--TRANSLATORS: Do not translate these license notices.  The <pre>
    206 
    207     elements have dir="ltr" explicitly set to cater for RTL languages.-->
    208 
    209     @licstart  The following is the entire license notice for the 
    210     JavaScript code in this page.
    211     ...
    212     @licend  The above is the entire license notice
    213     for the JavaScript code in this page.
    214 
    215 </pre>
    216 <p>Naravno, sve ovo bi trebalo biti sadržano u više-linijskom komentaru.</p>
    217 
    218 <p><a href="/licenses/gpl.html">GNU GPL</a>, kao i mnoge druge licence
    219 slobodnog softvera, zahtijeva distribuciju kopije licence zajedno i u
    220 izvornom kodu i u binarnom obliku programa. Međutim, GNU GPL je toliko
    221 dugačka da uključivanje na stranicu s programom pisanom u JavaScriptu može
    222 biti nepogodno. Možete ukloniti taj zahtjev za kod nad kojim imate autorska
    223 prava, s ovakvom obavijesti o licenci:</p>
    224 <pre dir="ltr">
    225 
    226     Copyright (C) YYYY  Developer
    227 
    228     The JavaScript code in this page is free software: you can
    229     redistribute it and/or modify it under the terms of the GNU
    230     General Public License (GNU GPL) as published by the Free Software
    231     Foundation, either version 3 of the License, or (at your option)
    232     any later version.  The code is distributed WITHOUT ANY WARRANTY;
    233     without even the implied warranty of MERCHANTABILITY or FITNESS
    234     FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
    235 
    236     As additional permission under GNU GPL version 3 section 7, you
    237     may distribute non-source (e.g., minimized or compacted) forms of
    238     that code without the copy of the GNU GPL normally required by
    239     section 4, provided you include this license notice and a URL
    240     through which recipients can access the Corresponding Source.
    241 
    242 </pre>
    243 
    244 <p>Zahvaljujem Jaffaru Rumithu što mi je skrenuo pažnju na ovaj problem.</p>
    245 
    246 <h3 id="AppendixB">Dodatak B: Objavljivanje slobodnih programa pisanih u JavaScriptu ako ste
    247 webmaster</h3>
    248 
    249 <p>Ako ste webmaster koji implementira slobodan softver u JavaScriptu na svojoj
    250 lokaciji, jasno i dosljedno objavljivanje informacija o licencama tih
    251 datoteka i o izvornom kodu pomaže vašim posjetiteljima da budu sigurni da
    252 pokreću slobodan softver, i pomaže vama da se pridržavate uvjeta licence.</p>
    253 
    254 <p>Jedna metoda izjavljivanja licenci je ona opisana iznad u <a
    255 href="#AppendixA">Dodatku A</a>. Druga metoda, <a
    256 href="/licenses/javascript-labels.html">JavaScript web oznake licence</a>,
    257 može biti pogodnija za biblioteke umanjenog JavaScript koda, posebno ako ih
    258 niste vi napisali.</p>
    259 
    260 <div class="translators-notes">
    261 
    262 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
    263 <h3>Bilješke prevoditelja</h3><ol><li id="TransNote1">Od <i>obfuscated</i>
    264 (namjerno nerazumljiv i višeznačan) i <i>script</i> (programski kod
    265 namijenjen izvršavanju u interpreterima).</li><li id="TransNote2">Male
    266 aplikacije pisane u Javi koje se izvršavaju u virtualnome stroju.</li><li
    267 id="TransNote3">Asinkroni JavaScript i XML. Tehnika razvoja aplikacija koja
    268 omogućava učitavanje podataka sa poslužitelja bez remećenja prikaza stranice
    269 na klijentu.</li><li id="TransNote4">Poslužitelj koji služi kao posrednik za
    270 zahtjeve klijenta prema nekom drugom poslužitelju.</li></ol> </div>
    271 </div>
    272 
    273 <!-- for id="content", starts in the include above -->
    274 <!--#include virtual="/server/footer.hr.html" -->
    275 <div id="footer">
    276 <div class="unprintable">
    277 
    278 <p>Molimo vas, općenite upite o FSF &amp; GNU šaljite na <a
    279 href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Postoje i <a
    280 href="/contact/">drugi načini kontaktiranja</a> FSF-a. Prekinute poveznice i
    281 ostale ispravke ili prijedloge možete poslati na <a
    282 href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
    283 
    284 <p>
    285 <!-- TRANSLATORS: Ignore the original text in this paragraph,
    286         replace it with the translation of these two:
    287 
    288         We work hard and do our best to provide accurate, good quality
    289         translations.  However, we are not exempt from imperfection.
    290         Please send your comments and general suggestions in this regard
    291         to <a href="mailto:web-translators@gnu.org">
    292 
    293         &lt;web-translators@gnu.org&gt;</a>.</p>
    294 
    295         <p>For information on coordinating and submitting translations of
    296         our web pages, see <a
    297         href="/server/standards/README.translations.html">Translations
    298         README</a>. -->
    299 Radimo naporno i dajemo sve od sebe kako bismo pružili točne, visoko
    300 kvalitetne prijevode. Međutim, nismo oslobođeni od nesavršenosti. Molimo
    301 vas, šaljite svoje komentare i općenite prijedloge u tom smislu na <a
    302 href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.
    303 Za informacije o koordiniranju i dostavljanju prijevoda naših mrežnih
    304 stranica, pogledajte <a
    305 href="/server/standards/README.translations.html">PROČITAJME za
    306 prijevode</a>.</p>
    307 </div>
    308 
    309 <!-- Regarding copyright, in general, standalone pages (as opposed to
    310      files generated as part of manuals) on the GNU web server should
    311      be under CC BY-ND 3.0 US.  Please do NOT change or remove this
    312      without talking with the webmasters or licensing team first.
    313      Please make sure the copyright date is consistent with the
    314      document.  For web pages, it is ok to list just the latest year the
    315      document was modified, or published.
    316      
    317      If you wish to list earlier years, that is ok too.
    318      Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
    319      years, as long as each year in the range is in fact a copyrightable
    320      year, i.e., a year in which the document was published (including
    321      being publicly visible on the web or in a revision control system).
    322      
    323      There is more detail about copyright years in the GNU Maintainers
    324      Information document, www.gnu.org/prep/maintain. -->
    325 <p>Copyright &copy; 2009, 2010 Richard Stallman</p>
    326 
    327 <p>Ovo djelo dano je na korištenje pod <a rel="license"
    328 href="http://creativecommons.org/licenses/by-nd/3.0/us/deed.hr">licencom
    329 Creative Commons Imenovanje-Bez prerada 3.0 SAD</a>.</p>
    330 
    331 <!--#include virtual="/server/bottom-notes.hr.html" -->
    332 <div class="translators-credits">
    333 
    334 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
    335 <b>Prijevod</b>: Marin Rameša 2013., Martina Bebek 2013.</div>
    336 
    337 <p class="unprintable"><!-- timestamp start -->
    338 Zadnji put promijenjeno:
    339 
    340 $Date: 2016/11/18 07:32:45 $
    341 
    342 <!-- timestamp end -->
    343 </p>
    344 </div>
    345 </div>
    346 </body>
    347 </html>