Comment faire

Comment déposer son code logiciel dans HAL ?

[Mise à jour d’un article initialement publié en janvier 2021]

Les scientifiques développant des composants logiciels (scripts, programmes ou workflows) sont encouragés à rendre public leur code source. Cependant, un code logiciel est par nature évolutif et peut comprendre de multiples versions. Il peut donc être utile de rendre disponible et citable une certaine version de son code (par exemple celle utilisée dans une publication) en la déposant dans HAL. Mais alors, comment faire ?

La première étape consiste à vérifier si votre code se trouve dans l’archive Software Heritage (SWH). Si vous avez développé votre logiciel sur une plateforme collaborative comme GitHub, GitLab ou Bitbucket, il est très probable qu’il soit déjà archivé dans SWH qui dispose d’un « moissonneur » automatique. Pour faire cette vérification, il vous suffit d’entrer l’url de votre dépôt dans le moteur de recherche de SWH.

  • Si votre code se trouve dans SWH

Vérifiez tout d’abord que les fichiers README, AUTHORS et LICENSE sont bien présents dans Software Heritage, ces fichiers sont obligatoires pour le dépôt dans HAL. Il est également recommandé d’ajouter un fichier codemeta.json, fichier à partir duquel les métadonnées seront récupérées lors du transfert vers HAL. Ce fichier peut être créé facilement grâce à l’outil CodeMeta generator.

Si ces fichiers ne se trouvent pas dans SWH, ajoutez-les dans votre dépôt d’origine puis mettez à jour la version archivée dans SWH en cliquant sur « Save again ».

Vous pouvez maintenant copier le SWHID (identifiant du logiciel dans Software Heritage) en cliquant sur le bouton rouge « Permalinks » tout à droite de la page (copiez l’identifiant – et non le permalien – du directory avec ses informations contextuelles).

Rendez-vous ensuite sur votre portail HAL, connectez-vous à votre compte puis cliquez sur « Déposer ». Sélectionnez le type de document « Logiciel » et collez l’identifiant SWHID dans la section « Chargez les métadonnées à partir d’un identifiant ». Il ne vous reste plus qu’à vérifier les métadonnées récupérées du fichier codemeta.json et compléter les métadonnées manquantes (affiliations des auteurs, domaine, mots-clés…) avant de valider votre dépôt.

  • Si votre code ne se trouve pas dans SWH

Vous pouvez ajouter votre code dans SWH, via l’option Save code now, en indiquant l’url de votre dépôt. Une fois ajouté, vous pouvez suivre les indications précédentes.

S’il n’est pas possible d’ajouter votre code dans SWH car il a été développé en local, vous pouvez tout de même le déposer dans HAL en suivant les instructions suivantes :

  • Préparez les fichiers README, AUTHORS et LICENSE et ajoutez-les à votre dossier contenant votre code. Compressez ce dossier dans un format zip ou tar.gz (nommé avec le nom du logiciel et son numéro de version).
  • Rendez-vous ensuite sur votre portail HAL, connectez-vous à votre compte puis cliquez sur « Déposer ». Sélectionnez le type de document « Logiciel ».
  • Ajoutez le fichier compressé (1 seul fichier compressé autorisé) puis complétez le maximum de métadonnées : titre, auteurs, domaine, description, publications associées, licence, langage de programmation, version…
  • Avant de valider votre dépôt, si votre code est sous licence libre et qu’il n’est pas sous embargo, vous pouvez demander à le transférer vers SWH pour assurer sa pérennisation et lui attribuer un SWHID. Cet identifiant sera ensuite inclus dans la notice HAL et dans le format de citation.
  • Vous pouvez désormais valider votre dépôt.

Dans tous les cas, les dépôts de logiciels dans HAL seront vérifiés par un modérateur avant mise en ligne. La présence des fichiers README, AUTHORS et LICENSE et la qualité des métadonnées seront systématiquement vérifiées.

Pour plus de détails, notamment sur le contenu des fichiers README, AUTHORS et LICENSE, suivez les indications du guide utilisateur disponible sur HAL.

Pour comprendre les bénéfices de la collaboration HAL / Software Heritage, consultez notre article sur le sujet.