Using libavif in Commercial Proprietary Software
This article explains how the licensing terms of libavif
allow organizations to embed the library into closed-source, commercial
products. Released under the permissive BSD 2-Clause License,
libavif grants developers broad freedom to compile, link,
modify, and distribute the software without the obligation to
open-source their own proprietary code, provided that minimal
attribution and disclaimer conditions are satisfied.
The BSD 2-Clause License
libavif is distributed under the BSD 2-Clause
"Simplified" License. Unlike copyleft licenses such as the GNU General
Public License (GPL), the BSD 2-Clause license is strictly permissive.
It places virtually no restrictions on how the code is combined with
other works, making it fully compatible with proprietary and commercial
software development.
Key Permissions for Commercial Use
Under this license, commercial entities are permitted to:
- Integrate via Static or Dynamic Linking: You can
link
libavifdirectly into a closed-source binary or bundle it as a shared library without subjecting the host application to open-source licensing. - Modify the Source Code: Internal changes,
optimizations, or feature additions made directly to
libavifcode can remain private and proprietary. - Distribute Commercially: Software containing
libavifcan be sold, licensed for a fee, or distributed as part of paid cloud or on-premise offerings. - Avoid Source Code Disclosure: There is no "reciprocal" or "viral" clause. You are never required to publish the source code of your proprietary application or any proprietary modifications you make to the library.
Compliance Requirements
To remain compliant when distributing software that includes
libavif, you must meet two straightforward conditions:
- Source Code Distribution: If you distribute the library's source code, you must retain the original copyright notice, the two license conditions, and the disclaimer.
- Binary Distribution: If you distribute
libavifin compiled form (embedded in an executable, mobile application, or distributed binary), you must reproduce the original copyright notice, the license terms, and the disclaimer in the documentation, "About" screens, legal notices, or other materials provided with the distribution.
Underlying Dependencies
While libavif itself provides the container and metadata
handling for the AVIF format, it relies on external codec libraries
(such as dav1d, libaom, rav1e, or
SVT-AV1) to decode and encode AV1 video streams.
To maintain full commercial compliance, developers must verify the
licenses of the chosen codec backends. Most common options—such as
dav1d (BSD 2-Clause) and libaom (BSD 3-Clause
with the Alliance for Open Media Patent License)—are similarly
permissive and accommodate closed-source, commercial usage under
standard attribution practices.