FOSSology est un système logiciel et une boîte à outils dédiée à la conformité des licences open source. En tant que boîte à outils, il permet d'exécuter des analyses de licences, de droits d'auteur et de contrôles à l'exportation depuis la ligne de commande. En tant que système, il fournit une base de données et une interface web pour gérer un workflow de conformité. Les scanners de licences, de droits d'auteur et d'exportation sont des outils intégrés dans ce workflow.
Démarrage rapide : trois options d'installation
1. Déploiement via conteneur Docker (méthode simplifiée)
Pour une mise en route rapide, l'utilisation de Docker est recommandée :
docker-compose up -d
Une fois le déploiement terminé, l'interface du système est accessible à l'adresse http://localhost:8081/repo.
2. Installation depuis les sources (personnalisation avancée)
Pour une intégration profonde ou des modifications spécifiques, l'installation à partir du code source est possible :
git clone https://gitcode.com/gh_mirrors/fo/fossology
cd fossology
make install
3. Installation via gestionnaire de paquets (approche stable)
Des paquets d'installation sont disponibles pour les principaux systèmes d'exploitation. Les configurations spécifiques se trouvent généralement dans le répertoire debian du projet.
Principales fonctionnalités
Système de reconnaissance automatique des licences
FOSSology utilise les modules nomos et monk pour constituer un puissant moteur de détection. Le système scanne automatiquement les fichiers pour identifier les déclarations de licences, reconnaître les variantes et versions modifiées, et générer des rapports d'évaluation de conformité.
Extraction automatique des informations de droits d'auteur
Au-delà de la gestion des licences, le système extrait également les mentions de droits d'auteur présentes dans le code, offrant un soutien à la protection de la propriété intellectuelle.
Contrôle de conformité aux réglementations à l'exportation
Pour les projets soumis aux réglementations du commerce international, FOSSology fournit une fonctionnalité spécialisée d'analyse des contrôles à l'exportation.
Workflow pratique : quatre étapes pour une vérification de conformité
Étape 1 : Import et téléchargement des fichiers
Les fichiers du projet sont téléversés via l'interface web ou les outils en ligne de commande. Le système supporte de multiples formats, incluant les archives et les paquets logiciels. L'interface de téléchargement guide l'utilisateur à travers une série d'étapes pour la sélection des fichiers, le paramétrage du stockage, la configuration de la visibilité et le choix des options d'analyse.
Étape 2 : Configuration multidimensionnelle des analyses
Configurez les tâches d'analyse de licence, de droits d'auteur et de conformité à l'exportation. Les utilisateurs peuvent décider d'activer ou non des analyses automatiques supplémentaires sur les fichiers importés, incluant la détection de licences et l'analyse des copyrights.
Étape 3 : Analyse des résultats et évaluation des risques
Le système génère des rapports détaillés identifiant les risques potentiels et suggérant des pistes de résolution. La page des résultats affiche les métadonnées des fichiers, les informations sur les paquets et les correspondances trouvées par l'outil SCANOSS. Les données clés incluent l'auteur de l'ajout, le statut d'assignation, ainsi que le chemin du paquet et l'URL identifiés par SCANOSS.
Étape 4 : Génération automatique de la documentation de conformité
Sur la base des résultats de l'analyse, le système génère automatiquement :
- Un fichier au format SPDX standard
- Un document ReadMe intégrant les informations de licence
- Des rapports de conformité personnalisés
Configuration et intégration via API
Le système prend en charge l'intégration avec des outils tiers via API. Les utilisateurs peuvent configurer l'adresse et le jeton d'accès de l'API ScanOSS, permettant ainsi l'intégration ou l'appel aux services ScanOSS. Le formulaire de configuration de l'API utilise une mise en page en tableau simple avec des indications claires pour aider à la paramétrisation rapide des éléments essentiels.
Tecnhiques avancées d'utilisation
Personnalisation de la base de données de licences
Des modèles de licences personnalisés peuvent être ajoutés dans le répertoire install/db/licenses pour étendre les capacités de reconnaissance du système.
Intégration avec des outils tiers
Le module spdx permet l'interfaçage avec d'autres outils compatibles SPDX, facilitant la construction d'une chaîne d'outils de conformité complète.
Traitement par lots automatisé
L'utilisation des interfaces API permet d'intégrer les vérifications de conformité directement dans les pipelines CI/CD, assurant une surveillance continue et un traitement automatisé.
Résolution de problèmes courants
Q : Coment améliorer l'efficacité de l'analyse ?
R : Optimisez la configuration du proxy ou envisagez une architecture de déploiement distribué.
Q : Comment étendre les règles d'analyse ?
R : Développez des agents personnalisés en vous basant sur le module regexscan.
Q : Comment personnaliser le format des rapports ?
R : Modifiez les modèles de rapport dans le répertoire unifiedreport/templates.
Recommandations de bonnes pratiques
- Vérification préventive : Intégrez l'analyse de conformité des licences dès le début du projet.
- Surveillance continue : Établissez un mécanisme régulier de contrôle de conformité.
- Collaboration d'équipe : Construisez un système de gestion de la conformité impliquant différents départements.
- Gestion documentaire : Maintenez un dossier d'archives de conformité complet.