www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/philosophy po/javascript-trap.hr.po po/java...


From: GNUN
Subject: www/philosophy po/javascript-trap.hr.po po/java...
Date: Thu, 09 May 2013 20:28:27 +0000

CVSROOT:        /web/www
Module name:    www
Changes by:     GNUN <gnun>     13/05/09 20:28:27

Modified files:
        philosophy/po  : javascript-trap.hr.po javascript-trap.translist 
Added files:
        philosophy     : javascript-trap.hr.html 
        philosophy/po  : javascript-trap.hr-en.html 

Log message:
        Automatic update by GNUnited Nations.

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/javascript-trap.hr.html?cvsroot=www&rev=1.1
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/po/javascript-trap.hr.po?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/po/javascript-trap.translist?cvsroot=www&r1=1.9&r2=1.10
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/po/javascript-trap.hr-en.html?cvsroot=www&rev=1.1

Patches:
Index: po/javascript-trap.hr.po
===================================================================
RCS file: /web/www/www/philosophy/po/javascript-trap.hr.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- po/javascript-trap.hr.po    9 May 2013 19:58:48 -0000       1.1
+++ po/javascript-trap.hr.po    9 May 2013 20:28:27 -0000       1.2
@@ -10,6 +10,7 @@
 "PO-Revision-Date: 2013-05-09 21:30+0100\n"
 "Last-Translator: Marin Rameša <address@hidden>\n"
 "Language-Team: www-hr <address@hidden>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -102,12 +103,12 @@
 "tends to conceal it."
 msgstr ""
 "Preglednici vam normalno ne govore kada učitaju JavaScript programe. Većina 
"
-"preglednika imaju način da se JavaScript u cijelosti isključi, ali niti 
jedan "
-"od njih ne može provjeriti da li su JavaScript programi ne-trivijalni i "
-"neslobodni. Čak iako 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 nisu svjesni ovoga problema; šutnja "
-"preglednika vodi prema prikrivanju toga."
+"preglednika imaju način da se JavaScript u cijelosti isključi, ali niti "
+"jedan od njih ne može provjeriti da li su JavaScript programi ne-trivijalni "
+"i neslobodni. Čak iako 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 nisu svjesni ovoga problema; "
+"Å¡utnja preglednika vodi prema prikrivanju toga."
 
 #. type: Content of: <p>
 msgid ""
@@ -123,8 +124,8 @@
 "izvornog koda pod licencom slobodnog softvera. Ali čak 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 
postrojenje "
-"da pokrenete vašu vlastitu izmijenjenu inačicu umjesto one koja je pružena 
na "
-"stranici. Efekt je usporediv sa tivoizacijom, iako ne toliko težak da se "
+"da pokrenete vašu vlastitu izmijenjenu inačicu umjesto one koja je pružena 
"
+"na stranici. Efekt je usporediv sa tivoizacijom, iako ne toliko težak da se "
 "prebrodi."
 
 #. type: Content of: <p>
@@ -303,11 +304,11 @@
 "\">LibreJS</a> detects nonfree, nontrivial JavaScript in pages you visit, "
 "and blocks it.  LibreJS is an add-on for IceCat and IceWeasel (and Firefox)."
 msgstr ""
-"Naposljetku, moramo izmijeniti slobodne preglednike da otkrivaju i "
-"blokiraju ne-trivijalan neslobodni JavaScript u web 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)."
+"Naposljetku, moramo izmijeniti slobodne preglednike da otkrivaju i blokiraju "
+"ne-trivijalan neslobodni JavaScript u web 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)."
 
 #. type: Content of: <p>
 msgid ""

Index: po/javascript-trap.translist
===================================================================
RCS file: /web/www/www/philosophy/po/javascript-trap.translist,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- po/javascript-trap.translist        7 May 2013 00:58:28 -0000       1.9
+++ po/javascript-trap.translist        9 May 2013 20:28:27 -0000       1.10
@@ -7,6 +7,7 @@
 <span dir="ltr"><a lang="es" hreflang="es" 
href="/philosophy/javascript-trap.es.html">español</a>&nbsp;[es]</span>&nbsp;&nbsp;
 <span dir="ltr"><a lang="fa" hreflang="fa" 
href="/philosophy/javascript-trap.fa.html">فارسی</a>&nbsp;[fa]</span>&nbsp;&nbsp;
 <span dir="ltr"><a lang="fr" hreflang="fr" 
href="/philosophy/javascript-trap.fr.html">français</a>&nbsp;[fr]</span>&nbsp;&nbsp;
+<span dir="ltr"><a lang="hr" hreflang="hr" 
href="/philosophy/javascript-trap.hr.html">hrvatski</a>&nbsp;[hr]</span>&nbsp;&nbsp;
 <span dir="ltr"><a lang="ja" hreflang="ja" 
href="/philosophy/javascript-trap.ja.html">日本語</a>&nbsp;[ja]</span>&nbsp;&nbsp;
 <span dir="ltr"><a lang="pl" hreflang="pl" 
href="/philosophy/javascript-trap.pl.html">polski</a>&nbsp;[pl]</span>&nbsp;&nbsp;
 <span dir="ltr"><a lang="ru" hreflang="ru" 
href="/philosophy/javascript-trap.ru.html">русский</a>&nbsp;[ru]</span>&nbsp;&nbsp;

Index: javascript-trap.hr.html
===================================================================
RCS file: javascript-trap.hr.html
diff -N javascript-trap.hr.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ javascript-trap.hr.html     9 May 2013 20:28:26 -0000       1.1
@@ -0,0 +1,303 @@
+
+<!--#include virtual="/server/header.hr.html" -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+ <!--#set var="ENGLISH_PAGE" value="/philosophy/javascript-trap.en.html" -->
+
+<title>JavaScript zamka</title>
+
+<!--#include virtual="/philosophy/po/javascript-trap.translist" -->
+<!--#include virtual="/server/banner.hr.html" -->
+<h2>JavaScript zamka</h2>
+
+<p><a href="http://www.stallman.org/";>Richard Stallman</a></p>
+
+<p><strong>Može biti da pokrećete neslobodne programe na vašem računalu 
svaki
+dan bez da ste toga svjesni&mdash;kroz vaš internet preglednik.</strong></p>
+
+<p>U zajednici slobodnog softvera, ideja da neslobodni programi maltretiraju
+svoje korisnike je poznata. Neki od nas odbijaju u cijelosti instalaciju
+vlasničkog softvera, i mnogi drugi smatraju neslobodu udarom na
+program. Mnogi korisnici su svjesni da se taj problem odnosi na priključke
+koje preglednici nude za instalaciju, pošto oni mogu biti slobodni ili
+neslobodni.</p>
+
+<p>Ali preglednici pokreću druge neslobodne programe, oko pokretanja kojih ne
+postavljaju pitanja, ili vam čak i ne govore za njih&mdash;programi koje web
+stranice sadrže ili imaju poveznicu na njih. Ti programi su najčešće
+napisani u JavaScript-u, iako se i drugi jezici isto tako koriste.</p>
+
+<p>JavaScript (službeno zvan ECMAScript, ali samo nekolicina koristi to ime) 
je
+nekoć bio korišten za manje ukrase u web 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 koji mjeri pola megabajta, u
+kompaktnom obliku koji možemo nazvati <i>Obfuscript</i><sup><a
+href="#TransNote1">1</a></sup> zato jer nema komentara i skoro pa ništa
+praznih znakova, i 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>Preglednici vam normalno ne govore kada učitaju JavaScript programe. 
Većina
+preglednika imaju način da se JavaScript u cijelosti isključi, ali niti
+jedan od njih ne može provjeriti da li su JavaScript programi ne-trivijalni
+i neslobodni. Čak iako 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 nisu svjesni ovoga problema;
+Å¡utnja preglednika vodi prema prikrivanju toga.</p>
+
+<p>Moguće je objaviti JavaScript program kao slobodan softver, distribucijom
+izvornog koda pod licencom slobodnog softvera. Ali čak 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 postrojenje
+da pokrenete vašu vlastitu izmijenjenu inačicu 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 web lokacije koriste za programe poslane
+korisniku. Flash podržava programiranje kroz proširenu varijantu
+JavaScript-a. Morati ćemo proučiti problem Flash-a da napravimo prikladne
+preporuke. Čini se da će Silverlight po svoj prilici napraviti problem
+sličan Flash-u, samo još gori, pošto ga Microsoft 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>Snažni pokret se razvio koji poziva web lokacije da komuniciraju samo kroz
+formate i protokole koji su slobodni (neki kažu &quot;otvoreni&quot;); 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 JavaScript-a na web 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. &ldquo;Samo slobodni
+programi preneseni korisniku&rdquo; moraju postati dio kriterija za ispravno
+ponašanje web lokacija.</p>
+
+<p>Šutke učitavati i pokretati neslobodne programe je jedan od nekoliko
+problema postavljenih od strane &quot;web aplikacija&quot;. Termin &quot;web
+aplikacija&quot; je bio dizajnirani da zanemari 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 
JavaScript
+programa na web lokacijama? Prvi korak je da ih izbjegavamo pokretati.</p>
+
+<p>Å to mislimo pod &quot;ne-trivijalno&quot;? 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 JavaScript program ne-trivijalnim ako:</p>
+
+<ul>
+  <li>radi AJAX<sup><a href="#TransNote3">3</a></sup> zahtjev ili je učitan
+zajedno sa skriptama koji rade AJAX zahtjev,</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 da je JavaScript kod slobodan? Na kraju ovoga članka
+predlažemo konvenciju kojom ne-trivijalni JavaScript program u web 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 web 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 pogodno postrojenje da specificiraju
+JavaScript kod koji će se koristiti <em>umjesto</em> JavaScript-a na
+određenoj stranici. (Specificirani kod može biti potpuna zamjena, ili
+izmijenjena inačica slobodnog JavaScript programa na toj stranici.)
+Greasemonkey dolazi blizu da bude sposoban da to napravi, ali ne sasvim,
+pošto 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 riješenje. Moramo konstruirati riješenje
+koje je pouzdano i pogodno, kao i lokacije za razmjenu izmjena. GNU projekt
+bi htio preporučiti lokacije koje su posvećene samo slobodnim izmjenama.</p>
+
+<p>Te značajke će napraviti mogućim da JavaScript program uključen na web
+stranici bude slobodan u stvarnom i praktičnom smislu. JavaScript više neće
+biti partikularna prepreka našoj slobodi&mdash;ništa više nego su to
+trenutno C ili Java. Biti ćemo u mogućnosti odbiti i čak zamijeniti
+neslobodne i ne-trivijalne JavaScript programe, kao Å¡to smo odbili i
+zamijenili neslobodne pakete koje se nude za instalaciju na uobičajeni
+način. Naša kampanja da web lokacije oslobode svoj JavaScript može tada
+početi.</p>
+
+<p>U međuvremenu, postoji jedan slučaj kada je prihvatljivo pokrenuti
+neslobodni JavaScript program: da se pošalje žalba operatorima web 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&mdash;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 JavaScript 
programa</h3>
+
+<p>Za reference na odgovarajući izvorni kod, preporučamo</p>
+<pre dir="ltr">
+
+    // @source:
+
+</pre>
+
+<p>i u nastavku URL.</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 sa JavaScript programom može biti
+nepogodno. Možete ukloniti taj zahtjev, za kod nad kojim imate autorska
+prava, sa 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 JavaScript programa ako 
ste webmaster</h3>
+
+<p>Ako ste webmaster koji implementira slobodan JavaScript softver na vašoj
+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 style="font-size: small;">
+
+<!--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 Java
+aplikacije 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 da se remeti prikaz
+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>
+
+<!--#include virtual="/server/footer.hr.html" -->
+<div id="footer">
+
+<p>
+Molim vas šaljite općenite FSF &amp; GNU upite na <a
+href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.  Postoje isto i <a
+href="/contact/">drugi načini kontaktiranja</a> FSF-a.
+<br />
+Prekinute poveznice i drugi ispravci ili prijedlozi mogu biti poslani na <a
+href="mailto:address@hidden";>&lt;address@hidden&gt;</a>. 
+</p>
+
+<p>
+Radimo naporno i dajemo sve od sebe da bi pružili točne, visoko kvalitetne
+prijevode. Međutim, nismo oslobođeni od nesavršenosti. Molim vas šaljite
+vaše komentare i općenite prijedloge u tom smislu na <a
+href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.</p>
+<p>Za informacije o koordiniranju i slanju prijevoda naših mrežnih stranica,
+pogledajte <a href="/server/standards/README.translations.html">README za
+prijevode</a>.
+</p>
+
+<p>Copyright &copy; 2009, 2010 Richard Stallman</p>
+
+<p>Ovo djelo je dano na korištenje pod licencom <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/deed.hr";> 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.</div>
+
+
+ <p><!-- timestamp start -->
+Zadnji put promijenjeno:
+
+$Date: 2013/05/09 20:28:26 $
+
+<!-- timestamp end -->
+</p>
+</div>
+
+</div>
+</body>
+</html>

Index: po/javascript-trap.hr-en.html
===================================================================
RCS file: po/javascript-trap.hr-en.html
diff -N po/javascript-trap.hr-en.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ po/javascript-trap.hr-en.html       9 May 2013 20:28:27 -0000       1.1
@@ -0,0 +1,279 @@
+<!--#include virtual="/server/header.html" -->
+<title>The JavaScript Trap</title>
+<!--#include virtual="/philosophy/po/javascript-trap.translist" -->
+<!--#include virtual="/server/banner.html" -->
+
+<h2>The JavaScript Trap</h2>
+
+<p>by <a href="http://www.stallman.org/";>Richard Stallman</a></p>
+
+<p><strong>You may be running nonfree programs on your computer every
+day without realizing it&mdash;through your web browser.</strong></p>
+
+<p>In the free software community, the idea that nonfree programs
+mistreat their users is familiar.  Some of us refuse entirely to
+install proprietary software, and many others consider nonfreedom a
+strike against the program.  Many users are aware that this issue
+applies to the plug-ins that browsers offer to install, since they can
+be free or nonfree.</p>
+
+<p>But browsers run other nonfree programs which they don't ask you
+about or even tell you about&mdash;programs that web pages contain or
+link to.  These programs are most often written in JavaScript, though
+other languages are also used.</p>
+
+<p>JavaScript (officially called ECMAScript, but few use that name) was
+once used for minor frills in web pages, such as cute but inessential
+navigation and display features.  It was acceptable to consider these
+as mere extensions of HTML markup, rather than as true software; they
+did not constitute a significant issue.</p>
+
+<p>Many sites still use JavaScript that way, but some use it for major
+programs that do large jobs.  For instance, Google Docs downloads into
+your machine a JavaScript program which measures half a megabyte, in a
+compacted form that we could call Obfuscript because it has no
+comments and hardly any whitespace, and the method names are one
+letter long.  The source code of a program is the preferred form for
+modifying it; the compacted code is not source code, and the real
+source code of this program is not available to the user.</p>
+
+<p>Browsers don't normally tell you when they load JavaScript programs.
+Most browsers have a way to turn off JavaScript entirely, but none of
+them can check for JavaScript programs that are nontrivial and
+nonfree.  Even if you're aware of this issue, it would take you
+considerable trouble to identify and then block those programs.
+However, even in the free software community most users are not aware
+of this issue; the browsers' silence tends to conceal it.</p>
+
+<p>It is possible to release a JavaScript program as free software, by
+distributing the source code under a free software license.  But even
+if the program's source is available, there is no easy way to run your
+modified version instead of the original.  Current free browsers do
+not offer a facility to run your own modified version instead of the
+one delivered in the page.  The effect is comparable to tivoization,
+although not quite so hard to overcome.</p>
+
+<p>JavaScript is not the only language web sites use for programs sent to
+the user.  Flash supports programming through an extended variant of
+JavaScript.  We will need to study the issue of Flash to make suitable
+recommendations.  Silverlight seems likely to create a problem similar
+to Flash, except worse, since Microsoft uses it as a platform for
+nonfree codecs.  A free replacement for Silverlight does not do the job
+for the free world unless it normally comes with free replacement codecs.</p>
+
+<p>Java applets also run in the browser, and raise similar issues.  In
+general, any sort of applet system poses this sort of problem.  Having
+a free execution environment for an applet only brings us far enough
+to encounter the problem.</p>
+
+<p>A strong movement has developed that calls for web sites to
+communicate only through formats and protocols that are free (some say
+&quot;open&quot;); that is to say, whose documentation is published and which
+anyone is free to implement.  With the presence of programs in web
+pages, that criterion is necessary, but not sufficient.  JavaScript
+itself, as a format, is free, and use of JavaScript in a web site is
+not necessarily bad.  However, as we've seen above, it also isn't
+necessarily OK.  When the site transmits a program to the user, it is
+not enough for the program to be written in a documented and
+unencumbered language; that program must be free, too.  &ldquo;Only free
+programs transmitted to the user&rdquo; must become part of the criterion
+for proper behavior by web sites.</p>
+
+<p>Silently loading and running nonfree programs is one among several
+issues raised by &quot;web applications&quot;.  The term &quot;web
+application&quot; was designed to disregard the fundamental
+distinction between software delivered to users and software running
+on the server.  It can refer to a specialized client program running
+in a browser; it can refer to specialized server software; it can
+refer to a specialized client program that works hand in hand with
+specialized server software.  The client and server sides raise
+different ethical issues, even if they are so closely integrated that
+they arguably form parts of a single program.  This article addresses
+only the issue of the client-side software.  We are addressing the
+server issue separately.</p>
+
+<p>In practical terms, how can we deal with the problem of nonfree
+JavaScript programs in web sites?  The first step is to avoid running
+it.</p>
+
+<p>What do we mean by &quot;nontrivial&quot;?  It is a matter of
+degree, so this is a matter of designing a simple criterion that gives
+good results, rather than finding the one correct answer.</p>
+<p>
+Our tentative policy is to consider a JavaScript program nontrivial if:</p>
+
+<ul>
+  <li>it makes an AJAX request or is loaded along with scripts that make
+    an AJAX request,</li>
+
+  <li>it loads external scripts dynamically or is loaded along with
+    scripts that do,</li>
+
+  <li>it defines functions or methods and either loads an external script
+    (from html) or is loaded as one,</li>
+  
+  <li>it uses dynamic JavaScript constructs that are difficult to analyze
+    without interpreting the program, or is loaded along with scripts
+    that use such constructs.  These constructs are:
+    <ul>
+      <li>using the eval function,</li>
+      <li>calling methods with the square bracket notation,</li>
+      <li>using any other construct than a string literal with
+       certain methods (Obj.write, Obj.createElement, ...).</li>
+    </ul>
+  </li>
+</ul>
+
+<p>How do we tell whether the JavaScript code is free?  At the end of
+this article we propose a convention by which a nontrivial JavaScript
+program in a web page can state the URL where its source code is
+located, and can state its license too, using stylized comments.</p>
+
+<p>Finally, we need to change free browsers to detect and block
+nontrivial nonfree JavaScript in web pages.  The program
+<a href="/software/librejs/">LibreJS</a> detects nonfree,
+nontrivial JavaScript in pages you visit, and blocks it.  LibreJS is
+an add-on for IceCat and IceWeasel (and Firefox).</p>
+
+<p>Browser users also need a convenient facility to specify JavaScript
+code to use <em>instead</em> of the JavaScript in a certain page.
+(The specified code might be total replacement, or a modified version
+of the free JavaScript program in that page.)  Greasemonkey comes close
+to being able to do this, but not quite, since it doesn't guarantee to
+modify the JavaScript code in a page before that program starts to
+execute.  Using a local proxy works, but is too inconvenient now to be
+a real solution.  We need to construct a solution that is reliable and
+convenient, as well as sites for sharing changes.  The GNU Project
+would like to recommend sites which are dedicated to free changes
+only.</p>
+
+<p>These features will make it possible for a JavaScript program included
+in a web page to be free in a real and practical sense.  JavaScript
+will no longer be a particular obstacle to our freedom&mdash;no more than
+C and Java are now.  We will be able to reject and even replace the
+nonfree nontrivial JavaScript programs, just as we reject and replace
+nonfree packages that are offered for installation in the usual way.
+Our campaign for web sites to free their JavaScript can then begin.</p>
+
+<p>In the mean time, there's one case where it is acceptable to run a
+nonfree JavaScript program: to send a complaint to the website
+operators saying they should free or remove the JavaScript code in the
+site.  Please don't hesitate to enable JavaScript temporarily to do
+that&mdash;but remember to disable it again afterwards.</p>
+
+<p><strong>Thank you to <a href="/people/people.html#mattlee">Matt Lee</a>
+and <a href="http://ejohn.org";>John Resig</a> for their help in
+defining our proposed criterion, and to David Parunakian for
+helping to make me aware of the problem.</strong></p>
+
+<h3 id="AppendixA">Appendix A: a convention for releasing free JavaScript 
programs</h3>
+
+<p>For references to corresponding source code, we recommend</p>
+<pre dir="ltr">
+
+    // @source:
+
+</pre>
+
+<p>followed by the URL.</p>
+
+<p>To indicate the license of the JavaScript code embedded in a page, we
+recommend putting the license notice between two notes of this form:</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>Of course, all of this should be contained in a multiline comment.</p>
+
+<p>The <a href="/licenses/gpl.html">GNU GPL</a>, like many other free
+software licenses, requires distribution of a copy of the license with
+both source and binary forms of the program.  However, the GNU GPL is
+long enough that including it in a page with a JavaScript program can
+be inconvenient.  You can remove that requirement, for code that you
+have the copyright on, with a license notice like this:</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>I thank Jaffar Rumith for bringing this issue to my attention.</p>
+
+<h3 id="AppendixB">Appendix B: Publishing free JavaScript programs as
+  a webmaster</h3>
+
+<p>If you're a webmaster deploying free JavaScript software
+  on your site, clearly and consistently publishing information about
+  those files' licenses and source code helps your visitors make
+  sure that they're running free software, and help you comply with
+  license conditions.</p>
+
+<p>One method of stating the licenses is the one described above in
+  <a href="#AppendixA">Appendix A</a>.  A second
+  method, <a href="/licenses/javascript-labels.html"> JavaScript
+  license web labels</a>, can be more convenient for libraries of
+  minified JavaScript code, especially when you didn't write them.</p>
+
+</div>
+<!--#include virtual="/server/footer.html" -->
+
+<div id="footer">
+
+<p>
+Please send FSF &amp; GNU inquiries to 
+<a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF.
+<br />
+Please send broken links and other corrections or suggestions to
+<a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.
+</p>
+
+<p>
+Please see the 
+<a href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting
+translations of this article.
+</p>
+
+<p>Copyright &copy; 2009, 2010 Richard Stallman</p>
+
+<p>This work is licensed under the Creative Commons Attribution-No
+Derivative Works 3.0 United States License. To view a copy of this
+license,
+visit <a 
href="http://creativecommons.org/licenses/by-nd/3.0/us/";>http://creativecommons.org/licenses/by-nd/3.0/us/</a>
+or send a letter to Creative Commons, 171 Second Street, Suite 300,
+San Francisco, California, 94105, USA.</p>
+
+<!--#include virtual="/server/bottom-notes.html" -->
+
+<p>Updated:
+<!-- timestamp start -->
+$Date: 2013/05/09 20:28:27 $
+<!-- timestamp end -->
+</p>
+</div>
+
+</div>
+</body>
+</html>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]