Open source licences
This site is built on free software. Here is what it uses, under which licence, and where to get the source.
Notice
The HEIC converter on this site uses libheif, by way of theheic-to package. That library is used in this site and both the library and its use are covered by the GNU Lesser General Public License, version 3.
Copies of both licences are served here as required:GNU LGPL v3 andGNU GPL v3.
Components
libheif (via heic-to) heic-to 1.5.2
Decodes HEIC/HEIF images. Shipped unmodified, as its own separate file.
- Licence: LGPL-3.0-or-later
- Source: https://github.com/hoppergee/heic-to
- Exact published version: source tarball
libheif-js 1.19.8
The libheif WebAssembly build that heic-to is built on.
- Licence: LGPL-3.0-or-later
- Source: https://github.com/catdad-experiments/libheif-js
- Exact published version: source tarball
JSZip 3.10.1
Bundles converted photos into a ZIP file. Used under the MIT option.
- Licence: MIT (dual-licensed MIT OR GPL-3.0-or-later)
- Source: https://github.com/Stuk/jszip
- Exact published version: source tarball
Modifying or replacing the library
Nothing in the way this site is delivered restricts you from modifying libheif, or from reverse engineering this site's code to debug such modifications.
The library is deliberately not merged into the site's own JavaScript. It is emitted as a single separate file, unmodified, loaded on demand when you pick a photo — you can see it in your browser's network panel as /_astro/heic-to.<hash>.js. To run a modified build, replace that file with your own build of heic-to and serve the page from your own copy of the site; the rest of the code calls it through the same entry point and needs no change.
This is the honest state of the art rather than a perfect answer. A browser gives visitors no way to substitute one script for another on a site they are merely viewing, which is a limitation of the web platform that applies to every bundled library, not only this one.
This site's own code
The LGPL does not require the application that uses the library to be released under the LGPL, and the code written for this site is not covered by it. The obligations above apply to libheif and heic-to.