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—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—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 "otvoreni"); 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. “Samo |
91 |
slobodni programi preneseni korisniku” 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 "web aplikacije". Termin "web |
96 |
aplikacija" 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 "ne-trivijalno"? 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—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—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 & GNU šaljite na <a |
279 |
href="mailto:gnu@gnu.org"><gnu@gnu.org></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"><webmasters@gnu.org></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 |
<web-translators@gnu.org></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"><web-translators@gnu.org></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 © 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> |