The lens distortion database shipped as `lens-db.json` ====================================================== WHAT IT IS `lens-db.json` is a derived work of the Lensfun lens database: 1520 lenses and 6430 distortion calibrations, measured against test charts by the people who own the lenses. It was produced from the XML files under `data/db/` of the Lensfun source distribution by keeping, for every lens that carries at least one distortion calibration, its model name, maker, crop factor, aspect ratio, and the distortion model and coefficients at each calibrated focal length. No coefficient was altered, refitted or interpolated; the only changes are of format — the field names are abbreviated and the numbers are rounded to seven decimal places, which is well below the precision of any of the measurements. Vignetting, chromatic aberration, mount and camera records were dropped because this product does not use them. SOURCE Lensfun — https://lensfun.github.io/ Repository — https://github.com/lensfun/lensfun LICENCE The Lensfun DATABASE is licensed under the Creative Commons Attribution-Share Alike 3.0 licence (CC BY-SA 3.0). The Lensfun LIBRARY is LGPL-3 and is NOT used here — no Lensfun code is shipped, linked or copied into this site; the distortion models were reimplemented from the published formulas. https://creativecommons.org/licenses/by-sa/3.0/ Because `lens-db.json` is a derived work of that database, it is distributed under the same licence: CC BY-SA 3.0, attributed to the Lensfun project and its contributors. Anyone may take `lens-db.json` from this site and use it under those terms. WHAT SHARE-ALIKE DOES AND DOES NOT REACH It reaches this data file and any further derivative of it. It does not reach the code that reads it: `src/engine/lens-models.js` implements the PTLens, Poly3 and Poly5 polynomials from their published mathematical definitions, which are not themselves copyrightable, and `src/engine/lens-match.js` contains no Lensfun code. That is the same separation Darktable and RawTherapee rely on when they ship the database beside their own readers. REGENERATING IT The extraction is mechanical and reproducible from a Lensfun checkout. If the database is refreshed, this file must be refreshed with it, including the lens and calibration counts above — a stale attribution is a false statement about what is being distributed.