Source
======
https://addons.mozilla.org/firefox/downloads/latest/3291/addon-3291-latest.xpi

Table of contents
=================
README_nl_NL.txt

README_nl_NL.txt
================
                                [ENGLISH]
        You are kindly requested to read this file "license_en_EN.txt" 
     and to keep a copy of it with every copy you make of this language file.

1. Name: Dutch word list for spell checking - OpenTaal
2. Version of words list: 2.10G; version of spell checking: 2.10G.
3. Requirements: Hunspell 1.2.8 and higher
4. Spelling Seal of Dutch Language Union: The OpenTaal list of lemmas has 
   received the Spelling Seal of Approval from the Dutch Language Union, the 
   formal Dutch language institute. For more information please see: 
   http://www.taalunieversum.org/keurmerk/
5. Copyrights: © 2006-2010 OpenTaal, © 2001-2005 Simon Brouwer e.a., 
   © 1996 Nederlandstalige Tex Gebruikersgroep
6. Licenses: OpenTaal aims to create and publish free Dutch language files. To 
   enable the broadest (re)use the language files are freely available under the 
   below, liberal licenses at the discretion of the user. We strongly recommend 
   to read the applicable license before usage.
   A. BSD (revised version):
   - Full license text: http://creativecommons.org/licenses/BSD/legalcode
   - Summary: http://creativecommons.org/licenses/BSD/deed.en
   B. Creative Commons, Attribution 3.0 (unported)
   - Full license text: http://creativecommons.org/licenses/by/3.0/legalcode
   - Summary: http://creativecommons.org/licenses/by/3.0/deed.en
7. Support OpenTaal: OpenTaal is a non-profit volunteer project. With your 
   (small) financial support OpenTaal will further expand its activities and 
   enhance its professionalism. Your donation is welcome at
   account number: 15.62.32.782, BIC: RABONL2U, IBAN: NL88RABO0156232782 of 
   Stichting OpenTaal / OpenTaal Foundation. In the Netherlands your donations 
   are tax deductible. OpenTaal Foundation has been designated by the Dutch Tax 
   Administration as an Institution for General Benefit (algemeen nut beogende 
   instelling or ANBI). Please see: http://belastingdienst.nl/anbi/
8. Participate: Everyone is welcome to participate. Please give feedback, 
   discuss on the mailing list or run Harvester. By contributing to the project 
   you agree that your contribution is available under free or/open source 
   licenses. In case you wish, your name will be mentioned on the website. Your 
   are invited to send us your written request.
9. Rights of third parties: OpenTaal respects the rights of third parties and 
   aims to keep its data freely available. Therefore you may no use protected 
   sources of third parties, i.e. dictionaries, without their permission when 
   you contribute to the project. It is permitted to use the materials of the 
   Dutch Language Union, i.e. their spelling instruction and word list. In case 
   you believe OpenTaal is violating your rights, we ask you to send us a 
   written notice as soon as possible.
10.Contact: OpenTaal Foundation, http://www.opentaal.org, bestuur@opentaal.org

________________________________________________________________
                              [NEDERLANDS]
        U wordt vriendelijk verzocht om dit bestand ("licentie_nl_NL.txt") 
      te lezen en mee te leveren bij iedere kopie van dit taalhulpbestand.

1. Naam: Nederlandstalige woordenlijst voor spellingcontrole - OpenTaal
2. Versie woordenlijst: 2.10G; versie spellingcontrole: 2.10G
3. Vereisten: Hunspell 1.2.8 en hoger
4. Keurmerk Spelling Nederlandse Taalunie: De lijst met basiswoorden van 
   OpenTaal draagt het keurmerk van de Nederlandse Taalunie. Voor meer 
   informatie zie: http://www.taalunieversum.org/keurmerk
5. Auteursrechten: © 2006-2010 OpenTaal, © 2001-2005 Simon Brouwer e.a., 
   © 1996 Nederlandstalige Tex Gebruikersgroep
6. Licenties: OpenTaal heeft als doel om vrij beschikbare Nederlandstalige 
   taalhulpbestanden te ontwikkelen en te verspreiden. Om breed (her)gebruik 
   mogelijk te maken zijn de taalhulpbestanden gratis beschikbaar onder de twee 
   onderstaande, liberale licenties naar keuze van de gebruiker. U wordt ten 
   zeerste aangeraden om voorafgaand aan het gebruik kennis te nemen van de 
   toepasselijke licentie.
   A. BSD (herziene versie):
   - Volledige licentie: http://creativecommons.org/licenses/BSD/legalcode
   - Samenvatting: http://creativecommons.org/licenses/BSD/deed.nl
   B. Creative Commons, Naamsvermelding 3.0 (unported)
   - Volledige licentie: http://creativecommons.org/licenses/by/3.0/legalcode
   - Samenvatting: http://creativecommons.org/licenses/by/3.0/deed.nl
7. Steun OpenTaal: OpenTaal is een vrijwilligersproject zonder winstoogmerk. 
   Door uw (kleine) financiële steun kan OpenTaal meer activiteiten ontplooien 
   en het project professionaliseren. Uw donatie is van harte welkom op 
   rekeningnummer 15.62.32.782 t.n.v. Stichting OpenTaal. Uw giften zijn 
   aftrekbaar van de belasting. Stichting OpenTaal is namelijk door de 
   Belastingdienst erkend als ANBI, oftewel "Algemeen Nut Beogende Instelling". 
   Zie: http://belastingdienst.nl/anbi/
8. Meedoen: Iedereen is welkom om mee te doen. Meld fouten, discussieer mee op 
   de mailinglijst of draai Harvester. Door bij te dragen aan het project stemt 
   u ermee in dat uw bijdrage aan het desbetreffende taalhulpbestand beschikbaar
   komt onder vrije en/of opensource licenties. Indien u dat wenst, dan kan uw 
   naam op de website genoemd worden. We ontvangen uw schriftelijk verzoek 
   daarvoor graag.
9. Rechten van derden: OpenTaal respecteert de rechten van derden en 
   wil haar gegevens vrij beschikbaar houden. Voor bijdragen aan het project mag 
   u daarom niet zonder toestemming gebruikmaken van beschermde naslagwerken, 
   zoals woordenboeken. Wel is het toegestaan om gebruik te maken van de 
   materialen van de Nederlandse Taalunie, zoals de leidraad en de woordenlijst.
   Indien u van mening bent dat OpenTaal inbreuk maakt op uw rechten, dan 
   verzoeken we u hierover zo spoedig mogelijk schriftelijk contact met ons op 
   te nemen.
10.Contact: Stichting OpenTaal, http://www.opentaal.org, bestuur@opentaal.org

