Licenses

For kids

This page is for grown-ups. It lists the free tools that make game clips and Retro Arcade work on this site, and the rules for using them.

For grown-ups: open-source software on this site

Last updated: September 29, 2026

Hank's Hits uses the open-source software below to make game clips and to play the games in Retro Arcade. This page tells you what each part does, its license, and where to get its source code.

The notice file has the same information as plain text: NOTICE.txt

FFmpeg (libavcodec and libavutil)

FFmpeg encodes the game sound of a clip as AAC audio. The site uses it only on browsers that cannot encode AAC audio themselves.

Version
8.1.3
License

GNU Lesser General Public License, version 2.1 or later (LGPL-2.1-or-later)

LGPL 2.1 license text
Copyright
Copyright (c) 2000-2026 the FFmpeg developers
  • The AAC module (/clips/aac/ffmpeg-aac-enc.mjs) contains FFmpeg. The module links FFmpeg statically.
  • The first lines of the AAC module are a license notice. The notice names each part in the module, its license and this page.
  • The source code file above is the unchanged FFmpeg 8.1.3 release from ffmpeg.org. We did not change the FFmpeg source.
  • The FFmpeg release signing key (FCF986EA15E6E293A5644F10B4322F04D67658D8) signs the release.
  • Some FFmpeg files have MIT, BSD or ISC style licenses. Their notices are in the source code file.
  • We build the module in the Docker image of Emscripten 6.0.10, with no network access. The same inputs give the same file every time.

AAC bridge (bridge.c)

The bridge connects the FFmpeg encoder to the clip maker. It is part of the AAC module.

Version
From Mediabunny 1.60.0, changed by us
License

Mozilla Public License 2.0 (MPL-2.0)

MPL 2.0 license text
Copyright
Copyright (c) 2026-present, Vanilagy and contributors
  • The file header tells what we changed.

Mediabunny

Mediabunny puts the video and the sound of a clip into an MP4 file.

Version
1.60.0
License

Mozilla Public License 2.0 (MPL-2.0)

MPL 2.0 license text
Copyright
Copyright (c) 2026-present, Vanilagy and contributors
  • We did not change Mediabunny.

Emscripten runtime

The Emscripten compiler made the AAC module. Its runtime code in the module loads the encoder and connects it to the browser.

Version
6.0.10
License

MIT License (Emscripten also offers the University of Illinois/NCSA Open Source License)

Emscripten license text
Copyright
Copyright (c) 2010-2014 Emscripten authors

musl C library

Parts of musl give the AAC module basic C functions, for example math and memory functions.

Version
The copy in Emscripten 6.0.10
License

MIT License

musl license text
Copyright
Copyright (c) 2005-2020 Rich Felker, et al.

EmulatorJS

EmulatorJS is the game player of Retro Arcade. It loads the emulator cores, shows the game and reads the controls.

Version
4.2.3
Copyright
Copyright the EmulatorJS contributors. The file docs/contributors.md in the source code names them.
  • Retro Arcade loads EmulatorJS only from this site, from the folder /emulator/ejs/4.2.3/. The site does not load it from the EmulatorJS servers.
  • We did not change the files. Each file is the same as the file in the official EmulatorJS 4.2.3 release. The file manifest.json in the folder gives the size and the SHA-256 of each file.
  • The file emulator.min.js also contains nipplejs 0.10.2 (the on-screen joystick, MIT License), the Socket.IO client 4.8.1 (MIT License) and icons from Font Awesome Free 6.5.1 (CC BY 4.0).
  • The folder also has libunrar, which opens RAR game files. It has the UnRAR license.
  • The Retro Arcade emulator notice tells how to make emulator.min.js from the source code. It also tells about two small helper files, extract7z.js and extractzip.js. EmulatorJS does not publish their source code.

Retro Arcade emulator cores, with RetroArch

The cores play the games of the old game consoles in Retro Arcade. Each core file holds RetroArch, one emulator core and the Emscripten runtime, compiled together.

Version
The cores of EmulatorJS 4.2.3, built on 14 June 2025
License

Each part has its own license. RetroArch: GPL-3.0-or-later. The core build scripts: GPL-3.0. FCEUmm and Nestopia UE: GPL-2.0-or-later. Mupen64Plus-Next and Stella 2014: GPL-2.0. mGBA: MPL-2.0. Genesis Plus GX, PicoDrive and Snes9x: their own licenses, for non-commercial use only. The Emscripten runtime and musl: MIT.

Copyright
RetroArch: Copyright (C) 2010-2014 Hans-Kristian Arntzen, Copyright (C) 2011-2021 Daniel De Matteis, and the other RetroArch contributors. Each core has its own authors. The Retro Arcade emulator notice names them.
  • We did not change the core files. EmulatorJS built them with its build scripts and Emscripten 4.0.8.
  • Each source code file is an unchanged copy of the archive that GitHub makes for one git commit. It is the commit that the core file names.
  • PicoDrive uses parts from other projects (git submodules). A GitHub archive does not hold them, so each part has its own source code file.
  • Genesis Plus GX, PicoDrive and Snes9x allow non-commercial use only. This site is free. It has no ads and no payments.
  • The licenses of four cores do not agree with the GPL-3.0 of RetroArch: Stella 2014 (GPL-2.0 only), and Snes9x, Genesis Plus GX and PicoDrive (non-commercial use only). EmulatorJS made these core files. Part D of the Retro Arcade emulator notice tells more.
  • The GPL and the MPL let you get the source code, change it and share it. Read the license texts for the conditions.

How we build the AAC module

The AAC module is the file /clips/aac/ffmpeg-aac-enc.mjs. We build it from the FFmpeg source code file on this page. These files show every step, and they let you build the module again:

Source SHA-256
7138d28c96d9d3e3af4ee3d8cad72741f8ffb40da90c1112235dea3ecd3178a3
Module SHA-256
e2ee0d697dabd45903649b0971d4335bebacf25e53d41b4c8894deffbd7b4c6b

Two clean builds give a module with the same SHA-256. The script verify.sh checks this.

Your rights for the FFmpeg part

The LGPL gives you these rights:

  • You can change the FFmpeg source code and build a new AAC module with the build files on this page.
  • You can use your changed module in place of ours, for your own use.
  • You can reverse engineer the module to find and fix problems in your changes.

You can get the FFmpeg source code from this site, at the same place as the module: /licenses/ffmpeg-8.1.3.tar.xz

The Retro Arcade source code

The folder /emulator/ejs/4.2.3/ on this site has the EmulatorJS files, the emulator cores, their license texts and their source code. The source code files are in /emulator/ejs/4.2.3/source/. You can download them at no cost, and you do not need an account. We keep them on this site for as long as we send the emulator files.

EmulatorJS 4.2.3 release SHA-256
07d451bc06fa3ad04ab30d9b94eb63ac34ad0babee52d60357b002bde8f3850b