diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/hr/javascript-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/hr/javascript-trap.html | 347 |
1 files changed, 347 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/hr/javascript-trap.html b/talermerchantdemos/blog/articles/hr/javascript-trap.html new file mode 100644 index 0000000..5a8bef9 --- /dev/null +++ b/talermerchantdemos/blog/articles/hr/javascript-trap.html @@ -0,0 +1,347 @@ +<!--#set var="PO_FILE" + value='<a href="/philosophy/po/javascript-trap.hr.po"> + https://www.gnu.org/philosophy/po/javascript-trap.hr.po</a>' + --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html" + --><!--#set var="DIFF_FILE" value="/philosophy/po/javascript-trap.hr-diff.html" + --><!--#set var="OUTDATED_SINCE" value="2015-12-31" --> + +<!--#include virtual="/server/header.hr.html" --> +<!-- Parent-Version: 1.77 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>Zamka JavaScripta</title> + +<!--#include virtual="/philosophy/po/javascript-trap.translist" --> +<!--#include virtual="/server/banner.hr.html" --> +<!--#include virtual="/server/outdated.hr.html" --> +<h2>Zamka JavaScripta</h2> + +<p>napisao <a href="http://www.stallman.org/">Richard Stallman</a></p> + +<p><strong>Možda pokrećete neslobodne programe na svojem računalu svaki dan, a +da toga niste ni svjesni—kroz vaš internet preglednik.</strong></p> + +<p>U zajednici slobodnog softvera je poznato da neslobodni programi +maltretiraju svoje korisnike. Neki od nas u potpunosti odbijaju instalaciju +vlasničkog softvera, a mnogi drugi smatraju neslobodu udarom na +program. Mnogi korisnici su svjesni da se taj problem odnosi i na priključke +koje preglednici nude za instalaciju, koji mogu biti slobodni ili +neslobodni.</p> + +<p>Međutim, preglednici pokreću i druge neslobodne programe pri čijem +pokretanju vas ne pitaju za dopuštenje, ili vam čak ni ne govore za +njih—to su programi koje internetske stranice sadrže ili imaju +poveznicu na njih. Ti programi su najčešće napisani u JavaScriptu, iako se +koriste i drugi jezici.</p> + +<p>JavaScript (službeno zvan ECMAScript, ali samo nekolicina koristi to ime) je +nekoć bio korišten za manje ukrase u internetskim strancima, za slatke ali +nebitne izbornike i značajke prikaza. Bilo je prihvatljivo to smatrati pukim +proširenjima HTML oznaka, radije nego pravi softver; nisu tvorili značajan +problem.</p> + +<p>Mnoge lokacije još uvijek koriste JavaScript na taj način, ali neke ga +koriste za značajne programe koji rade veliki posao. Na primjer, Google Docs +presnimi na vaše računalo JavaScript program veličine pola megabajta u +kompaktnom obliku, koji možemo nazvati <i>Obfuscript</i><sup><a +href="#TransNote1">1</a></sup> zato jer nema komentara i gotovo ništa +praznih znakova,a imena metoda se sastoje od jednog slova. Izvorni kod +programa je poželjan oblik za njegovu izmjenu; kompaktni kod nije izvorni +kod, i pravi izvorni kod ovoga programa nije dostupan korisniku.</p> + +<p>Obično vas preglednik ne obavještava kada učitava programe pisane u +JavaScriptu. U većini preglednika postoji način da se JavaScript u cijelosti +isključi, ali niti jedan od njih ne može provjeriti jesu li programi pisani +u JavaScript ne-trivijalni i neslobodni. Čak i ako ste svjesni ovoga +problema, trebao bi vam poveliki trud da identificirate i tada blokirate te +programe. Međutim, čak i u zajednici slobodnog softvera većina korisnika +nije svjesna ovoga problema; šutnja preglednika vodi prema prikrivanju toga.</p> + +<p>Moguće je objaviti program pisan u JavaScriptu kao slobodan softver - +distribucijom izvornog koda pod licencom slobodnog softvera. Međutim, iako +je izvorni kod programa dostupan, ne postoji lagani način da pokrenete svoju +izmijenjenu inačicu umjesto originala. Sadašnji slobodni preglednici ne nude +mogućnost pokretanja vaše vlastite izmijenjene inačice umjesto one koja je +pružena na stranici. Efekt je usporediv sa tivoizacijom, iako ne toliko +težak da se prebrodi.</p> + +<p>JavaScript nije jedini jezik kojeg internetske lokacije koriste za programe +poslane korisniku. Flash podržava programiranje kroz proširenu varijantu +JavaScripta. Morat ćemo proučiti problem Flasha da napravimo prikladne +preporuke. Čini se da će Silverlight po svoj prilici napraviti problem +sličan Flashu, samo još gori, pošto ga Microsoftovi koristi kao platformu za +neslobodne programe za čitanje i pisanje kodiranih formata. Slobodna zamjena +za Silverlight neće izvršiti zadaću za slobodni svijet osim ako ne dođe +normalno sa slobodnim zamjenama za te programe. </p> + +<p>Java apleti<sup><a href="#TransNote2">2</a></sup> se također vrte u +pregledniku, i predstavljaju slične probleme. Općenito, svaka vrsta sustava +apleta predstavlja tu vrstu problema. Posjedovanje slobodnog okruženja za +izvršavanje apleta nas vodi samo do toga da se sretnemo s tim problemom.</p> + +<p>Razvio se snažan pokret koji poziva web lokacije da komuniciraju samo kroz +formate i protokole koji su slobodni (neki kažu "otvoreni"); to +jest, čija dokumentacija je objavljena i koje je svatko slobodan +implementirati. S prisustvom programa u web stranicama, taj kriterij je +nužan, ali ne i dovoljan. Sam JavaScript, kao format, je slobodan, i +korištenje JavaScripta na internetskoj lokaciji nije nužno loše. Međutim, +kako smo vidjeli iznad, nije nužno i u redu. Kada lokacija prenese program +korisniku, nije dovoljno za program da bude napisan u dokumentiranom i +neopterećenom jeziku; taj program mora biti također i slobodan. “Samo +slobodni programi preneseni korisniku” moraju postati dio kriterija za +ispravno ponašanje internetskih lokacija.</p> + +<p>Tiho učitavanje i pokretanje neslobodnih programa je jedan od nekoliko +problema koje stvaraju "web aplikacije". Termin "web +aplikacija" je zamišljen kako bi zanemario osnovnu distinkciju između +softvera dostavljenom korisnicima i softvera koji se pokreće na +poslužitelju. Može upućivati na specijalizirani program klijenta koji se +pokreće u pregledniku; može upućivati na specijalizirani softver +poslužitelja; može upućivati na specijalizirani program klijenta koji radi +ruku pod ruku sa specijaliziranim softverom na poslužitelju. Strana klijenta +i strana poslužitelja postavljaju različita etička pitanja, čak iako su +toliko blisko integrirani da dvojbeno oblikuju dijelove jednog +programa. Ovaj članak adresira samo pitanje softvera na strani +klijenta. Adresiramo problem poslužitelja odvojeno.</p> + +<p>U praktičnim terminima, kako možemo riješiti problem neslobodnih programa +pisanih u JavaScriptu na internetskim lokacijama? Prvi korak je izbjegavanje +njihova pokretanja.</p> + +<p>Što mislimo pod "ne-trivijalno"? Stvar je u stupnju, dakle to je +stvar dizajniranja jednostavnog kriterija koji daje dobre rezultate, radije +nego nalaženja jednog točnog odgovora.</p> +<p> +Naša probna politika je da smatramo program pisan u JavaScriptu +ne-trivijalnim ako:</p> + +<ul> + <li>radi zahtjev AJAX-u<sup><a href="#TransNote3">3</a></sup> ili je učitan +zajedno sa skriptama koji rade zahtjev AJAX-u,</li> + + <li>učitava vanjske skripte dinamički ili je učitan od strane skripata koje to +rade,</li> + + <li>definira funkcije ili metode i ili učitava vanjsku skriptu (iz HTML-a) ili +je učitan kao jedna od njih,</li> + + <li>koristi dinamičke JavaScript konstrukte koji su teški za analizu bez +interpretiranja programa, ili je učitan zajedno sa skriptama koje koriste +takve konstrukte. Ti konstrukti su: + <ul> + <li>korištenje <i>eval</i> funkcije, </li> + <li>pozivanje metoda notacijom uglatih zagrada,</li> + <li>korištenje bilo kojeg drugog konstrukta osim doslovnog znakovnoga niza sa +određenim metodama (Obj.write, Obj.createElement, ...).</li> + </ul> + </li> +</ul> + +<p>Kako možemo razaznati je li kod u JavaScriptu slobodan? Na kraju ovoga +članka predlažemo konvenciju kojom ne-trivijalni program pisan u JavaScriptu +u internetskoj stranici može izjaviti URL na kojem se nalazi njegov izvorni +kod, i može također izjaviti svoju licencu, korištenjem stiliziranih +komentara.</p> + +<p>Naposljetku, moramo izmijeniti slobodne preglednike da otkrivaju i blokiraju +ne-trivijalan neslobodni JavaScript u internetskim stranicama. Program <a +href="/software/librejs/">LibreJS</a> otkriva neslobodni, ne-trivijalni +JavaScript u stranicama koje posjećujete, i blokira ga. LibreJS je +priključak za IceCat i IceWeasel (i Firefox).</p> + +<p>Korisnici preglednika isto trebaju i prikladne alate kako bi specificirali +JavaScript kod koji će se koristiti <em>umjesto</em> JavaScripta na +određenoj stranici. (Specificirani kod može biti potpuna zamjena, ili +izmijenjena inačica slobodnog programa pisanog u JavaScriptu na toj +stranici.) Greasemonkey ima mogućnosti za to, ali ne u potpunosti, jer ne +garantira izmjenu JavaScript koda na stranici prije nego program započne sa +izvršavanjem. Korištenje lokalnog <i>proxy</i><sup><a +href="#TransNote4">4</a></sup> poslužitelja funkcionira, ali je trenutno +previše nepogodno da bude pravo rješenje. Moramo konstruirati rješenje koje +je pouzdano i pogodno, kao i lokacije za razmjenu izmjena. Projekt GNU bi +htio preporučiti lokacije koje su posvećene samo slobodnim izmjenama.</p> + +<p>Te značajke će omogućiti da program pisan u JavaScriptu uključen na web +stranici bude slobodan u stvarnom i praktičnom smislu. JavaScript više neće +biti naročita prepreka našoj slobodi—ništa više nego su to trenutno C +ili Java. Bit ćemo u mogućnosti odbiti i zamijeniti neslobodne i +ne-trivijalne programe pisane u JavaScriptu, kao što smo odbili i zamijenili +neslobodne pakete koje se nude za instalaciju na uobičajeni način. Tada može +poč eti naša kampanja da internetske lokacije oslobode svoj JavaScript.</p> + +<p>U međuvremenu, postoji jedan slučaj kada je prihvatljivo pokrenuti +neslobodni program pisan u JavaScriptu: da se pošalje žalba operatorima +internetske lokacije govoreći da bi oni trebali osloboditi ili ukloniti +JavaScript kod koji je na lokaciji. Molim vas, ne oklijevajte da privremeno +omogućite JavaScript da biste to napravili—ali sjetite se da ga +onesposobite nakon toga.</p> + +<p><strong>Zahvaljujem se <a href="/people/people.html#mattlee">Mattu Leeu</a> +i <a href="http://ejohn.org">Johnu Resigu</a> za njihovu pomoć u definiranju +našeg predloženog kriterija, i Davidu Parunakianu na pomoći da postanem +svjestan ovog problema.</strong></p> + +<h3 id="AppendixA">Dodatak A: konvencija za objavljivanje slobodnih programa pisanih u +JavaScriptu</h3> + +<p>Za reference na odgovarajući izvorni kod, preporučamo</p> +<pre dir="ltr"> + + // @source: + +</pre> + +<p>i u nastavku URL. To zadovoljava zahtjev GNU GPL-a za distribucijom izvornog +koda. Ako je izvorni kod na nekoj drugoj lokaciji, tada morate pripaziti da +se <a +href="/licenses/gpl-faq.html#SourceAndBinaryOnDifferentSites">pobrinete za +to na ispravan način</a>. Izvorni kod je nužan da program bude slobodan. +</p> + +<p>Da biste ukazali na licencu JavaScript koda umetnutog u stranicu, +preporučamo da stavite obavijest o licenci između dviju bilješki ovoga +oblika:</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>Naravno, sve ovo bi trebalo biti sadržano u više-linijskom komentaru.</p> + +<p><a href="/licenses/gpl.html">GNU GPL</a>, kao i mnoge druge licence +slobodnog softvera, zahtijeva distribuciju kopije licence zajedno i u +izvornom kodu i u binarnom obliku programa. Međutim, GNU GPL je toliko +dugačka da uključivanje na stranicu s programom pisanom u JavaScriptu može +biti nepogodno. Možete ukloniti taj zahtjev za kod nad kojim imate autorska +prava, s ovakvom obavijesti o licenci:</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>Zahvaljujem Jaffaru Rumithu što mi je skrenuo pažnju na ovaj problem.</p> + +<h3 id="AppendixB">Dodatak B: Objavljivanje slobodnih programa pisanih u JavaScriptu ako ste +webmaster</h3> + +<p>Ako ste webmaster koji implementira slobodan softver u JavaScriptu na svojoj +lokaciji, jasno i dosljedno objavljivanje informacija o licencama tih +datoteka i o izvornom kodu pomaže vašim posjetiteljima da budu sigurni da +pokreću slobodan softver, i pomaže vama da se pridržavate uvjeta licence.</p> + +<p>Jedna metoda izjavljivanja licenci je ona opisana iznad u <a +href="#AppendixA">Dodatku A</a>. Druga metoda, <a +href="/licenses/javascript-labels.html">JavaScript web oznake licence</a>, +može biti pogodnija za biblioteke umanjenog JavaScript koda, posebno ako ih +niste vi napisali.</p> + +<div class="translators-notes"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.--> +<h3>Bilješke prevoditelja</h3><ol><li id="TransNote1">Od <i>obfuscated</i> +(namjerno nerazumljiv i višeznačan) i <i>script</i> (programski kod +namijenjen izvršavanju u interpreterima).</li><li id="TransNote2">Male +aplikacije pisane u Javi koje se izvršavaju u virtualnome stroju.</li><li +id="TransNote3">Asinkroni JavaScript i XML. Tehnika razvoja aplikacija koja +omogućava učitavanje podataka sa poslužitelja bez remećenja prikaza stranice +na klijentu.</li><li id="TransNote4">Poslužitelj koji služi kao posrednik za +zahtjeve klijenta prema nekom drugom poslužitelju.</li></ol> </div> +</div> + +<!-- for id="content", starts in the include above --> +<!--#include virtual="/server/footer.hr.html" --> +<div id="footer"> +<div class="unprintable"> + +<p>Molimo vas, općenite upite o FSF & GNU šaljite na <a +href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Postoje i <a +href="/contact/">drugi načini kontaktiranja</a> FSF-a. Prekinute poveznice i +ostale ispravke ili prijedloge možete poslati na <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>. --> +Radimo naporno i dajemo sve od sebe kako bismo pružili točne, visoko +kvalitetne prijevode. Međutim, nismo oslobođeni od nesavršenosti. Molimo +vas, šaljite svoje komentare i općenite prijedloge u tom smislu na <a +href="mailto:web-translators@gnu.org"><web-translators@gnu.org></a>. +Za informacije o koordiniranju i dostavljanju prijevoda naših mrežnih +stranica, pogledajte <a +href="/server/standards/README.translations.html">PROČITAJME za +prijevode</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 3.0 US. 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, 2010 Richard Stallman</p> + +<p>Ovo djelo dano je na korištenje pod <a rel="license" +href="http://creativecommons.org/licenses/by-nd/3.0/us/deed.hr">licencom +Creative Commons Imenovanje-Bez prerada 3.0 SAD</a>.</p> + +<!--#include virtual="/server/bottom-notes.hr.html" --> +<div class="translators-credits"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> +<b>Prijevod</b>: Marin Rameša 2013., Martina Bebek 2013.</div> + +<p class="unprintable"><!-- timestamp start --> +Zadnji put promijenjeno: + +$Date: 2016/11/18 07:32:45 $ + +<!-- timestamp end --> +</p> +</div> +</div> +</body> +</html> |