Files
FWS-ISO/THIRD-PARTY-LICENSES.md
nocode 43c1053bd7 docs: add licensing and compliance documentation
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.
2026-06-17 15:18:39 +02:00

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 :

  1. La base du dépôt : FWS est un fork d'archiso.
  2. Les paquets construits/redistribués par FWS (pkgbuilds/ + local-repo/), notamment l'installateur Anaconda et ses dépendances Python.
  3. 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 .PKGINFO des paquets de local-repo/. Quand le .PKGINFO portait une étiquette ancienne et imprécise (GPL, Apache), l'identifiant SPDX retenu est celui du dépôt amont (p. ex. satyrGPL-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)

  1. python-iso639 est AGPL-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, remplacer noumar/iso639 par une bibliothèque ISO-639 non-AGPL (p. ex. pycountry — BSD, ou les données iso-codes), ce qui élimine le sujet.

  2. libreport est GPL-2.0-only (sans « or later »). GPL-2.0-only n'est pas compatible en montée avec GPLv3/AGPLv3. Tant que libreport reste un paquet séparé (bibliothèque partagée distincte, appelée via python-meh qui importe report), 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 statiquement libreport (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 installe LICENSE/COPYING dans /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.