summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/nl/javascript-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/nl/javascript-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/nl/javascript-trap.html305
1 files changed, 305 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/nl/javascript-trap.html b/talermerchantdemos/blog/articles/nl/javascript-trap.html
new file mode 100644
index 0000000..34d6db7
--- /dev/null
+++ b/talermerchantdemos/blog/articles/nl/javascript-trap.html
@@ -0,0 +1,305 @@
+<!--#set var="PO_FILE"
+ value='<a href="/philosophy/po/javascript-trap.nl.po">
+ https://www.gnu.org/philosophy/po/javascript-trap.nl.po</a>'
+ --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html"
+ --><!--#set var="DIFF_FILE" value="/philosophy/po/javascript-trap.nl-diff.html"
+ --><!--#set var="OUTDATED_SINCE" value="2017-12-11" -->
+
+<!--#include virtual="/server/header.nl.html" -->
+<!-- Parent-Version: 1.79 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+<title>De JavaScript-valstrik</title>
+
+<!--#include virtual="/philosophy/po/javascript-trap.translist" -->
+<!--#include virtual="/server/banner.nl.html" -->
+<!--#include virtual="/server/outdated.nl.html" -->
+<h2>De JavaScript-valstrik</h2>
+
+<p>door <a href="http://www.stallman.org/">Richard Stallman</a></p>
+
+<p><strong>Waarschijnlijk voer je elke dag niet-vrije programma's uit op je
+computer zonder dat je het door hebt&mdash;via je webbrowser.</strong></p>
+
+<!-- any links that used to point to the appendices should point to
+ free-your-javascript.html instead. -->
+<blockquote>
+<p>Websitebeheerders: er zijn <a
+href="/software/librejs/free-your-javascript.html">diverse methoden</a> om
+de licentie van JavaScript-programma's op een website aan te geven.</p>
+</blockquote>
+
+<p>In de vrijesoftwaregemeenschap is het bekend dat niet-vrije programma's hun
+gebruikers misbruiken. Sommigen onder ons verdedigen onze vrijheid weigeren
+door alle private software op onze computers af te wijzen. Vele anderen
+beschouwen onvrijheid als een zeer slechte eigenschap van het programma.</p>
+
+<p>Veel gebruikers zijn zich ervan bewust dat deze kwestie ook van toepassing
+is op add-ons die in de webbrowser ge&iuml;nstalleerd kunnen worden, omdat
+ook deze vrij of niet-vrij kunnen zijn. Maar browsers gebruiken andere
+niet-vrije programma's zonder jou daar eerst toestemming voor te vragen of
+zelfs over te informeren&mdash;programma's die zich in webpagina's
+bevinden. Deze programma's worden meestal geschreven in JavaScript, maar
+andere programmeertalen worden ook gebruikt.</p>
+
+<p>JavaScript (officieel ECMAScript genoemd, maar weinigen gebruiken die naam)
+werd eerst gebruikt voor kleine details in webpagina's, zoals schattige maar
+niet-essenti&euml;le functies om te bladeren door webpagina's. Het was
+acceptabel om deze te beschouwen als uitbreidingen van de HTML-opmaak, in
+plaats van echte software; het was geen belangrijke kwestie.</p>
+
+<p>Veel websites gebruiken JavaScript nog steeds op die manier, maar andere
+websites gebruiken het voor veelomvattende programma's die grote taken
+uitvoeren. Neem bijvoorbeeld Google Docs; het probeert een
+JavaScript-programma naar je machine te downloaden dat een halve megabyte
+groot is, in een compacte vorm die we Obfuscript noemen, omdat het geen
+commentaar bevat en nauwelijks spaties, en de namen van methoden zijn
+&eacute;&eacute;n letter lang. De broncode van een programma is de vorm die
+het liefst gebruikt wordt om het te bewerken; de compacte code is niet de
+broncode, en de echte broncode van dit programma is niet beschikbaar voor de
+gebruiker.</p>
+
+<p>Veel van deze programma's zijn niet alleen niet-vrij, maar ook malware,
+omdat ze <a href="http://github.com/w3c/fingerprinting-guidance/issues/8">de
+gebruiker bespioneren</a>.</p>
+
+<p>Browsers vertellen je normaal gesproken niet wanneer zij
+JavaScript-programma's laden. Sommige browsers hebben de mogelijkheid om
+JavaScript geheel uit te schakelen, maar zelfs als je je bewust bent van
+deze kwestie, zou het grote moeite kosten om de niet-triviale, niet-vrije
+programma's te identificeren en deze te blokkeren. Echter, zelfs in de
+vrije-softwaregemeenschap zijn de meeste gebruikers zich niet bewust van
+deze kwestie; het zwijgen van de browser verhult het.</p>
+
+<p>Het is mogelijk om JavaScript-programma's als vrije software uit te brengen,
+door het verspreiden van de broncode onder een vrije-software licentie. Als
+het programma zelf-bevattend is&mdash;zijn functioneren en doel zijn
+onafhankelijk van de pagina waarin het geleverd werd&mdash;is dat prima; je
+kunt het programma kopi&euml;ren naar je eigen computer, het wijzigen, en
+dat bestand openen met een browser om het uit te voeren. Maar dat is een
+ongebruikelijk geval.</p>
+
+<p>In het gebruikelijke geval zijn JavaScript-programma's bedoeld om te werken
+met een bepaalde pagina of website, en de pagina of website hangt voor zijn
+functioneren van deze programma's af. Dan speelt een ander probleem: zelfs
+als de broncode van het programma beschikbaar is, bieden browsers je geen
+manier aan om jouw aangepaste versie uit te voeren in plaats van de
+originele versie bij het bezoeken van die pagina of website. Het effect
+lijkt op tivoisatie (waarbij je de software niet kunt vervangen), hoewel het
+in principe niet zo moeilijk is op te lossen.</p>
+
+<p>JavaScript is niet de enige programmeertaal die websites gebruiken om
+programma's naar de gebruiker te sturen. Flash ondersteunt programmeren door
+middel van een uitgebreide variant van JavaScript; als we ooit een compleet
+vrije Flash-speler hebben, moeten we omgaan met de kwestie van niet-vrije
+Flash-programma's. Silverlight heeft een vergelijkbaar probleem, maar dan
+erger, omdat Microsoft het gebruikt als een platform voor niet-vrije
+codecs. Een vrije vervanging van Silverlight is niet genoeg voor de vrije
+wereld totdat het normaal gesproken geleverd wordt met vrije vervangingen
+voor codecs.</p>
+
+<p>Java-applets worden ook in de browser uitgevoerd en hebben vergelijkbare
+problemen. Over het algemeen zal elke vorm van applet dit soort problemen
+hebben. Wanneer we een vrije uitvoeringsomgeving hebben voor een applet
+brengt dat ons alleen ver genoeg om het probleem te ervaren.</p>
+
+<p>Het is theoretisch mogelijk om te programmeren in HTML en CSS, maar in de
+praktijk is deze mogelijkheid gelimiteerd en niet gemakkelijk; het zou een
+ware prestatie zijn om iets te programmeren in deze talen. Dergelijke
+programma's zouden vrij moeten zijn, maar CSS is anno 2016 geen serieus
+probleem voor de vrijheid van gebruikers.</p>
+
+<p>Er heeft zich een sterke beweging ontwikkeld die oproept dat websites alleen
+communiceren door middel van formaten en protocollen die vrij zijn (sommigen
+zeggen &quot;open&quot;); wat betekent dat de documentatie gepubliceerd is
+en iedereen vrij is het te implementeren. Met de aanwezigheid van
+programma's in webpagina's is die eis noodzakelijk, maar niet
+voldoende. JavaScript zelf, als formaat, is vrij, en het gebruiken van
+JavaScript in een webpagina is niet noodzakelijkerwijs slecht. Echter, zoals
+we hierboven hebben gezien, hoeft het ook niet goed te zijn. Wanneer de
+website een programma naar de gebruiker verzendt, is het niet niet genoeg
+als het programma is geschreven in een gedocumenteerde en onbelemmerde taal;
+het programma moet zelf ook vrij zijn. &ldquo;Alleen vrije programma's die
+naar de gebruiker verzonden worden&rdquo; moet onderdeel worden van de eisen
+voor behoorlijk gedrag voor websites. </p>
+
+<p>Het stilletjes laden en uitvoeren van niet-vrije programma's is
+&eacute;&eacute;n van de problemen die zich voordoen bij
+&quot;web-applicaties&quot;. De term &quot;webapplicatie&quot; is bedacht om
+het fundamentele verschil, tussen software die geleverd wordt aan de
+gebruikers en software die uitgevoerd wordt op een server, te
+verzwijgen. Het kan verwijzen naar een gespecialiseerd clientprogramma dat
+wordt uitgevoerd in een browser; het kan verwijzen naar gespecialiseerde
+serversoftware; het kan verwijzen naar een gespecialiseerd clientprogramma
+dat hand in hand samenwerkt met gespecialiseerde serversoftware. De client-
+en server-kant brengen verschillende ethische kwesties aan het licht, zelfs
+als ze zo hecht samenwerken dat ze mogelijkerwijs gedeeltes van een enkel
+programma zijn. Dit artikel spreekt slechts over de kwestie van de software
+aan de client-kant. We benoemen de serverkwestie apart.</p>
+
+<p>Hoe kunnen we, in praktisch opzicht, omgaan met het probleem van niet-vrije
+JavaScript-programma's in webpagina's? De eerste stap is vermijden het uit
+te voeren.</p>
+
+<p>Wat bedoelen we met &quot;niet-triviaal&quot;? Hier is geen vaste grens
+voor, dus gaat het om het ontwerpen van een simpele eis die goede resultaten
+geeft, in plaats van het juiste antwoord te vinden.</p>
+<p>
+Ons voorlopige beleid is om een JavaScript-programma niet-triviaal te
+beschouwen als:</p>
+
+<ul>
+ <li>het een AJAX-verzoek doet of samen wordt geladen met scripts die een
+AJAX-verzoek doen,</li>
+
+ <li>het externe scripts dynamisch laadt of tezamen wordt geladen met scripts die
+dit doen,</li>
+
+ <li>het functies of methoden definieert en een extern script laadt (uit html) of
+als zo'n script wordt geladen,</li>
+
+ <li>het dynamische JavaScript-constructies gebruikt die moeilijk te analyseren
+zijn zonder het programma te interpreteren, of als het wordt geladen tezamen
+met scripts die dergelijke constructies gebruiken. Deze constructies zijn:
+ <ul>
+ <li>het gebruikmaken van de eval-functie,</li>
+ <li>methoden aanroepen met de rechte-haken-notatie,</li>
+ <li>het gebruiken van enige andere constructie dan een tekstreeks met bepaalde
+methoden (Obj.write, Obj.createElement, ...).</li>
+ </ul>
+ </li>
+</ul>
+
+<p>Hoe kunnen we uitvinden of JavaScript-code vrij is? In een <a
+href="/licenses/javascript-labels.html">apart artikel</a> stellen we een
+conventie voor waarmee niet-triviale JavaScript-programma's in een webpagina
+de URL kunnen aangeven waar de broncode staat, alsmede zijn licentie, door
+middel van gestilleerd commentaar.</p>
+
+<p>Tenslotte moeten we vrije browsers wijzigen zodat zij niet-triviale,
+niet-vrije JavaScript detecteren en blokkeren. Het programma <a
+href="/software/librejs/">LibreJS</a> detecteert niet-vrije, niet-triviale
+JavaScript in de pagina's die je bezoekt, en blokkeert deze. LibreJS wordt
+meegeleverd met IceCat, en is beschikbaar als add-on voor Firefox.</p>
+
+<p>Gebruikers van browsers hebben ook een gebruikersvriendelijke methode nodig
+om JavaScript-code te gebruiken <em>in plaats van</em> de JavaScript in een
+bepaalde pagina. (De gespecificeerde code kan een volledige vervanging zijn,
+of een gewijzigde versie van het vrije JavaScript-programma in die pagina.)
+Greasemonkey komt hier dicht in de buurt, maar niet helemaal, want het
+garandeert niet dat de aangepaste JavaScript-code op de pagina wordt
+gebruikt voordat het programma begint met uitvoeren. Het gebruiken van een
+lokale proxy werkt, maar is momenteel te moeilijk om een echte oplossing te
+zijn. We moeten een oplossing cre&euml;ren die betrouwbaar en gemakkelijk
+is, alsmede websites om gewijzigde programma's te delen. Het GNU-project
+raadt graag websites aan die toegewijd zijn aan vrije wijzigingen.</p>
+
+<p>Deze functies zullen het mogelijk maken dat een JavaScript-programma dat
+wordt meegeleverd met een webpagina in een praktisch opzicht vrij
+is. JavaScript zal geen bijzonder obstakel zijn voor onze
+vrijheid&mdash;niet meer dan C en Java nu zijn. We zullen in staat zijn om
+de niet-vrije, niet-triviale JavaScript-programma's te verwerpen en zelfs te
+vervangen, net zoals we niet-vrije programma's verwerpen en vervangen die
+ons op de reguliere manier ter installatie aangeboden worden.</p>
+
+<p>In de tussentijd is er &eacute;&eacute;n moment waarop het acceptabel is om
+een niet-vrij JavaScript-programma uit te voeren: om een klacht naar de
+websitebeheerders te sturen, waarin je aangeeft dat ze de JavaScript-code op
+de website zouden moeten bevrijden of verwijderen. Aarzel niet om JavaScript
+tijdelijk aan te zetten om dat te doen&mdash;maar vergeet niet om het na
+afloop weer uit te zetten.</p>
+
+<!-- any links that used to point to the appendices should point to
+ free-your-javascript.html instead. -->
+<blockquote>
+<p>Websitebeheerders: er zijn <a
+href="/software/librejs/free-your-javascript.html">diverse methoden</a> om
+de licentie van JavaScript-programma's op een website aan te geven.</p>
+</blockquote>
+
+<p><strong>Dankbetuiging:</strong>Ik dank <a
+href="/people/people.html#mattlee">Matt Lee</a> en <a
+href="http://ejohn.org">John Resig</a> voor hun hulp bij het bepalen van de
+voorgestelde criteria, en aan David Parunakian, die mij geholpen heeft me
+bewust te maken van het probleem.</p>
+
+<div class="translators-notes">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
+ </div>
+</div>
+
+<!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.nl.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Gelieve algemene vragen over FSF &amp; GNU te sturen naar <a
+href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Er zijn ook nog <a
+href="/contact/">andere manieren om in contact te komen</a> met de
+FSF. Foute links en andere correcties graag sturen aan <a
+href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</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">
+
+ &lt;web-translators@gnu.org&gt;</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>. -->
+We doen ons best om goede vertalingen te maken maar staan altijd open voor
+verbeteringen. Suggesties, op- en aanmerkingen sturen aan: <a
+href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.</p>
+<p>Zie <a href="/server/standards/README.translations.html"> Translations
+README</a> voor informatie over het onderhoud van vertalingen op deze
+website.</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 4.0. 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 &copy; 2009-2013, 2016, 2017 Richard Stallman</p>
+
+<p>Deze pagina is uitgebracht onder een <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons
+Naamsvermelding-GeenAfgeleideWerken 4.0 Internationaal licentie</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.nl.html" -->
+<div class="translators-credits">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
+<strong>Vertaling:</strong> <a
+href="//savannah.gnu.org/projects/www-nl">www-nl</a></div>
+
+<p class="unprintable"><!-- timestamp start -->
+Bijgewerkt:
+
+$Date: 2018/03/31 02:00:46 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>