Add comprehensive FOSS compliance documentation including: - COPYRIGHT.md: copyright holders and code ownership - LICENSING.md: GPL-3.0-or-later policy and source offer - NOTICE: attribution requirements for permissive licenses - THIRD-PARTY-LICENSES.md: third-party software inventory - TRADEMARKS.md: trademark notices and non-affiliation - os-release hook and files: identify FWS as separate from Arch Linux These documents establish legal compliance baseline for GPL/AGPL/Apache/MIT/BSD obligations before public distribution.
8.0 KiB
Logiciels tiers & licences — FWS
Ce document est l'inventaire de conformité (« bill of materials ») des logiciels tiers que FWS reconditionne, embarque ou redistribue. Il sert à satisfaire les obligations d'attribution et de préservation des avis de licence des licences GPL, LGPL, AGPL, Apache, MIT et BSD.
Trois familles de tiers :
- La base du dépôt : FWS est un fork d'archiso.
- Les paquets construits/redistribués par FWS (
pkgbuilds/+local-repo/), notamment l'installateur Anaconda et ses dépendances Python. - L'ensemble des paquets Arch Linux agrégés dans l'ISO live (chacun sous sa
propre licence ; l'avis de licence de chaque paquet est présent dans
/usr/share/licenses/<paquet>/sur le système installé/live).
1. Base du dépôt
| Composant | Rôle | SPDX | Détenteur | Source amont |
|---|---|---|---|---|
| archiso | système de build (mkarchiso, profils, man, Makefile) | GPL-3.0-or-later |
Arch Linux / Archiso Authors | https://gitlab.archlinux.org/archlinux/archiso |
Auteurs originaux : voir AUTHORS.rst.
2. Paquets construits / redistribués par FWS
Sources des recettes : pkgbuilds/*/PKGBUILD. Binaires : local-repo/*.pkg.tar.zst.
La source correspondante (au sens GPL/LGPL) de chacun est le tarball amont
référencé par source=() dans le PKGBUILD, plus le PKGBUILD lui-même.
| Paquet | Version | SPDX | Détenteur principal | Source amont |
|---|---|---|---|---|
| anaconda | 45.8 | GPL-2.0-or-later |
Red Hat, Inc. & contributeurs Anaconda | https://github.com/rhinstaller/anaconda |
| anaconda-widgets | 45.8 | GPL-2.0-or-later |
Red Hat, Inc. | https://github.com/rhinstaller/anaconda |
| pykickstart | 3.74 | GPL-2.0-or-later |
Red Hat, Inc. | https://github.com/pykickstart/pykickstart |
| python-blivet | 3.13.2 | LGPL-2.1-only |
Red Hat, Inc. | https://github.com/storaged-project/blivet |
| python-meh | 0.43 | GPL-2.0-or-later |
Red Hat, Inc. | https://github.com/rhinstaller/python-meh |
| python-productmd | 1.50 | LGPL-2.1-or-later |
Red Hat, Inc. / release-engineering | https://github.com/release-engineering/productmd |
| python-simpleline | 1.8 | LGPL-3.0-or-later |
Red Hat, Inc. | https://github.com/rhinstaller/python-simpleline |
| python-requests-file | 2.1.0 | Apache-2.0 |
David Shea | https://github.com/dashea/requests-file |
| python-requests-ftp | 0.3.1 | Apache-2.0 |
Cory Benfield | https://github.com/Lukasa/requests-ftp |
| python-pid | 3.0.4 | Apache-2.0 |
trbs | https://github.com/trbs/pid |
| python-iso639 | 0.4.5 | AGPL-3.0-only ⚠ |
Mikael Karlsson (noumar) | https://github.com/noumar/iso639 |
| python-langtable | 0.0.51 | GPL-3.0-or-later AND MIT |
Mike FABIAN | https://github.com/mike-fabian/langtable |
| python-xkbregistry | 1.5 | MIT |
Stephen Early | https://github.com/sde1000/python-xkbregistry |
| libreport | 2.17.15 | GPL-2.0-only ⚠ |
Red Hat, Inc. (projet ABRT) | https://github.com/abrt/libreport |
| satyr | 0.43 | GPL-2.0-or-later |
Red Hat, Inc. (projet ABRT) | https://github.com/abrt/satyr |
| libxmlrpc (xmlrpc-c) | 1.64.03 | custom (BSD-style permissive) |
Auteurs xmlrpc-c | https://xmlrpc-c.sourceforge.net/ |
| winboat-bin | 0.9.0 | MIT |
Auteurs WinBoat (TibixDev) | https://www.winboat.app |
Les versions et identifiants SPDX ci-dessus proviennent des champs
license=des PKGBUILD et des.PKGINFOdes paquets delocal-repo/. Quand le.PKGINFOportait une étiquette ancienne et imprécise (GPL,Apache), l'identifiant SPDX retenu est celui du dépôt amont (p. ex.satyr→GPL-2.0-or-later). À corriger dans les PKGBUILD pour des étiquettes SPDX exactes.
3. Paquets Arch Linux de l'ISO
L'ISO live agrège tout l'ensemble de paquets listé dans
configs/releng/packages.x86_64 et configs/baseline/packages.x86_64 (noyau
Linux, Xorg, Openbox, environnements de bureau, utilitaires…). Chaque paquet
conserve sa licence d'origine ; l'avis correspondant est fourni dans
/usr/share/licenses/<paquet>/ sur le système. FWS ne revendique aucun droit
sur ces paquets.
4. Analyse de compatibilité des licences
Licence effective du dépôt FWS : GPL-3.0-or-later (imposée par la dérivation
d'archiso, lui-même GPL-3.0-or-later).
4.1 Principe d'agrégation (le cas général)
L'ISO et le dépôt de paquets sont des agrégations de programmes indépendants
(« mere aggregation », GPLv3 §5 / GPLv2 §2). Chaque paquet est distribué comme
une unité séparée (binaire .pkg.tar.zst distinct, processus distinct,
bibliothèque partagée distincte) et conserve sa propre licence. C'est
exactement le modèle juridique sous lequel Arch Linux, Debian et Fedora
distribuent des milliers de paquets de licences hétérogènes sur un même média.
À ce niveau, la compatibilité copyleft n'est pas requise : il n'y a pas
d'« œuvre combinée » unique.
4.2 Compatibilité au sein du runtime Anaconda
Anaconda charge plusieurs modules dans un même processus Python au moment de l'exécution. Les licences en présence et leur compatibilité montante vers GPLv3 :
| Licence du composant | Compatible GPLv3 ? | Note |
|---|---|---|
GPL-2.0-or-later (anaconda, meh, pykickstart, satyr…) |
✅ | la clause « or later » autorise l'usage en GPLv3 |
LGPL-2.1-only (blivet) |
✅ | LGPL-2.1 §3 autorise la relicence en GPL ; usage dynamique |
LGPL-2.1-or-later (productmd) |
✅ | montée vers (L)GPLv3 |
LGPL-3.0-or-later (simpleline) |
✅ | sous-ensemble de GPLv3 |
Apache-2.0 (requests-file, requests-ftp, pid) |
✅ | compatible GPLv3 (sens unique) ; voir NOTICE |
MIT (xkbregistry, winboat) |
✅ | permissive |
MIT/BSD-style (langtable, libxmlrpc) |
✅ | permissive |
4.3 ⚠ Deux points à surveiller (signalés en bonne foi)
-
python-iso639estAGPL-3.0-only. L'AGPL est compatible avec GPLv3 via la clause de compatibilité réciproque (GPLv3 §13 / AGPLv3 §13) : on peut combiner du code AGPLv3 et GPLv3. La clause réseau de l'AGPL (mise à disposition de la source aux utilisateurs distants d'un service réseau) est en pratique inerte pour un installateur hors-ligne. Cependant, l'AGPL est la licence la plus contaminante et beaucoup d'organisations l'interdisent par politique interne. Recommandation béton : si l'AGPL n'est pas souhaitée, remplacernoumar/iso639par une bibliothèque ISO-639 non-AGPL (p. ex.pycountry— BSD, ou les donnéesiso-codes), ce qui élimine le sujet. -
libreportestGPL-2.0-only(sans « or later »). GPL-2.0-only n'est pas compatible en montée avec GPLv3/AGPLv3. Tant quelibreportreste un paquet séparé (bibliothèque partagée distincte, appelée viapython-mehqui importereport), on demeure dans le régime d'agrégation §4.1 — et c'est la configuration que Fedora elle-même distribue. Le risque n'apparaîtrait que si l'on liait statiquementlibreport(GPLv2-only) avec un composant AGPLv3-only/GPLv3-only dans un seul binaire : à éviter. En l'état (paquets séparés), pas de conflit.
4.4 Verdict
En l'état (paquets séparés, agrégation sur ISO, modules Python chargés au runtime), la configuration est cohérente et alignée sur la pratique des distributions majeures. Les deux points ⚠ ci-dessus méritent une décision explicite (garder / remplacer l'AGPL) et une revue par un juriste FOSS avant diffusion commerciale.
Ceci n'est pas un avis juridique. Analyse de bonne foi fondée sur les métadonnées de licence du dépôt à la date du 2026-06-17.
5. Préservation des avis
- Les textes de licence amont présents dans les sources sont conservés lors du
package()(pacman installeLICENSE/COPYINGdans/usr/share/licenses/<paquet>/). - Les attributions requises par Apache-2.0 / MIT / BSD figurent dans NOTICE.
- Aucun avis de droit d'auteur amont ne doit être retiré des sources ou binaires redistribués.