Dusk VM includes open-source software written by others. We're grateful to the people who build it. This page lists it, its licences, and how to get its source code.
1. Programs shipped inside Dusk VM for Mac
To run Windows and Linux guests, Dusk VM for Mac includes these open-source components, the same in the version from our website and the version from the Mac App Store. QEMU and swtpm are separate programs: Dusk VM starts it as its own process and talks to it, and does not link it into Dusk VM's own code. We build them ourselves from the projects' released source code, with only the features Dusk VM uses, then change where they look for their libraries inside the app bundle and code-sign them.
| Program | What Dusk VM uses it for | Licence |
|---|---|---|
QEMU (qemu-system-aarch64, qemu-img and the device ROM files they load) | Runs Windows and Linux virtual machines with Apple's hypervisor | GNU GPL version 2; some parts under the LGPL, BSD and MIT licences |
| swtpm and libtpms | The software TPM 2.0 that Windows 11 requires | BSD 3-Clause |
| EDK II UEFI firmware (from QEMU's source) | The firmware Windows and Linux guests start with | BSD 2-Clause plus patent licence, with some components under other licences listed in edk2-licenses.txt |
The shared folder (drive Z: in Windows, /media/dusk-share in Linux) is served by dusk-smbd, our own file server, from version 1.0.5. Versions 1.0.4 and earlier used Samba's smbd (GNU GPL version 3) instead, with the libraries listed in section 2.
2. Libraries those programs use
Some of these are compiled into the programs above and some ship alongside them in Contents/Helpers. The licences below are a summary; the licence texts shipped with the app are the authoritative versions.
| Library | Used by | Licence |
|---|---|---|
| GLib (with PCRE2, libffi and proxy-libintl) | QEMU, swtpm | LGPL 2.1 or later; PCRE2 BSD 3-Clause with the PCRE2 exception; libffi MIT; proxy-libintl LGPL 2.1 or later |
| pixman | QEMU | MIT licence |
| libslirp | QEMU | BSD 3-Clause |
| dtc (libfdt) | QEMU | GPL 2.0 or later, or BSD 2-Clause |
| spice-protocol (headers) | QEMU | BSD 3-Clause |
| OpenSSL | swtpm | Apache License 2.0 |
| json-glib | swtpm | LGPL 2.1 or later |
| libtasn1 | swtpm | LGPL 2.1 or later |
Versions 1.0.4 and earlier also included, for Samba: GnuTLS (with its included libunistring code; LGPL 2.1 or later, libunistring LGPL 3.0 or later or GPL 2.0 or later), Nettle and GMP (each LGPL 3.0 or later, or GPL 2.0 or later), talloc, tdb, tevent and ldb (LGPL 3.0 or later), popt (MIT) and Heimdal Kerberos (BSD 3-Clause), and Samba's use of libtasn1.
3. Dusken OS
Dusken OS, Dusk Engineering's own operating system, comes with Dusk VM as a ready-made machine. It is our own software, but its disk image and kernel include these open-source parts:
| Component | What it does | Licence |
|---|---|---|
| BusyBox | Linux command-line tools on the disk image | GNU GPL version 2 |
| Limine | Boot loader on the disk image | BSD 2-Clause, with its third-party components listed in Limine-3RDPARTY.md |
| QuickJS | JavaScript engine in the web browser (built into the kernel) | MIT licence |
| musl | C library for Linux programs on the disk image | MIT licence |
| Lato, Source Code Pro and Liberation fonts | Text on screen (built into the kernel) | SIL Open Font License 1.1 |
From Dusken OS 0.99.88 (in Dusk VM 1.0.5) the licence texts are on the Dusken disk itself: THIRD-PARTY.TXT at the top of the disk says which component is whose, and the LICENSES folder holds the texts.
4. Licence texts in the Mac app
The full licence text of every program and library in sections 1 and 2 is inside the app, at Dusk VM.app/Contents/Resources/Licenses. To see them, Control-click Dusk VM in Applications, choose Show Package Contents, and open Contents/Resources/Licenses. The README.txt there says how each component is built.
5. Dusk VM for Windows
Dusk VM for Windows runs virtual machines on Hyper-V, which is part of Windows, so it ships no hypervisor or helper programs of its own. It includes:
- The .NET runtime, including Windows Presentation Foundation, from Microsoft, installed privately alongside the app so you don't need to install .NET yourself: MIT licence, with third-party components listed in Microsoft's notices for .NET.
- NSIS, the Nullsoft Scriptable Install System, which Dusk VM Setup is built with: zlib/libpng licence. Its LZMA compression module is under the Common Public License version 1.0, with its authors' exception permitting it to be linked into installers.
6. Getting the source code
The complete corresponding source code of the GPL- and LGPL-licensed components in Dusk VM for Mac 1.0.5, with our build scripts, is here to download:
- QEMU 11.1.1 and its libraries (145 MB), including the EDK II firmware source
- swtpm, libtpms and their libraries (56 MB)
- BusyBox 1.37.0 (2.5 MB), as on the Dusken OS disk, with its options, configuration, compiler driver and ARM build rule
- What each file contains and checksums
The source code of these components is also available from each project. In addition, for three years from the last time we distribute a version of Dusk VM containing them, we offer to give anyone who asks a complete machine-readable copy of the corresponding source code of the GPL- and LGPL-licensed components in that version, including BusyBox in Dusken OS, together with our build scripts, for no more than our cost of physically performing the distribution. This applies equally to copies from our website and from the Mac App Store.
To ask for it, write to support@duskvm.app or to Dusk Engineering Services Ltd, 128 City Road, London, EC1V 2NX, United Kingdom, saying which version of Dusk VM you have.
7. Other components
- Sparkle, the update framework in
Contents/Frameworksof versions 1.0.4 and earlier from our website: MIT licence. From 1.0.5 Dusk VM uses its own updater, and the Mac App Store version is updated by the App Store. - Downloaded, not shipped: guest operating system images and the Windows virtio drivers (from the Fedora Project) are downloaded from their publishers when you create a machine, and come under their own licences. On Linux guests, the tools installer installs
spice-vdagentfrom your distribution's own package repositories. - Dusk VM Tools for Windows, the Linux tools installer and
dusk-smbdare our own software, covered by the licence agreement.
8. Trade marks
QEMU is a trade mark of Fabrice Bellard. Apple, Mac, macOS and Rosetta are trade marks of Apple Inc. Windows is a trade mark of Microsoft Corporation. Linux is a registered trade mark of Linus Torvalds. Ubuntu, Fedora, Debian, Kali Linux and Alpine Linux are trade marks of their respective owners. Dusk VM is not affiliated with or endorsed by any of them.