Last updated 6 September 2026
Lathe is built on other people’s work. These are the components it ships, their licences, and how to get their source.
Everything below is what the shipped application actually contains. The list is produced from the built bundle rather than written from memory — every library named here is a file inside Lathe.app, and nothing is listed that is not.
GNU Lesser General Public License, version 2.1 or later. Copyright © 2005–2011 Jorg Schuler, Christophe Fergeau and contributors.
libgpod is the library that reads and writes the iPod database. Without it there is no Lathe. It is dynamically linked, and you may replace it with a compatible version of your own.
Lathe ships a modified build. Four patches against the stock release: a Python 3 port of the bindings, tag reading for formats beyond MP3, a correction to how the device signature is written, and a change replacing the bindings’ tag reader with tinytag.
GNU Lesser General Public License, version 2.1 or later.
Lathe converts audio the iPod cannot play into Apple Lossless, and reads what a file actually contains. The build Lathe ships is configured without any GPL-licensed component — no x264, no x265, no LAME, no libvmaf. Those are video encoders Lathe has never used. It links no external libraries at all beyond the system’s own.
Dynamically linked and replaceable. The exact configure line is in the build script named below, and the binary reports it: ffmpeg -version.
GNU Lesser General Public License, version 2.1, or the Mozilla Public License 1.1, at your option.
Lathe writes tags with TagLib, and reads them with it for the four formats tinytag does not open — Monkey’s Audio, WavPack, Musepack and TrueAudio. Dynamically linked and replaceable.
TagLib includes utfcpp by Nemanja Trifunovic, under the Boost Software License 1.0, compiled into libtag. Boost does not require attribution when a library ships as object code, so this note is not owed to you — but it is part of what you are running, and a list of what you are running should be complete.
MIT License. Copyright © Tom Wallroth and contributors.
Lathe reads tags with tinytag for every format it opens — eighteen of them. It is pure Python and included as source inside the application.
GNU Lesser General Public License, version 2.1 or later. libgpod’s core dependency.
GNU Lesser General Public License, version 2.1 or later. Used when artwork is written to the iPod.
GNU Lesser General Public License, version 2.1 or later.
Only the runtime library is included. The GNU gettext package as a whole is dual-licensed — its tools are GPL v3, and Lathe ships none of them. The library it does ship, libintl, is LGPL, and says so in its own header.
GNU Lesser General Public License, version 2.1 or later. Reads the property lists an iPod keeps about itself.
MIT License. Copyright © 1998–2012 Daniel Veillard.
The IJG License, the zlib License and the BSD 3-Clause License, in parts.
The PNG Reference Library License version 2.
BSD 3-Clause License. A dependency of GLib.
Public domain. Lathe’s music library index is a SQLite database on your own Mac.
The Python Software Foundation License, version 2. Lathe carries its own Python so that it does not depend on one being installed, or on which one.
MIT License. Copyright © Andy Matuschak and contributors.
Sparkle is how Lathe updates itself. It is switched off until you turn it on — see the privacy notice for exactly what it does and does not send.
For every LGPL component above, you may have the source. That means libgpod, FFmpeg, TagLib, GLib, GObject, GModule, GIO, gdk-pixbuf, the gettext runtime and libplist.
Email hello@lathe-app.com and ask. For any component Lathe modified, you get the stock upstream source, our patch files, and the scripts used to build it — enough to reproduce what ships.
libgpod is the only component Lathe modifies. Everything else is built unchanged from its upstream release at the version named above.
Every LGPL library above is dynamically linked, inside Lathe.app/Contents/Resources/engine/lib. You may replace any of them with a compatible build of your own and run the result. Nothing here is statically linked into Lathe’s own code.
Replacing a library invalidates the application’s code signature, so macOS may refuse to open it afterwards. That is Apple’s mechanism rather than a restriction Lathe imposes, and it does not limit the rights above.
Lathe’s own code — the application, the engine, and the patches to libgpod — is not open source, with the exception of the patches, which are LGPL because libgpod is. The licence agreement covers the rest.