Skip to content
CamInfoLab

Open-source licences

CamInfoLab’s shutter counter would not exist without the gPhoto2 project, which has documented and implemented camera protocols for more than two decades, and Ingvar Stepanyan’s work porting it to the web.

The camera engine

The camera engine is an unmodified build of web-gPhoto2, served from /engine/web-gphoto2-ec3f446/ as two files (libapi.mjs and libapi.wasm). It is licensed under the GNU Lesser General Public License, version 2.1 or later; the full licence text is served alongside it. The links below point to the exact source revisions it was built from.

Because the engine is loaded as separate files at run time, you can replace it with your own build of the same libraries. The provenance file explains how.

ComponentLicenceSource
web-gPhoto2Browser build of libgphoto2 and the bridge between it and JavaScript. Copyright Google LLC.LGPL-2.1-or-latercommit ec3f446
libgphoto2 2.5.31.1 (Emscripten fork)The camera library that speaks PTP to your camera and reads its shutter counter.LGPL-2.1-or-latercommit 90bf914
libusb 1.0.27USB access layer, using its WebUSB backend.LGPL-2.1-or-laterSource code
GNU Libtool libltdl 2.4.6Module loading used by libgphoto2.LGPL-2.1-or-later with the libtool exceptionSource code
Emscripten runtimeGlue code that runs the WebAssembly module in the browser.MIT / University of Illinois NCSASource code

The website

ComponentLicenceSource
Next.jsSite framework (static export).MITSource code
ReactUser interface library.MITSource code
Tailwind CSSStyling.MITSource code
markedRenders our Markdown content at build time.MITSource code
Instrument Sans typefaceThe site’s typeface, by Instrument.SIL Open Font License 1.1Source code