Nouplo

Licences

Why this page exists

Every tool here does its work on your device, which means the code that does the work is sent to your browser and runs there. Some of that code was written by other people and shared under an open-source licence. This page says what is used and under which licence. Two of those licences ask for a notice like this one; the rest are listed because a site that asks you to trust it with your files should be willing to say what it is made of. If you think something is missing here, write to hello@nouplo.com.

The two parts under the LGPL

LAME (through the @breezystack/lamejs package) encodes MP3, which no browser can do on its own, and libheif (through libheif-js) decodes the HEIC photos an iPhone takes, for the same reason. Both are covered by the GNU Lesser General Public License, version 3. Each is delivered to your browser as its own separate file, exactly as published and with nothing of ours compiled into it, so either can be swapped for another build of the same library. The full licence text ships inside each package, and the source is published by each project: lame.sourceforge.io and github.com/strukturag/libheif.

The other libraries

These are used under permissive licences, which ask mainly that the copyright notice be kept. pdf.js (Apache-2.0) draws PDF pages on screen. @cantoo/pdf-lib and @pdf-lib/fontkit (MIT) read and write PDFs. ONNX Runtime Web (MIT) runs the models below. fflate (MIT) compresses and decompresses. zip.js (BSD-3-Clause) encrypts and decrypts password-protected zips. mp4box (BSD-3-Clause) and mp4-muxer (MIT) take MP4 files apart and put them back together. heic-decode (ISC) wraps libheif. gifenc (MIT) writes GIFs. jsQR (Apache-2.0) reads QR codes and qrcode-generator (MIT) writes them. PapaParse (MIT) reads CSV, marked (MIT) reads Markdown, and Comlink (Apache-2.0) carries work to the background threads. RNNoise (BSD-3-Clause, Xiph.Org and contributors), compiled for the browser by @shiguredo/rnnoise-wasm (Apache-2.0), takes background noise out of speech; its licence is served in /models/. The address converter uses Japan Post’s romanised postcode data, which Japan Post allows anyone to redistribute freely.

The models

The tools that use machine learning fetch a model the first time you run them, and it stays in your browser cache afterwards. MODNet and U²-Net separate a subject from its background (Apache-2.0). Real-ESRGAN enlarges pictures (BSD-3-Clause). YuNet finds faces (MIT). PP-OCR reads text in pictures (Apache-2.0). MI-GAN paints in what the object eraser removes (MIT). ReazonSpeech turns Japanese speech into text (Apache-2.0). Whisper base (OpenAI, Apache-2.0) turns English speech into text. Every model is served with its own licence and a notice naming who made it, in the /models/ folder beside the file itself.

The fonts

When a tool writes text into a PDF it embeds a font that covers the letters you typed: Liberation Sans for European alphabets, Noto Sans JP and Noto Sans KR for Japanese and Korean. All three are under the SIL Open Font License 1.1, and the licence text is served alongside them. Manuscript paper sets its characters in Noto Serif JP. The tracing worksheets draw their letters with Playwrite (TypeTogether), Andika (SIL International) and Klee One (Fontworks), all three under the same licence; Playwrite and Klee One are served cut down to the letters the worksheets use, Andika unchanged.

Thread colours

The cross-stitch chart matches colours against the floss data set of the dmc package by Sharla Gelfand (github.com/sharlagelfand/dmc), copyright 2020 Sharla Gelfand, used under the MIT License, whose notice is kept with the table in our code. It was itself cleaned from the table in adrianj/CrossStitchCreator. DMC is the thread maker’s name, used only to say which threads the numbers are.

Word lists

The rhyme finder and the word finder search lists of each language’s 40,000 most frequent words, taken from wordfreq by Robyn Speer (github.com/rspeer/wordfreq), whose word frequencies are shared under the Creative Commons Attribution-ShareAlike 4.0 licence (creativecommons.org/licenses/by-sa/4.0) and draw on Google Books Ngrams, the Leeds Internet Corpus, Wikipedia, ParaCrawl, OpenSubtitles 2018 (opensubtitles.org) and the SUBTLEX lists of Marc Brysbaert and colleagues, among others. Our lists — the words alone, in order of frequency, kept to each language’s letters — are shared under the same licence, at /data/words/ on text.nouplo.com.

Syllable counts

The syllable counter takes the syllables of English words from the Carnegie Mellon Pronouncing Dictionary (github.com/cmusphinx/cmudict), copyright 1993–2015 Carnegie Mellon University, used under its BSD-style licence, whose notice is kept with our list at /data/words/en-syllables.txt on text.nouplo.com.

Bead colours

The bead pattern maker matches colours against the Hama, Perler and Artkal colour codes collected in beadcolors by maxcleme (github.com/maxcleme/beadcolors), copyright 2020 maxcleme, used under the MIT License, whose notice is kept with the table in our code. Hama, Perler and Artkal are their makers’ names, used only to say which beads the codes are.

Italian comuni

The codice fiscale calculator looks up the codici catastali (Belfiore codes) of the Italian comuni, current and suppressed since 1861, and the codes of foreign countries, from the Istituto Nazionale di Statistica (ISTAT, istat.it): the Elenco comuni italiani and the SITUAS historical registers, released under the Creative Commons Attribution 4.0 licence (creativecommons.org/licenses/by/4.0). Our compact copy, with the sources listed, is at /data/comuni/ on text.nouplo.com.