BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités GitHub Licensed vise à faciliter la conformité avec les licences Open Source

GitHub Licensed vise à faciliter la conformité avec les licences Open Source

GitHub Licensed est un outil open-source qui vise à simplifier la corvée de s'assurer de la validité de la licence et de la documentation pour toutes les dépendances d'un projet GitHub.

Licensed peut détecter les dépendances d'un ensemble de langages et de gestionnaires de paquets dans de multiples projets au sein d'un dépôt. Les gestionnaires de paquets pris en charge incluent Bower, Bundler, Cabal, Go, les listes de Manifest et NPM. Pour chaque dépendance trouvée, Licensed peut récupérer ses métadonnées de base et les informations de licence pertinentes, telles que le type de licence et son texte juridique associé (généralement stocké dans un fichier LICENSE) à partir de leur emplacement dans l'environnement local. Pour détecter le type de licence et le texte, Licensed utilise Licensee. Toutes les métadonnées détectées sont stockées à un emplacement spécifique qui peut être utilisé pour générer la copie de toutes les licences requises pour la distribution.

Ce qui est plus important, d'après GitGHub, c'est que les métadonnées et le texte de licence peuvent être mis sous contrôle de source. Lorsque vous le faites, l'ajout de nouvelles dépendances est reflété au niveau de la Pull Request et les experts en licence peuvent examiner toute nouvelle licence pour détecter les problèmes qui pourraient survenir. Sur la base de leur propre expérience avec ce processus, GitHub affirme qu'il s'agit d'un moyen efficace de diminuer la pression sur le développeur et de s'assurer que seules les dépendances qui répondent aux exigences de l'organisation sont incluses dans le produit.

Les fonctionnements de Licensed sont contrôlés via un fichier de configuration où vous spécifiez un emplacement source_path pour rechercher les dépendances, un répertoire cache_path pour stocker les métadonnées et une liste des licences autorisées. Voici un exemple de fichier de configuration simplifié :

# Le chemin est relatif à la racine du dépôt git
# Si non défini, '.licenses' par défaut
cache_path: 'relative/path/to/cache'

# Path est relatif à la racine du dépôt git et spécifie le répertoire de travail lors de l'énumération des dépendances
chemin_source: 'relative/path/to/source'

# Les dépendances avec ces licences sont autorisées par défaut.
allowed:
  - mit
  - Apache-2.0
  - bsd-2-clause
  - bsd-3-clause
  - cc0-1.0

Licence est une gemme Ruby​que vous pouvez installer en ajoutant la ligne suivante à votre Gemfile :

gem 'licensed', :group => 'development'

Puis exécutez :

$ bundle

Vous pouvez demander à Licensed de lister toutes les dépendances de votre projet en exécutant :

licensed list

De même, la commande cache mettra en cache les licences et les métadonnées, tandis que la commandestatus vérifiera l'état des dépendances et émettra des avertissements si des données de licence sont manquantes ou si le type de licence doit être révisé.

GitHub souligne le fait que Licensed n'est qu'un outil de détection précoce des problèmes de licence et qu'il ne peut remplacer des conseils juridiques émanant de professionnels.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT