/[www]/www/philosophy/javascript-trap.hr.html
ViewVC logotype

Contents of /www/philosophy/javascript-trap.hr.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (show annotations) (download) (as text)
Fri Nov 18 07:32:45 2016 UTC (7 years, 9 months ago) by gnun
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +2 -2 lines
File MIME type: text/html
Automatic update by GNUnited Nations.

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/03/27 22:30:56 $
341
342 <!-- timestamp end -->
343 </p>
344 </div>
345 </div>
346 </body>
347 </html>

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26