2026-03-18 I haven't thought about software patents in a long time ================================================================== At work I'm often considered to be the go-to person for questions of software licenses. The latest one was customers wanting to upload HEIC images into the software. Some background: The high efficiency image file format (HEIF) is a digital container format for storing images and image sequences. High efficiency video coding (HECV) is an image and video encoding format and the default image codec used with HEIF. HEIF files containing HEVC-encoded images are also known as HEIC files and are mandated to use the .heic filename extension or .heics. Note that the acronym HEIC (high efficiency image codec) is used as a brand (and in the MIME subtypes image/heic and image/heic-sequence). And already we start the see the complexity counter go up. And after all this reading I know why this format is so unpopular: It's encumbered by thousands (!) of patents. Which is why you can find a few libraries implementing encoding or decoding of HEIC or HEVC files, but their licenses only cover the copyright, not the patent. For reasons unknown -- a special deal, perhaps? -- Apple likes to use HEIC for its photos on the iPhones, these days. Which is why people (myself included!) would like to support it. But software patents? Software patents need to die. I know, it seems we fought and lost this war. But I can still spit on the idea. And I do. To see how fucked-up the situation is, here's why you should not read patents in the first place! Says the Community Distribution Patent Policy FAQ by Debian: > Are you suggesting that it is better for developers and contributors > not to read patents? If yes, why? > Yes. Unfortunately, U.S. patent law creates disincentives for > searching through patents, even though one of the main > justifications given for the patent system is that the patent > teaches the public how to practice an invention that might otherwise > be secret. Willful infringement subjects the infringer to enhanced > damages when they are aware of the patent and intend to infringe, > and reading patents increases the probability that subsequent > infringement will be found to be willful. Moreover, we find that > developers often assume that the patents they discover are broader > in scope than they actually are, and thus such developers become > overly or needlessly worried. If, despite this, you do intend to > conduct a patent search, you should seek legal advice first. If you're looking for a HEIC decoder and decoder, you might wonder why these are so hard to find. Here's an honest example: The Openize.HEIC for Java license is a BSD 2 Clause License with a third-party patents clause. The important sentence is this one: > Openize does not and cannot grant You a patent license for the > utilization of HEVC/H.265 image compression/decompression > technologies. The Wikipedia page about high efficiency video coding (HECV) has a section on patent licensing and a section on patent licensing terms. One of the license pool administrators, showing how many software licenses are involved, is Via-LA. What a nightmare. For Oddμ uses the heic library, which says: > License: MIT … Go decoder for HEIC Image File Format (HEVC in HEIF). > Based on libheif and libde265 compiled to WASM and used with wazero > runtime (CGo-free). The library will first try to use a > dynamic/shared library (if installed) via purego and will fall back > to WASM. Uh, so what about the patents? Nobody knows. libheif and libde265 say: > The [work] is distributed under the terms of the GNU Lesser General > Public License. The sample applications are distributed under the > terms of the MIT License. The GNU Lesser General Public License in turn attempts to protect users against software patents but if the patent holder was not involved in writing the code, I don't it helps: > Each contributor grants you a non-exclusive, worldwide, royalty-free > patent license under the contributor's essential patent claims, to > make, use, sell, offer for sale, import and otherwise run, modify > and propagate the contents of its contributor version. What's more surprising, perhaps, is that these two libraries appear to be in all the distributions (e.g. Debian) and in all the applications (e.g. ImageMagick) that I care about. So now what? Who is paying for the license fees, or does one not have to care about the license fees? Rereading the patent licensing section on the HECV Wikipedia page, I see a lot of talk about "devices". Like iPhones, I guess. But software like mine is not distributed as part of a device! So I guess this does not apply? > The first 100,000 "devices" (which includes software > implementations) are royalty-free, and after that the fee is $0.20 > per device up to an annual cap of $25 million. (╯°□°)╯︵ ┻━┻ #Patents 2026-03-22. Ploum has a great write-up about software patents.