summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/nl/java-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/nl/java-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/nl/java-trap.html286
1 files changed, 286 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/nl/java-trap.html b/talermerchantdemos/blog/articles/nl/java-trap.html
new file mode 100644
index 0000000..5ff7598
--- /dev/null
+++ b/talermerchantdemos/blog/articles/nl/java-trap.html
@@ -0,0 +1,286 @@
+<!--#set var="ENGLISH_PAGE" value="/philosophy/java-trap.en.html" -->
+
+<!--#include virtual="/server/header.nl.html" -->
+<!-- Parent-Version: 1.77 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+<title>Vrij maar geketend - De Java-valstrik - GNU-project - Free Software
+Foundation</title>
+
+<!--#include virtual="/philosophy/po/java-trap.translist" -->
+<!--#include virtual="/server/banner.nl.html" -->
+<h2>Vrij maar geketend - De Java-valstrik</h2>
+
+<p>door <a href="http://www.stallman.org/">Richard Stallman</a></p>
+
+
+<div class="announcement"><blockquote><h3>Mededeling</h3>
+<p>Sinds publicatie van dit artikel heeft Sun (nu onderdeel van Oracle) het
+grootste deel van de referentie-implementatie van het Java-platform onder de
+GNU General Public License <a
+href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">uitgebracht</a>,
+en er is nu een vrij ontwikkelplatform voor Java. Daarmee vormt de
+Java-programmeertaal niet langer een valkuil.</p>
+
+<p>Oppassen echter, niet ieder Java platform is hiermee vrij. Sun verspreidt
+ook nog steeds een uitvoerbare versie die niet vrij is, evenals andere
+bedrijven.</p>
+
+<p>De vrij omgeving voor Java heet IcedTea; dit bevat ook de broncode die Sun
+vrij heeft gegeven. Die moet je dus gebruiken. Veel GNU/Linux-distributies
+bevatten IcedTea maar sommigen bevatten niet-vrije varianten. (Opmerking in
+oktober 2015: de vrije implementatie van Java staat in veel
+GNU/Linux-distributies bekend als OpenJDK.)</p>
+
+<p>Om te kunnen achterhalen of je Java-programma's goed in een vrije omgeving
+zullen draaien zul je met IcedTea moeten ontwikkelen. Theoretisch zouden de
+platformen uitwisselbaar moeten zijn maar dat is nooit voor 100 procent.</p>
+
+<p>Verder zijn er niet-vrije programma's in omloop met &ldquo;Java&rdquo; in
+hun naam, zoals JavaFX, en zijn er niet-vrije Java-pakketten die je wellicht
+zou willen gebruiken maar dat niet moet doen. Controleer dus altijd de
+licenties. Wanneer je Swing gebruikt, vergewis je er dan van dat je de vrije
+versie gebruikt die in IcedTea zit. (Opmerking in oktober 2015: een vrije
+vervanging voor JavaFX, OpenJFX genaamd, is uitgebracht.)</p>
+
+<p>Desalniettemin blijft het hier beschreven probleem relevant omdat andere
+niet-vrije programmabibliotheken of platformen hetzelfde probleem zouden
+kunnen bevatten. Laat deze geschiedenis van Java dus een les zijn om
+toekomstige valstrikken te voorkomen.</p>
+
+<p>Zie verder: <a href="/philosophy/javascript-trap.html">De
+JavaScript-valstrik</a>.</p>
+</blockquote>
+</div>
+
+<p>12 april 2004</p>
+
+<p>
+ Wanneer je programma vrije software is, is het van zichzelf ethisch
+verantwoord&mdash;maar er loert een valstrik waar je voor uit moet
+kijken. Hoewel je programma zelf vrij is kan het toch beperkingen hebben
+door andere software waar het van afhankelijk is. Omdat dit probleem vooral
+speelt bij Java-programma's noemen we het de Java-valstrik.
+</p>
+
+<p>
+ Een programma is vrije software wanneer gebruikers ervan bepaalde
+belangrijke vrijheden krijgen. Grof gezegd zijn dit: de vrijheid een
+programma te gebruiken, de vrijheid het te bestuderen en de broncode te
+veranderen, de vrijheid de broncode en binaire code opnieuw te verspreiden
+en de vrijheid om nieuwe, verbeterde versies ervan te publiceren (zie ook <a
+href= "/philosophy/free-sw.html">
+http://www.gnu.org/philosophy/free-sw.html</a>). Of een programma vrij is of
+niet is geheel afhankelijk van de licentie die erop van kracht is.
+</p>
+
+<p>
+ De vraag of het programma gebruikt kan worden in de vrije wereld, door
+mensen die in vrijheid behoren te leven, is moeilijker te beantwoorden. Dit
+wordt niet alleen bepaald door de licentie van een programma, want geen
+enkel programma werkt in totale isolatie. Ieder programma is afhankelijk van
+andere programma's. Het moet bijvoorbeeld gecompileerd worden of
+ge&iuml;nterpreteerd en is daarmee afhankelijk van een compiler of
+interpretator. Wanneer het gecompileerd wordt naar byte-code is het ook nog
+eens afhankelijk van een byte-code interpretator. Verder heeft het
+programmabibliotheken nodig om te draaien en het zou ook nog andere
+programma's kunnen starten die in andere processen draaien. Al die
+programma's vormen afhankelijkheden. Die afhankelijkheden kunnen nodig zijn
+voor het programma om &uuml;berhaupt te draaien of alleen voor bepaalde
+stukjes functionaliteit. Hoe dan ook, het programma, in zijn geheel of
+gedeeltelijk, kan niet draaien zonder de afhankelijkheden.
+</p>
+
+<p>
+ Wanneer sommige van die afhankelijkheden van een programma niet vrij zijn,
+betekent het dat het programma, of een gedeelte daarvan, niet kan draaien op
+een compleet vrij systeem&mdash;het is onbruikbaar in de vrije
+wereld. Natuurlijk, we kunnen het programma verspreiden en kopie&euml;n
+houden op onze machines maar dat heeft weinig nut als we ze niet kunnen
+laten draaien. Het programma mag dan vrije software zijn, het wordt bij
+wijze van spreken geketend door zijn niet-vrije afhankelijkheden.
+</p>
+
+<p>
+ Dit probleem kan zich voordoen in alle software, geschreven in welke taal
+dan ook. Een vrij programma bijvoorbeeld dat alleen op Microsoft Windows
+draait is duidelijk onbruikbaar in de vrije wereld. Maar software op
+GNU/Linux kan ook onbruikbaar zijn wanneer het afhankelijk is van andere,
+niet-vrije, software. In het verleden waren Motif (voordat we LessTif
+hadden) en Qt (voordat de ontwikkelaars het vrije software maakten) grote
+veroorzakers van dit probleem. De meeste 3D-videokaarten werken alleen
+volledig met niet-vrije stuurprogramma's die ook een oorzaak van het
+probleem vormen. Maar de grootste bron van problemen op dit moment is Java,
+mede doordat veel mensen die vrije software schrijven Java sexy
+vinden. Verblind door de aantrekkingskracht van de taal zien ze het probleem
+van de afhankelijkheden over het hoofd en raken verstrikt in de
+Java-valstrik.
+</p>
+
+<p>
+ De Java-implementatie door Sun is niet vrij. De standaard Java-bibliotheken
+zijn ook niet vrij. We hebben echter wel vrije versies van Java, zoals de <a
+href="http://gcc.gnu.org/java/">GNU-compiler voor Java</a> (GCJ) en <a href=
+"/software/classpath">GNU Classpath</a>, maar die ondersteunen nog niet alle
+mogelijkheden. We zijn bezig met een inhaalslag.
+</p>
+
+<p>
+ Wanneer je een Java-programma op het Java-platform van Sun ontwikkelt loop
+je het risico Sun-specifieke dingen te gebruiken zonder dat je het door
+hebt. Wanneer je daar maanden later achter komt kan het ook weer maanden
+kosten voordat je die afhankelijkheid eruit hebt. Je zou dan kunnen
+verzuchten: &ldquo;Het is teveel werk om opnieuw te beginnen&rdquo;. Op dat
+moment is je programma verstrikt geraakt in de Java-valstrik; het is niet
+meer bruikbaar in de vrije wereld.
+</p>
+
+<p>
+ De enige betrouwbare methode om de valstrik te omzeilen is alleen een vrije
+implementatie van Java op je systeem toe te laten. Wanneer je op die manier
+iets specifieks gebruikt van Java of een bibliotheek wat nog niet wordt
+ondersteund, kom je er direct achter en kun je meteen je code aanpassen.
+</p>
+
+<p>
+ Sun blijft bezig met het ontwikkelen van nieuwe &ldquo;standaard&rdquo;
+Java-bibliotheken en ze zijn bijna allemaal niet-vrij; in veel gevallen is
+zelfs de specificatie van de bibliotheek een handelsgeheim en de meest
+recente versie van de licentie van Sun voor deze specificaties verbiedt
+zelfs publicatie van implementaties die niet volledig zijn. (Zie <a href=
+"http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">
+http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> en <a href=
+"http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html">
+http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a>
+voor voorbeelden).
+</p>
+
+<p>
+ Gelukkig laat die licentie wel toe dat er een vrije implementatie
+uitgebracht kan worden; anderen die deze bibliotheek dan ontvangen mogen hem
+dan wel veranderen en hoeven niet volledig aan de specificatie te
+voldoen. Maar deze vereiste beperkt wel de mogelijkheid om via een
+samenwerkingsmodel een vrije implementatie te maken. In een dergelijk model
+moet je onvolledige versies publiceren wat diegenen die de specificatie
+hebben gelezen niet mogen doen.
+</p>
+
+<p>
+ In de begintijd van de vrije software beweging was het onmogelijk om geen
+afhankelijkheden te hebben met niet-vrije programma's. Voordat we de GNU
+C-compiler hadden was ieder C-programma (vrij of niet), afhankelijk van een
+niet-vrije C-compiler. Voordat we de GNU C-bibliotheek hadden was ieder
+programma afhankelijk van een niet-vrije C-bibliotheek. Voordat we Linux
+hadden, de eerste vrije kernel, was ieder programma afhankelijk van een
+niet-vrije kernel. Voordat we Bash hadden moest ieder script
+ge&iuml;nterpreteerd worden door een niet-vrije shell. Deze beperkende
+afhankelijkheden waren onvermijdelijk maar dit was acceptabel omdat ons plan
+was ze in de toekomst hiervan te redden. Ons hogere doel, een zelfstandig
+besturingssysteem, zou een vrije vervanging hebben voor al deze
+afhankelijkheden; wanneer we dit doel zouden bereiken zouden al onze
+programma's gered zijn. Aldus geschiedde: met het GNU/Linux-systeem kunnen
+we deze programma's laten draaien op een vrij platform.
+</p>
+
+<p>
+ Vandaag de dag is het anders. We hebben krachtige vrije besturingssystemen
+en een hoop vrije programmeer-hulpmiddelen. Wat je ook wilt doen, je kunt
+het op een vrij platform doen; er is geen reden meer om een niet-vrije
+afhankelijkheid te accepteren, zelfs niet voor even. Mensen raken
+voornamelijk nog verstrikt omdat ze er niet goed over nadenken. De simpelste
+oplossing voor deze Java-valstrik is door mensen aan te leren dit te
+vermijden.
+</p>
+
+<p>
+ Om je Java-code te beschermen tegen de Java-valstrik moet je een vrije
+Java-ontwikkelomgeving installeren en die gebruiken. Meer in het algemeen,
+wat voor taal je ook gebruikt, let op en controleer de vrije status van de
+afhankelijkheden van je programma. De makkelijkste manier om dit na te gaan
+is door te kijken of het programma in de lijst van vrije software (<a href=
+"http://www.fsf.org/directory">http://www.fsf.org/directory</a>) staat. Als
+hij niet in die lijst voorkomt dan kun je altijd nog zijn licentie nagaan op
+de lijst van vrije licenties (<a href= "/licenses/license-list.html">
+http://www.gnu.org/licenses/license-list.html</a>).
+</p>
+
+<p>
+ We proberen nu de verstrikte Java-programma's te redden dus als je een zwak
+hebt voor Java wordt je van harte uitgenodigd om te helpen bij de
+ontwikkeling van GNU Classpath. Het testen van je programma met de
+GCJ-compiler en GNU Classpath en problemen met reeds gebouwde klassen
+rapporteren is ook nuttig. Het afmaken van GNU Classpath vergt echter tijd;
+indien er meer niet-vrije programmabibliotheken toegevoegd blijven worden
+zullen we wellicht nooit bij raken. Dus keten je vrije software alsjeblieft
+niet. Wanneer je nu een applicatie gaat schrijven, doe het dan zo dat het
+vanaf het begin op vrije voorzieningen draait.
+</p>
+
+<h3>Zie ook:</h3>
+<p><a href="/philosophy/sun-in-night-time.html">Het Merkwaardige Incident van
+Sun in de Nacht</a></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>
+
+<p>Copyright &copy; 2004, 2010, 2015 Richard Stallman</p>
+
+<p>Deze pagina is uitgebracht onder een <a rel="license"
+href="https://creativecommons.org/licenses/by-nd/4.0/deed.nl">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: 2017/05/22 08:01:00 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>