Skip to content

Latest commit

 

History

History
115 lines (87 loc) · 5.16 KB

File metadata and controls

115 lines (87 loc) · 5.16 KB

ARCHIVE PACKAGING EXCEPTION

Version 1.1, 8 April 2026

PREAMBLE

This document defines the "Archive Packaging Exception". To apply this exception to your source files, include the following SPDX identifier in the file header:

SPDX-License-Identifier: GPL-3.0-or-later WITH LicenseRef-Archive-packaging-exception

As a special exception, the copyright holders of The Software give you permission to combine The Software with independent modules under the terms of the "Archive Packaging Exception" defined below.

USER SUMMARY (NON-NORMATIVE)

This summary is provided for convenience and does not replace the legal text below. In plain terms, this exception allows you to:

  • Create archives (such as flashable ZIPs, tarballs, or other compressed formats) that bundle The Software together with your own private or proprietary files.
  • Keep your files private even if they are distributed in the same package as The Software, provided they only interact via standard interfaces (APIs, CLI) and are not modified versions of The Software itself.
  • Create and distribute archives using modern tools like digital signing, code coverage, and profiling without worrying about license conflicts.

The core rule remains: any changes you make to The Software's own files must still be shared under the GPLv3.

EXCEPTION TERMS

This GPLv3 licensed software Archive Packaging Exception ("Exception") is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a given file (the "GPLv3 licensed Components") that bears a notice placed by the copyright holder of the file stating that the file is governed by GPLv3 along with this Exception.

When you use The Software to assemble an installable archive, it combines the GPLv3 licensed Components, or portions thereof, in this archive. The purpose of this Exception is to allow generation of non-GPL archives; in this way, these Components are covered by this Exception.

0. Definitions.

A file is an "Independent Module" if it is not a derivative work of The Software under applicable copyright law, and it either: (a) requires the GPLv3 licensed Components for execution or installation after a Packaging Process, or (b) makes use of an interface provided by the GPLv3 licensed Components through documented APIs, command-line arguments, or standard inter-process communication mechanisms, but is not otherwise based on these GPLv3 Components.

"The Software" means this program and its associated files, with or without modifications, governed by version 3 (or a specified later version) of the GNU General Public License (GPL) with the option of using any subsequent versions published by the FSF.

"GPL-compatible Software" is software whose conditions of propagation, modification and use would permit combination with The Software in accord with the license of The Software.

"Installable Archive" refers to output from any scripts or tools (such as a flashable zip, tarball, or any other compressed or containerized format) that can be executed or deployed on a target system. Notwithstanding that, "Installable Archive" does not include data in any format that is used as an intermediate representation, or used for producing an intermediate representation.

The "Packaging Process" combines and compresses code, binaries, and files into an Installable Archive.

A Packaging Process is "Eligible" if it is done using The Software, alone or with other GPL-compatible software, or if it is done without using any work based on The Software. The use of non-GPL-compatible system tools (such as standard compression utilities, digital signing tools, or code coverage and profiling analysis tools) to finalize or validate the Installable Archive does not render a Packaging Process ineligible.

1. Grant of Additional Permission.

You have permission to propagate a work of an installable archive formed by combining the GPLv3 licensed Components with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3. This permission applies regardless of the license of the Independent Modules (including, but not limited to, proprietary licenses or other copyleft licenses incompatible with GPLv3), provided that all in the installable archive was generated by Eligible Packaging Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules.

2. Applicability of GPLv3 copyleft is retained on the GPLv3 licensed Components.

Any file within the installable archive that is part of the GPLv3 licensed Components, is in itself still licensed as GPLv3 and retains its copyleft permissions. It is to be treated as an "aggregate" as specified in the GPLv3.

3. No Weakening of Copyleft.

The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of The Software.