Étiquettes web de licence pour JavaScript
Si vous êtes webmestre et que vous déployez du JavaScript compacté sur un site, voici une méthode qui vous permettra d'étiqueter ces fichiers avec les informations concernant leur licence et la localisation de leur code source, sans altérer les fichiers compactés eux-mêmes. C'est particulièrement utile dans le cas où le JavaScript est sous l'une des licences GNU mais n'inclut pas l'exception proposée dans la section 3.2 de Libérez votre JavaScript, par Loïc Duros.
La méthode des étiquettes web pour JavaScript est destinée aux fichiers de code JavaScript compacté. Cette méthode respecte les clauses pertinentes des licences de logiciel GNU et permet à LibreJS de confirmer l'exactitude de l'information relative au site.
L'utilisation d'étiquettes web suppose que les fichiers sources du JavaScript correspondant portent des avis de licence indiquant correctement qu'ils sont publiés sous une licence libre. Le code compilé n'est pas libre à moins que son code source ne le soit, il est donc essentiel d'indiquer la licence pour que le code source libre soit dûment publié. C'est ce que vous devez faire en premier si ce n'est déjà fait.
Vous pouvez également utiliser des étiquettes web pour indiquer la licence du code non compacté d'une manière reconnaissable par un programme ; mais comme ce sont des fichiers sources, n'oubliez pas de leur ajouter des avis de licence lisibles par l'homme. Les omettre serait introduire une incertitude sur leur statut juridique.
La méthode des étiquettes web n'est pas applicable au JavaScript accessible directement en ligne sur des pages HTML ; les renseignements concernant la licence doivent être donnés directement sur ces pages.
La raison pour laquelle nous avons mis au point ce format est détaillée dans le document d'explication.
Rédaction de la page d'étiquettes
Ajoutez à votre site une page pour les étiquettes web de licence du
JavaScript. Vous pouvez choisir comme chemin et nom de fichier ce qui vous
est le plus pratique ; les visiteurs trouveront la page par des liens. La
page doit comporter un tableau marqué de l'attribut
id="jslicense-labels1"
. Ce nom permet aux outils
automatiques de trouver le tableau facilement et leur dit à quel format
s'attendre. Chaque ligne de ce tableau contiendra trois cellules qui
fourniront les renseignements concernant un fichier JavaScript autonome
utilisé sur le site, sa licence, et le moyen par lequel les visiteurs
peuvent obtenir son code source.
La première cellule de chaque ligne indique le nom d'un fichier JavaScript
utilisé par le site. Cette cellule doit contenir une balise d'ancrage qui la
lie à ce fichier, comme le font les balises script
du site.
La deuxième cellule fournit les renseignements concernant la licence de ce fichier JavaScript. Cette cellule doit contenir une balise d'ancrage dont le lien pointe sur le texte complet de la licence, et dont le texte indique le nom complet de la licence et (si la licence a plusieurs versions) le numéro de version ainsi que l'applicabilité éventuelle des versions ultérieures de la licence. Voici de bons identifiants de licence et les liens associés :
- GNU-GPL-2.0-or-later
- GNU-GPL-3.0-or-later
- GNU-LGPL-2.1-or-later
- GNU-LGPL-3.0-or-later
- GNU-AGPL-3.0-or-later
- Apache-2.0-only
- Modified-BSD
- CC0-1.0-only
- Expat
- MPL-2.0-or-later
La troisième cellule donne un lien vers le code source du JavaScript. Ce
fichier source peut être un fichier unique, un fichier JavaScript non
minimisé, une archive .tar.gz
ou une archive
.zip
. Si l'archive de la source comprend plusieurs fichiers
JavaScript, elle doit contenir un fichier nommé 00-INDEX
qui
liste les fichiers sources individuels dans l'ordre dans lequel ils doivent
être concaténés pour produire un fichier unique équivalent à celui qui est
hébergé sur le site. Si le JavaScript, tel qu'il est servi par le site et
tel qu'il est mis en lien dans la première cellule, est déjà sous forme de
code source, mettez la même URL dans cette cellule.
Un exemple de tableau est présenté ci-après. Ce site utilise un seul fichier JavaScript, une version minimisée de jQuery 1.7 distribuée sous la licence Expat. Le tableau liste le fichier avec les renseignements correspondants et un lien vers le code source :
<table id="jslicense-labels1">
<tr>
<td><a href="/js/jquery-1.7.min.js">jquery-1.7.min.js</a></td>
<td><a href="https://directory.fsf.org/wiki/License:Expat">Expat</a></td>
<td><a href="/js/jquery-1.7.tar.gz">jquery-1.7.tar.gz</a></td>
</tr>
</table>
Cette page peut contenir du texte et des balises HTML supplémentaires, y compris la mise en page normale de votre site et les outils de navigation, mais le tableau doit y être présenté de manière très visible.
Liens vers la page d'étiquettes
Sur chaque page utilisant JavaScript, mettez un lien pointant vers la page
d'étiquettes décrite plus haut. Marquez ce lien de l'attribut
rel="jslicense"
pour que les outils automatiques
puissent le trouver. Par exemple, votre lien final pourrait ressembler
à ça :
<a href="/about/javascript" rel="jslicense">JavaScript license information</a>
Ce lien peut être de taille réduite, mais il doit être clairement visible pour les visiteurs.
Note
Si vous faites cela, vous serez en règle avec les clauses pertinentes des licences de logiciel GNU, par exemple la licence publique générale GNU. Cela devrait aussi suffire à respecter beaucoup d'autres licences de logiciel libre, mais nous ne pouvons pas vous assurer que ce sera le cas pour toutes. Comme toujours, veuillez faire en sorte de comprendre et respecter les clauses de licence de tout logiciel libre que vous distribuez.