# Software Heritage: archive ouverte des codes et logiciels

Océane Valencia, Cécile Arènes

► To cite this version:

Océane Valencia, Cécile Arènes. Software Heritage: archive ouverte des codes et logiciels. Print-emps de la Donnée 2024, INRAE; Université Haute-Alsace; Université de Strasbourg; INSA; PNDB; AgroParisTech; Université de Lille; Sorbonne Université; Data Terra, May 2024, Paris, France. hal-04684387

HAL Id: hal-04684387

https://hal.inrae.fr/hal-04684387v1

Submitted on 2 Sep 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
SOFTWARE HERITAGE
ARCHIVE OUVERTE
DES CODES ET LOGICIELS

<figure><img src="image_2.png" /></figure>

SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE
# Qui sommes-nous ?

* **Cécile Arènes**, chargée de mission
Données de la recherche et Humanités numériques, bibliothèque de Sorbonne Université

* **Océane Valencia**, responsable du Service des Archives et du Recueil des Actes, Sorbonne Université

<figure><img src="image_3.png" /></figure>
SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

1

LE MOUVEMENT DE LA SCIENCE OUVERTE
# Le mouvement du logiciel libre

* Copyleft, 1970

* Manifeste GNU / Richard Stallman, 1985

* Free Software Foundation, 1985

* Licence GNU GPL : 1989

* Linux, 1991

* Parution de La Cathédrale et le bazar / Eric Raymond, 1997

* Open Source Initiative, 1998

<figure><img src="image_4.png" /></figure>

<figure><img src="image_5.png" /></figure>

FREE SOFTWARE
FOUNDATION

## 4 libertés :

* modification

* diffusion

* étude du code source

* utilisation

<figure><img src="image_6.png" /></figure>

open source
initiative
<figure><img src="image_7.png" /></figure>

# Le plan national pour la science ouverte

Plan national pour la science ouverte 2, 2021-2024.

## Axe 3 : ouvrir et promouvoir les codes sources produits par la recherche

- Valoriser et soutenir la diffusion sous licence libre des codes sources issus de recherches financées sur fonds publics

- Mettre en valeur la production des codes sources de l'enseignement supérieur, de la recherche et de l'innovation

- Définir et promouvoir une politique en matière de logiciels libres
# La feuille de route du MESRI pour les données et codes

Politique des données, des algorithmes et des codes sources, 2021-2024.

* Suivre l'ouverture des données et des codes de la recherche Baromètre de la science ouverte – Action 7

* Collecter, préserver et partager les codes sources – Software Heritage – Action 11

* Mettre en place des identifiants uniques et pérennes – Actions 22 à 27

* Accompagner l'adoption de licences libres – Action 45
SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

2

OUVRIR LES CODES ET LOGICIELS
# Pourquoi ouvrir les codes sources ?

SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

<figure><img src="image_8.png" /></figure>

Trois piliers de la Science Ouverte, Software Heritage CC-By 4.0 2019

> "Sometimes, if you don't have the software, you don't have the data."

Christine L. Borgman, *Journées Nationales pour la Science Ouverte, 2018*

Trois piliers pour la science ouverte :

- open access

- open data

- open source repositories

**Des données sans logiciel ne sont pas toujours reproductibles !**

Voir : Stodden, Victoria, et Sheila Miguez. « Best Practices for Computational Science: Software Infrastructure and Environments for Reproducible and Extensible Research ». SSRN Scholarly Paper. Rochester, NY: Social Science Research Network, 6 septembre 2013. https://papers.ssrn.com/abstract=2322276 .
# Pourquoi ouvrir les codes sources ?

<figure><img src="image_9.png" /></figure>

« [...] software [...] essential in their fields »

Top 100 papers (Nature, 2014)

« Without the data and computer codes that underlie scientific discoveries, published findings are all but impossible to verify”

V. Stodden, S. Miguez, *Best Practices for Computational Science: Software Infrastructure and Environments for Reproducible and Extensible Research*, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2322276

➤ Sur 531 000 articles dans le domaine de la biosanté et montre que lorsqu'un article est associé à des données en annexe, il est cité 25% de fois en plus par rapport à un article sans données associées.

Plos One, 2020,
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0230416

=> avoir des données associées est un facteur de publicité et de crédibilité accrue des résultats
# Plateformes au service des logiciels : panorama

Plateformes de développement collaboratif, “forges logicielles” :

* GitHub, GitLab.com, BitBucket, instances de GitLab institutionnelles, etc.

* Finalité : développer un logiciel de façon collaborative

* Risques : aucune garantie de pérennité (nombreux exemples de fermetures brutales : Gitorious.org, Google Code, Bitbucket)

Plateformes de distribution :

* Debian, Ubuntu, CTAN, CRAN, CPAN, Maven, etc.

* finalité: faciliter la diffusion de logiciels, souvent sous forme de paquetage

Plateformes d'archivage :

* Software Heritage, CINES, BnF, Archives nationales, etc.

* Finalité : garantir une conservation et un accès pérennes

* Enjeux : garantir l'accès et la possibilité d'utiliser des codes et des logiciels de manière pérenne

* Constituer un patrimoine informatique

<figure><img src="image_10.png" /></figure>

<figure><img src="image_11.png" /></figure>

<figure><img src="image_12.png" /></figure>
# Spécificités du logiciel

Le logiciel est à la fois un **outil**, un **résultat** et un **objet de recherche** :

* un **outil** : pour effectuer des traitements

* **R**, utilisé largement pour des analyses statistiques,

* **Scilab**, pour le traitement numérique, etc.

* **Jupyter**, pour des notebooks exécutables

* un **résultat** : issu de travaux de recherche

* **SAGE**, concentre de nouveaux algorithmes en calcul formel

* **CGAL**, bibliothèque d'algorithmes en géométrie computationnelle

* un **objet de recherche** : le code source des logiciels, avec son historique de développement, est notamment l'objet d'étude privilégié dans le Génie Logiciel (conférences **MSR** et **ICSE**)

Comme tout résultat de recherche, un logiciel doit pouvoir être accessible à la communauté de recherche à des fins de reproductibilité.
une archive pour les
codes et logiciels

* Une initiative d'INRIA

* Portée par Roberto Di Cosmo

* Trois principaux objectifs pour les codes sources :

* Collecter,

* Préserver à long terme

* Partager

Abramatic, J.-F., Di Cosmo, R., & Zacchiroli, S. (2018). *Building the universal archive of source code*. https://cacm.acm.org/magazines/2018/10/231366-building-the-universal-archive-of-source-code/fulltext
<figure><img src="image_13.png" /></figure>

un peu d'histoire

* **Juin 2018 :**
  **Ouverture de l'archive Software Heritage**

* **Novembre 2018 :**
  **Appel de Paris :** le code source des logiciels comme patrimoine pour le développement durable
  Mission et collaboration continue avec l'UNESCO.

* **Juillet 2018 :**
  **Software Heritage for Open Science**

* **Novembre 2019 :**
  **ENEA, miroir italien de Software Heritage**

* **Octobre 2019 :**
  **Curating and archiving landmark legacy source code**
# Principes FAIR pour les codes et logiciels

Lamprecht, Anna-Lena, Leyla Garcia, Mateusz Kuzak, Carlos Martinez, Ricardo Arcila, Eva Martin Del Pico, Victoria Dominguez Del Angel, et al. « Towards FAIR Principles for Research Software ».
*Data Science 3*, nº 1 (1 janvier 2020): 37-59.
[https://doi.org/10.3233/DS-190026](https://doi.org/10.3233/DS-190026).

Travail d'adaptation de chaque principe FAIR pour les codes et logiciels

<figure><img src="image_14.png" /></figure>

Détail des principes FAIR :
[https://www.force11.org/group/fairgroup/fairprinciples](https://www.force11.org/group/fairgroup/fairprinciples)
# Principes FAIR pour les codes et logiciels

## F : Findable ou Facile à trouver

<table><thead><tr><td></td><td>FAIR for data</td><td>FAIR for software</td><td>Operation</td></tr></thead><tbody><tr><td>F1</td><td>(Meta-)data are assigned a globally unique and persistent identifier.</td><td>Software and its associated metadata have a global, unique and persistent identifier for each released version.</td><td>Rephrased</td></tr><tr><td>F2</td><td>Data are described with rich metadata.</td><td>Software is described with rich metadata.</td><td>Rephrased</td></tr><tr><td>F3</td><td>Metadata clearly and explicitly include the identifier of the data it describes.</td><td>Metadata clearly and explicitly include identifiers for all the versions of the software it describes.</td><td>Rephrased and extended</td></tr><tr><td>F4</td><td>(Meta-)data are registered or indexed in a searchable resource.</td><td>Software and its associated metadata are included in a searchable software registry.</td><td>Rephrased</td></tr></tbody></table>
# Principes FAIR pour les codes et logiciels

## A : Accessible

<table><thead><tr><td></td><td>FAIR for data</td><td>FAIR for software</td><td>Operation</td></tr></thead><tbody><tr><td>A1</td><td>(Meta)xdata are retrievable by their identifier using a standardized communications protocol.</td><td>Software and its associated metadata are accessible by their identifier using a standardized communications protocol.</td><td>Rephrased</td></tr><tr><td>A1.1</td><td>The protocol is open, free, and universally implementable.</td><td>The protocol is open, free, and universally implementable.</td><td>Remain the same</td></tr><tr><td>A1.2</td><td>The protocol allows for an authentication and authorization procedure, where necessary.</td><td>The protocol allows for an authentication and authorization procedure, where necessary.</td><td>Remain the same</td></tr><tr><td>A2</td><td>Metadata are accessible, even when the data are no longer available.</td><td>Software metadata are accessible, even when the software is no longer available.</td><td>Rephrased</td></tr></tbody></table>
# Principes FAIR pour les codes et logiciels

## I : Interopérable

<table><thead><tr><td></td><td>FAIR for data</td><td>FAIR for software</td><td>Operation</td></tr></thead><tbody><tr><td>11</td><td>(Meta)data use a formal, accessible, shared, and broadly applicable language for knowledge representation.</td><td>Software and its associated metadata use a formal, accessible, shared and broadly applicable language to facilitate machine readability and data exchange.</td><td>Rephrased and extended</td></tr><tr><td>12</td><td>(Meta)data use vocabularies that follow FAIR principles.</td><td>–</td><td>Reinterpreted, extended and split</td></tr><tr><td>12S.1</td><td>–</td><td>Software and its associated metadata are formally described using controlled vocabularies that follow the FAIR principles.</td><td>Reinterpreted, extended and split</td></tr><tr><td>12S.2</td><td>–</td><td>Software use and produce data in types and formats that are formally described using controlled vocabularies that follow the FAIR principles.</td><td>Reinterpreted, extended and split</td></tr><tr><td>13</td><td>(Meta)data include qualified references to other (meta)data.</td><td>–</td><td>Discarded</td></tr><tr><td>14S</td><td>–</td><td>Software dependencies are documented and mechanisms to access them exist.</td><td>Newly proposed</td></tr></tbody></table>
# Principes FAIR pour les codes et logiciels

## R : Réutilisable

<table><thead><tr><td></td><td>FAIR for data</td><td>FAIR for software</td><td>Operation</td></tr></thead><tbody><tr><td>R1</td><td>(Meta-)data are richly described with a plurality of accurate and relevant attributes.</td><td>Software and its associated metadata are richly described with a plurality of accurate and relevant attributes.</td><td>Rephrased</td></tr><tr><td>R1.1</td><td>(Meta-)data are released with a clear and accessible data usage license.</td><td>Software and its associated metadata have independent, clear and accessible usage licenses compatible with the software dependencies.</td><td>Rephrased and extended</td></tr><tr><td>R1.2</td><td>(Meta-)data are associated with detailed provenance.</td><td>Software metadata include detailed provenance, detail level should be community agreed.</td><td>Rephrased</td></tr><tr><td>R1.3</td><td>(Meta-)data meet domain-relevant community standards. procedure, where necessary.</td><td>Software metadata and documentation meet domain-relevant community standards.</td><td>Rephrased</td></tr></tbody></table>
# Documenter les projets et assurer leur reproductibilité

Documenter les projets de recherche :

* Jupyter notebooks

* RStudio

* OrgMode

* MkDocs

Assurer la reproductibilité de la recherche :

* Voir le MOOC d'INRIA : Recherche reproductible : principes méthodologiques pour une science transparente

https://www.fun-mooc.fr/fr/cours/recherche-reproductible-principes-methodologiques-pour-une-science-transparente/

<figure><img src="image_15.png" /></figure>
# Pour le déposant
## Améliorer la visibilité de son projet

* Facile à trouver dans les moteurs de recherche

* Accessible à tous

* Réutilisable

* Reproducible

* Identifié

Garantie contre le plagiat :

* identifiant pérenne du dépôt

* horodatage du dépôt
3

SÉCURISER LES CONDITIONS JURIDIQUES DE LA
RÉUTILISATION
<figure><img src="image_16.png" /></figure>

## Ouvrir le code

## Propriété intellectuelle

* Le code est protégé par le droit de la propriété intellectuelle (loi 85-660 du 3 juillet 1985)

* **Définition** : « Ensemble des programmes, procédés et règles, et éventuellement de la documentation, relatifs au fonctionnement d'un ensemble de traitement de données »

* **Titularité des droits** : « Les droits patrimoniaux sur les logiciels et leur documentation créés par un ou plusieurs employés dans l'exercice de leurs fonctions ou d'après les instructions de leur employeur sont dévolus à l'employeur qui est seul habilité à les exercer. » (article L113-9 du CPI)
# Ouvrir le codes et les logiciels
## Les licences

<figure><img src="image_17.png" /></figure>

L'Open Source Initiative maintien la liste des licences
Open Source, disponible ici:
**https://opensource.org/licenses**

<figure><img src="image_18.png" /></figure>

FREE SOFTWARE
FOUNDATION

La Free Software Foundation maintien les licences
GPL et LGPL, ainsi qu'un liste de licences de logiciels
libres, voir : **https://www.fsf.org/licensing/**

<figure><img src="image_19.png" /></figure>

SPDX

SPDX (Linux foundation), maintien une liste de noms
de licences canoniques, voir https://spdx.org/licenses/

<figure><img src="image_20.png" /></figure>

Licences GNU

Un outil pour trouver une licence publique :
**https://ufal.github.io/public-license-selector/**
# Licences ouvertes

## SPDX License List

The SPDX License List is an integral part of the SPDX Specification. The SPDX License List itself is a list of commonly found licenses and exceptions used in free and open or collaborative software, data, hardware, or documentation. The SPDX License List includes a standardized short identifier, the full name, the license text, and a canonical permanent URL for each license and exception.

The purpose of the SPDX License List is to enable efficient and reliable identification of such licenses and exceptions in an SPDX document, in source files or elsewhere.

* License Exceptions are commonly found exceptions to free and open source licenses, used with the License Expression operator, "WITH" to create a license with an exception.

* The matching guidelines define what constitutes a license or exception match. The license text on the HTML pages here will display omissible text in blue and replaceable text in red (see Guideline #2 for more information).

* Explanation of fields used on the SPDX License List

* License inclusion principles for adding new licenses or exceptions to the SPDX License List

* Contribute to the project or request a new license

* Use short identifiers in your source code

* Github repo

* Machine readable data files for the SPDX License List

Version: 3.12 2021-03-07

Note: You can sort by each column by clicking on the column header. By default, the table sorts by the Identifier column.

<table><thead><tr><td>Full name</td><td>Identifier</td><td>FSF Free/Libre?</td><td>OSI Approved?</td></tr></thead><tbody><tr><td>BSD Zero Clause License</td><td>0BSD</td><td></td><td>Y</td></tr><tr><td>Attribution Assurance License</td><td>AAL</td><td></td><td>Y</td></tr><tr><td>Abstyles License</td><td>Abstyles</td><td></td><td></td></tr><tr><td>Adobe Systems Incorporated Source Code License Agreement</td><td>Adobe-2006</td><td></td><td></td></tr><tr><td>Adobe Glyph List License</td><td>Adobe-Glyph</td><td></td><td></td></tr><tr><td>Amazon Digital Services License</td><td>ADSL</td><td></td><td></td></tr><tr><td>Academic Free License v1.1</td><td>AFL-1.1</td><td>Y</td><td>Y</td></tr><tr><td>Academic Free License v1.2</td><td>AFL-1.2</td><td>Y</td><td>Y</td></tr><tr><td>Academic Free License v2.0</td><td>AFL-2.0</td><td>Y</td><td>Y</td></tr><tr><td>Academic Free License v2.1</td><td>AFL-2.1</td><td>Y</td><td>Y</td></tr></tbody></table>
SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

4

DÉPOSER SUR SOFTWARE HERITAGE
# Exemples de projets de recherche avec dépôt de code

## References

1. M. Danelutto, R. Di Cosmo, X. Leroy, and S. Pelagatti. "Parallel Functional Programming with Skeletons: the OCamlP3L experiment." In: **ACM Workshop on ML and its applications**. ACM. Baltimore, United States, Sept. 1998.

2. [SW] R. Di Cosmo, M. Danelutto, X. Leroy, and S. Pelagatti, The OCamlP3l library, 1998. LIC: GPL. URL: https://archive.softwareheritage.org/gitorious.org/ocamlp3l/ocamlp3l_cvs.git.

3. X. Leroy, D. Doligez, A. Frisch, J. Garrigue, D. Rémy, and J. Vouillon. The OCaml system release 4.09: Documentation and user's manual. Intern report. Inria, Sept. 2019, pp. 1-789.

4. M. Cole. Algorithmic skeletons: structured management of parallel computation. MIT Press, 1989.

5. J.-F. Abramatic, R. Di Cosmo, and S. Zacchiroli. "Building the Universal Archive of Source Code." In: **Commun. ACM** 61.10 (Sept. 2018), pp. 29-31.

6. [SW] R. Di Cosmo, P. Weis, F. Clement, and Z. Li, OCamlP3l release 2.03, 2007. LIC: LGPL-2. HAL: <hal-02487579v1>, SWHID: <swh:1:dir:85642a2e0333bbd6340c0a84ae6bad48cba11940;origin=https://hal.archives-ouvertes.fr/hal-02487579>.

7. [SW REL.] R. Di Cosmo, M. Danelutto, X. Leroy, and S. Pelagatti, The OCamlP3l library version 1.0, 1998. LIC: GPL. SWHID: <swh:1:rev:2db189928c94d62a3b4757b3eeec68f0a4d4113f0;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git/>.

8. [SW EXC.] M. Danelutto, "Simple Farm test program," from The OCamlP3l library 1998. LIC: GPL. SWHID: <swh:1:cnt:4d99d2d18326621ccdd70f5ea66c2e2ac236ad8b;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git/;anchor=swh:1:rev:2db189928c94d62a3b4757b3eeec68f0a4d4113f0;path=/Examples/SimpleFarm/simplesfarm.ml>.

9. [SW EXC.] M. Danelutto, "Pipeline test program," from The OCamlP3l library 1998. LIC: GPL. SWHID: <swh:1:cnt:8415f9451cf1ecaef70daab45c0ea2e5200f7d38;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git;anchor=swh:1:rev:2db189928c94d62a3b4757b3eeec68f0a4d4113f0;path=/Examples/PerfTuning/pipeline.ml>.

10. [SW EXC.] R. Di Cosmo, "Driver command," from The OCamlP3l library 1998. LIC: GPL. SWHID: <swh:1:cnt:c428f4deb1cdff8500fff5c449b99454a816c163;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git;anchor=swh:1:rev:2db189928c94d62a3b4757b3eeec68f0a4d4113f0;path=/Tools/ocamlp3lrun>.

11. R. Di Cosmo. "How to use Software Heritage for archiving and referencing your source code: guidelines and walkthrough." HAL preprint hal-02263344. Apr. 2019.

Un exemple d'article citant des logiciels déposés :

* Roberto Di Cosmo, Marco Danelutto. [Rp] Reproducing and replicating the OCamlP3l experiment. *The ReScience journal*, GitHub, 2020, (10.5281/zenodo.3763416). (hal-02885664)

* Les citations 8 à 10 font référence à des éléments précis de codes ou logiciels déposés.
SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

5

SAUVEGARDER SON CODE SUR SOFTWARE
HERITAGE
# Partager logiciels et codes
source

<figure><img src="image_21.png" /></figure>

Software Heritage

## Sauvegarder son code:

1. Préparer

2. Déposer

Deux possibilités :

○ Dépôt direct dans Software Heritage

○ Dépôt via HAL
# Préparation du logiciel

Avant le dépôt sur HAL préparer le code source du logiciel sur la plateforme de développement (GitHub, Gitlab, etc.).

Ces éléments sont vérifiés après par les modérateurs.

## 2.1.1 ajouter les fichiers suivants sur le `code repository`:

- README

- AUTHORS

- LICENSE (à choisir avec les titulaires des droits patrimoniaux du dit logiciel - **liste de référence**)

- codemeta.json - facultatif mais pratique car les métadonnées sont ajoutées dans le formulaire HAL automatiquement en utilisant le SWHID approprié

<figure><img src="image_22.png" /></figure>
# Le fichier Readme

De nombreux templates existent.

* Un exemple, [Make a Readme](#)

Contenu du fichier décrivant le logiciel :

* Nom,

* Objectif,

* Liens vers un site,

* Documentation

* Plateforme de développement

* Contacts et informations sur le support

<figure><img src="image_23.png" /></figure>

## Make a README

Because no one can read your mind (yet)

<figure><img src="image_24.png" /></figure>

Need an interactive developer hub, complete with documentation, reference guides, tutorials, realtime API logs and community? Try ReadMe.com!

Make a README is proudly sponsored by ReadMe.com

## README 101

### What is it?

A README is a text file that introduces and explains a project. It contains information that is commonly required to understand what the project is about.

### Why should I make it?

It's an easy way to answer questions that your audience will likely have regarding how to install and use your project and also how to collaborate with you.

### Who should make it?

Anyone who is working on a programming project, especially if you want others to use it or contribute.
# Pourquoi CodeMeta ?

* Un vocabulaire qui étend le vocabulaire schema.org

* https://codemeta.github.io/terms/

* Une communauté académique

* Une **table** de correspondances qui permet de traduire plusieurs ontologies/vocabulaires vers CodeMeta

Pour créer facilement un fichier codemeta.json utiliser l'**outil en ligne**

## Outil pour créer un codemeta.json

<figure><img src="image_25.png" /></figure>

<figure><img src="image_26.png" /></figure>
# Auteurs : bonnes pratiques

Voir :

Pierre Alliez, Roberto Di Cosmo, Benjamin Guedj, Alain Girault, Mohand-Said Hacid, et al.. Attributing and Referencing (Research) Software: Best Practices and Outlook from Inria. 2019. (hal-02135891v1)

<figure><img src="image_27.png" /></figure>

Accueil

Dépôt

Consultation

Recherche

Documentation

hal-02135891, version 1

Pré-publication, Document de travail

## Attributing and Referencing (Research) Software: Best Practices and Outlook from Inria

Pierre Alliez¹, Roberto Di Cosmo 2, 3, 4, Benjamin Guedj 5, 6, 7, 8, Alain Girault 9, Mohand-Said Hacid 10, Arnaud Legrand 11, 12, Nicolas P. Rougier 13 Détails

1 TITANE - Geometric Modeling of 3D Environments
CRISAM - Inria Sophia Antipolis - Méditerranée

2 Software Heritage

3 UPD7 - Université Paris Diderot - Paris 7

4 Inria Siège

5 UCL-CS - Computer science department [University College London]

6 MODAL - Model for Data Analysis and Learning
LPP - Laboratoire Paul Painlevé - UMR 8524, Université de Lille, Sciences et Technologies, Inria Lille - Nord Europe, METRICS -
Evaluation des technologies de santé et des pratiques médicales - ULR 2694, Polytech Lille - École polytechnique universitaire de Lille

7 UCL - University College of London [London]

8 Inria-CWI - Inria-CWI

9 SPADES - Sound Programming of Adaptive Dependable Embedded Systems
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble

10 BD - Base de Données
LIRIS - Laboratoire d'InfoRmatique en Image et Systèmes d'information

11 LIG - Laboratoire d'Informatique de Grenoble

12 POLARIS - Performance analysis and optimization of LARge Infrastructures and Systems
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble

13 Mnemosyne - Mnemonic Synergy
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest, IMN - Institut des Maladies Neurodégénératives [Bordeaux]

**Abstract** : Software is a fundamental pillar of modern scientific research, not only in computer science, but actually across all fields and disciplines. However, there is a lack of adequate means to cite and reference software, for many reasons. An obvious first reason is software authorship, which can range from a single developer to a whole team, and can even vary in time. The panorama is even more complex than that, because many roles can be involved in software development: software architect, coder, debugger, tester, team manager, and so on. Arguably, the researchers who have invented the key algorithms underlying the software can also claim a part of the authorship. And there are many other reasons that make this issue complex. We provide in this paper a contribution to the ongoing efforts to develop proper guidelines and recommendations for software citation, building upon the internal experience of Inria, the French research institute for digital sciences. As a central contribution, we make three key recommendations. (1) We propose a richer taxonomy for software contributions with a qualitative scale. (2) We claim that it is essential to put the human at the heart of the evaluation. And (3) we propose to distinguish citation from reference.

## FICHIER S

<figure><img src="image_28.png" /></figure>

main.pdf
Fichiers produits par l'(les) auteur(s)

## IDENTIFIANT S

• HAL Id : hal-02135891, version 1

• ARXIV : 1905.11123

## COLLECTIONS

UNIV-PARIS7 | USPC

## CITATION

Pierre Alliez, Roberto Di Cosmo, Benjamin Guedj, Alain Girault, Mohand-Said Hacid, et al.. Attributing and Referencing (Research) Software: Best Practices and Outlook from Inria. 2019. (hal-02135891v1)

## EXPORTER

BibTeX

TEI

DC

DCterms

EndNote

## PARTAGER

<figure><img src="image_29.png" /></figure>

## MÉTRIQUES

Consultations de la notice

Téléchargements de
fichiers
## Partager logiciels et codes source

<figure><img src="image_30.png" /></figure>

Software Heritage

## Sauvegarder son code

* Dépôt direct dans Software Heritage
# Guide pas à pas : Dépôt dans Software Heritage

## Possibilité d'import direct

<figure><img src="image_31.png" /></figure>
# Guide pas à pas :
Dépôt dans Software Heritage

Exemple : https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://pypi.org/project/pbxplore/&path=pbxplore-1.3.8

<figure><img src="image_32.png" /></figure>

SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

<figure><img src="image_33.png" /></figure>

Software Heritage

<figure><img src="image_34.png" /></figure>

Browse the archive

Enter a SWHID to resolve or keyword(s) to search for in origin URLs

<figure><img src="image_35.png" /></figure>

Features

<figure><img src="image_36.png" /></figure>

Search

<figure><img src="image_37.png" /></figure>

Downloads

<figure><img src="image_38.png" /></figure>

Save code now

<figure><img src="image_39.png" /></figure>

Help

<figure><img src="image_40.png" /></figure>

https://pypi.org/project/pbxplore/ [x]

<figure><img src="image_41.png" /></figure>

26 February 2020, 15:38 UTC

-> Code

<figure><img src="image_42.png" /></figure>

Branches (11)

<figure><img src="image_43.png" /></figure>

Releases (0)

<figure><img src="image_44.png" /></figure>

Visits

<figure><img src="image_45.png" /></figure>

★ Branch: HEAD

4f036f0 / pbxplore-1.3.8 /

<figure><img src="image_46.png" /></figure>

History

<figure><img src="image_47.png" /></figure>

Download

<figure><img src="image_48.png" /></figure>

Tip revision: dca006a4bfce8871e5c824289a4c18b98cfcf0bd3 authored by Pierre Poulain on 17 October 2017, 22:22 UTC
1.3.8

<table><thead><tr><th>File</th><th>Mode</th><th>Size</th></tr></thead><tbody><tr><td>doc</td><td></td><td></td></tr><tr><td>pbxplore</td><td></td><td></td></tr><tr><td>pbxplore.egg-info</td><td></td><td></td></tr><tr><td>CHANGELOG</td><td>-rw-r--</td><td>2.2 KB</td></tr><tr><td>LICENSE</td><td>-rw-r--</td><td>1.1 KB</td></tr><tr><td>MANIFEST.in</td><td>-rw-r--</td><td>155 bytes</td></tr><tr><td>PKG-INFO</td><td>-rw-r--</td><td>4.8 KB</td></tr><tr><td>README.rst</td><td>-rw-r--</td><td>3.2 KB</td></tr><tr><td>setup.cfg</td><td>-rw-r--</td><td>148 bytes</td></tr><tr><td>setup.py</td><td>-rw-r--</td><td>2.1 KB</td></tr></tbody></table>

README.rst

PBxplore

Python 2.7, 3.4, 3.5, 3.6 pypi package 1.4.0 build passing docs passing

PBxplore is a suite of tools dedicated to Protein Block (PB) analysis. Protein Blocks are structural prototypes defined by de Brevern et al. The 3-dimensional local structure of a protein backbone can be modeled as an 1-dimensional sequence of PBs. In principle, any conformation of any amino acid could be represented by one of the sixteen available Protein Blocks (see Figure 1).

<figure><img src="image_49.png" /></figure>

<figure><img src="image_50.png" /></figure>

<figure><img src="image_51.png" /></figure>

<figure><img src="image_52.png" /></figure>

<figure><img src="image_53.png" /></figure>

<figure><img src="image_54.png" /></figure>

<figure><img src="image_55.png" /></figure>

<figure><img src="image_56.png" /></figure>

<figure><img src="image_57.png" /></figure>

<figure><img src="image_58.png" /></figure>

<figure><img src="image_59.png" /></figure>

<figure><img src="image_60.png" /></figure>
# Sauvegarder code sur Software Heritage

<figure><img src="image_61.png" /></figure>

SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

https://archive.softwareheritage.org/

## Vérifier si l'archive est sur SWH

<figure><img src="image_62.png" /></figure>
# Sauvegarder code sur Software Heritage

<figure><img src="image_63.png" /></figure>

SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

https://archive.softwareheritage.org/

Si l'archive est sur SWH -> la
mettre à jour

<figure><img src="image_64.png" /></figure>
# Guide pas à pas : Dépôt dans Software Heritage

## Documentation

https://docs.softwareheritage.org/devel/swh-deposit/index.html

Software Heritage - Development Documentation

<figure><img src="image_65.png" /></figure>

Software Heritage
THE GREAT LIBRARY OF SOURCE CODE

Search docs

## CONTENTS:

- Software Architecture

- Run your own Software Heritage

- Developer setup

- Infrastructure

- API documentation

- swh.core

- swh dataset

## ☐ swh.deposit

- Getting Started

- API Specification

- Deposit metadata

- Hacking on swh-deposit

- Deployment of the swh-deposit

- Blueprint Specifications

- Tests scenarios for client

- swh.deposit package

- swh.graph

- swh.indexer

- Home

- Archive

- Development

- Documentation

- Donate

<figure><img src="image_66.png" /></figure>

» Software Heritage - Deposit

View page source

## Software Heritage - Deposit

Push-based deposit of software source code artifacts to the archive.

## Contents:

- Getting Started

- Requirements

- Prepare a deposit

- Push deposit

- Update deposit

- Check the deposit's status

- API Specification

- Collection

- Limitations

- API overview

- Endpoints

- Possible errors:

- Sources

- Deposit metadata

- Metadata requirements

- Examples

- Note
## Partager logiciels et codes
source

<figure><img src="image_67.png" /></figure>

Software Heritage

## Sauvegarder son code

* Dépôt via HAL
# HAL et Software Heritage

Une collaboration étroite entre Hal-Inria (l'archive ouverte d'Inria), le CCSD et Software Heritage a abouti à la mise en place d'un processus permettant de déposer des codes sources de logiciels via HAL, et leur archivage pérenne dans Software Heritage.

Objectifs :

* dépôt dans HAL pour la citabilité,

* **archivage** par Software Heritage.

Conditions pour être transféré à Software Heritage :

* licence libre

* pas d'embargo

Voir : https://doc.archives-ouvertes.fr/deposer/deposer-le-code-source/
# Pourquoi déposer sur HAL ?

* **Archiver** le logiciel sur HAL et sur SWH

* Grande visibilité aux logiciels dans une démarche de science ouverte

* **Archivage pérenne**, en transférant votre code vers Software Heritage, l'archive universelle du code source

* **Identifier**

* les objets avec un **SWHID** (SoftWare Heritage Identifier)

* la notice et la citation avec un **HAL-ID**

* **Décrire** le logiciel avec des métadonnées qui sont modérées

* Modération des métadonnées par l'équipe des documentalistes

* **Citer** le dépôt avec une citation complète

* Différents formats d'export pour faciliter la citation

<figure><img src="image_68.png" /></figure>
# Quel objet logiciel déposer sur HAL?

* Le code source d'un logiciel (ne pas déposer les exécutables)

* Le logiciel qui est développé dans un milieu académique

* Seuls les créateurs/auteurs du logiciel ou leurs représentants peuvent déposer un logiciel sur HAL

SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

## Cas d'utilisations

<figure><img src="image_69.png" /></figure>

Je **développe** mes logiciels
**localement** et je les partage
sur mon **site web** personnel
ou institutionnel

**Dépôt source: déposer.zip/.tar.gz**

<figure><img src="image_70.png" /></figure>

Je **développe** mes logiciels sur
une **plateforme collaborative**
(type GitHub, GitLab, Bitbucket...)

**Dépôt SWHID: déposer métadonnées et SWHID**
# Checklist par cas d'utilisation

Dépôt source : déposer.zip/.tar.gz

1. Préparer le logiciel (localement)

- Fichiers AUTHORS, LICENSE & README

- Compresser les documents en .zip / .tar.gz

2. Déposer l'archive compressée

3. Compléter les métadonnées

- Choisir le type de dépôt

- Ajouter des métadonnées générales

- Ajouter des métadonnées spécifiques aux logiciels

- Renseigner les auteurs

- Valider le dépôt

Dépôt SWHID : déposer métadonnées et SWHID

1. Préparer le logiciel (sur un code repository)

- Fichier AUTHORS, LICENSE & README

- Fichier codemeta.json

- Save code now sur Software Heritage

- Choisir un SWHID

2. Déposer le lien (SWHID) vers le contenu

3. Compléter les métadonnées

- Ajouter le domaine

- Contrôler les entrées codemeta

- Compléter des métadonnées

- Renseigner les auteurs

- Valider le dépôt
# Soumettre le code repository sur SWH avec le Save Code Now pour un dépôt SWHID :

https://save.softwareheritage.org/

Dépôt SWHID : déposer métadonnées et SWHID

<figure><img src="image_71.png" /></figure>
# Choisir un SWHID sur l'archive Software Heritage

<figure><img src="image_72.png" /></figure>

<figure><img src="image_73.png" /></figure>

SORBON
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSIÈRSE

4. Copier l'identifiant sur le
formulaire HAL
# Déposer le lien vers le contenu

→ Mettre le SWHID sur le formulaire HAL

♦ préférer un SWHID avec contexte (pour garder le lien vers l'historique de développement)

♦ Si un codemeta.json existe dans le code source - la plateforme HAL pourra récupérer les métadonnées automatiquement

→ Vérifier et compléter les métadonnées

♦ vérifier les métadonnées insérées

♦ compléter les métadonnées manquantes

♦ choisir le domaine

♦ vérifier les auteurs et affiliations

→ Valider le dépôt

<figure><img src="image_74.png" /></figure>

<figure><img src="image_75.png" /></figure>

SWHID
# Dépôt des fichiers sources
# Préparer le logiciel

Dépôt source: déposer.zip/.tar.gz

L'auteur ajoute les fichiers suivants :

- README

- AUTHORS

- LICENCE (à choisir avec les
titulaires des droits patrimoniaux du
dit logiciel - **liste de référence**)

<figure><img src="image_76.png" /></figure>

dossier - 472 Ko

Créer une archive compressée .zip
ou .tar.gz

Nommer de préférence avec le nom du
logiciel et sa version

talon

test

talon

<figure><img src="image_77.png" /></figure>

setup.py

script

<figure><img src="image_78.png" /></figure>

environment.yml

doc

<figure><img src="image_79.png" /></figure>

README.md

<figure><img src="image_80.png" /></figure>

LICENSE

<figure><img src="image_81.png" /></figure>

CHANGELOG.rst

<figure><img src="image_82.png" /></figure>

AUTHORS.md

<figure><img src="image_83.png" /></figure>

<figure><img src="image_84.png" /></figure>

ZIP

talon-source.zip

Archive dans un fichier ZIP - 247 Ko
# Fichier README

## ★ Obligatoire:

* Nom du logiciel / projet

* Description du projet

## ★ Recommandé:

* Site du projet

* lien vers la documentation

* Contact & support

* Liste des fonctionnalités

* Environnement de développement

* build, installation, requirements

* comment exécuter le code

## ★ Possible:

* Usage - comment utiliser le code

* Nouvelles récentes du projet

* Visuels du logiciel

Références: Software Release Practice HOWTO by Eric Steven Raymond and Make a README

This is Python version 3.8.0 alpha 0

==================================================

```
.. image:: https://travis-ci.org/python/cpython.svg?branch=master
:alt: CPython build status on Travis CI
:target: https://travis-ci.org/python/cpython
```

```
.. image:: https://ci.appveyor.com/api/projects/status/4mew1a93xdkbf5ua/branch/master?svg=true
:alt: CPython build status on Appveyor
:target: https://ci.appveyor.com/project/python/cpython/branch/master
```

```
.. image:: https://dev.azure.com/python/cpython/_apis/build/status/Azure%20Pipelines%20CI?branchName=master
:alt: CPython build status on Azure DevOpss
:target: https://dev.azure.com/python/cpython/_build/latest?definitionId=4&branchName=master
```

```
.. image:: https://codecov.io/gh/python/cpython/branch/master/graph/badge.svg
:alt: CPython code coverage on Codecov
:target: https://codecov.io/gh/python/cpython
```

```
.. image:: https://img.shields.io/badge/zulip-joinchat-brightgreen.svg
:alt: Python Zulip chat
:target: https://python.zulipchat.com
```

Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Python Software Foundation. All rights reserved.

See the end of this file for further copyright and license information.

```
.. contents::
```

General Information

------------------

- Website: https://www.python.org

- Source code: https://github.com/python/cpython

- Issue tracker: https://bugs.python.org

- Documentation: https://docs.python.org

- Developer's Guide: https://devguide.python.org/

Contributing to CPython

------------------

For more complete instructions on contributing to CPython development, see the `Developer Guide`_.

```
.. _Developer Guide: https://devguide.python.org/
```

Using Python

------------

Installable Python kits, and information about using Python, are available at `python.org`_.
<figure><img src="image_85.png" /></figure>

# Fichier AUTHORS

★ Identifier les personnes qui méritent d'être créditée sur le code source et sur le dépôt

○ Les autres collaborateurs peuvent être signalés séparément dans une liste "contributors" sur le même fichier ou dans un fichier séparé

★ Noter tous les auteurs du logiciel dans votre code source

★ Les personnes qui sont notées dans HAL et sur le fichier AUTHORS, ont les droits de créateurs sur le code source

★ Vous pouvez utiliser un des noms suivants pour le fichier: AUTHORS, AUTHORS.md, AUTHOR.rst, CONTRIBUTORS, CREDITS, CITATION, CITATION.cff, etc.

<figure><img src="image_86.png" /></figure>

## AUTHORS

1. # Contributors

2. * Julien Chiquet, Maintainer

3. * Mahendra Mariadassou, Developer

4. * Stéphane Robin, Developer

5. * François Gindraud, Developer

6. * Julie Aubert, Contributor

7. * Bastien Batardière, Contributor

8. * Giovanni Poggiato, Contributor

9. * Cole Trapnell, Contributor

10. * Maddy Duran, Contributor
# Fichier LICENCE

★ Avant tout dépôt de code source, vous devez réfléchir à la licence que vous souhaitez pour votre code.

★ Consulter les personnes en charge dans votre établissement

★ Pour vous aider à choisir:

○ https://choosealicense.com/

○ https://reuse.software/

★ Noter la/les license/s utilisé/s dans le code source dans les métadonnées

○ La license est vérifiée par les modérateurs

○ Le déposant est responsable de la compatibilité entre licenses (entre le code déposé et ses dépendances)

<figure><img src="image_87.png" /></figure>
# Déposer les fichiers

- Depuis l'onglet "Déposer", sélectionnez l'archive compressée ou Glissez/Déposez

Il n'est pas possible d'ajouter plusieurs archives ou plusieurs fichiers distincts.

Le .zip doit contenir tous les fichiers et ne doit pas être décompressé avant la validation.

Le .zip ne doit pas contenir un autre .zip

<figure><img src="image_88.png" /></figure>
# Compléter les métadonnées

→ Choisir le type de document* :
Logiciel

Pour afficher la liste complète des métadonnées, cocher la case

SORBONNE
UNIVERSITE

BIBLIOTHÈQUE
UNIVERSITAIRE

Les métadonnées obligatoires sont indiqués par un *

→ Ajouter les métadonnées générales :

- Nom*

- Domaine*

- Description (Il est recommandé d'avoir une description cohérente avec le contenu du fichier README)

- Mots-clés

- Identifiants

- Données associées

- Publications associées

- Date de production/écriture

- Editeur

- Institution

<figure><img src="image_89.png" /></figure>
Ajouter les métadonnées
spécifiques

- Licences*

- Langage de programmation

- Code Repository

- Platform/OS

- Version

- Etat du développement

- Outils de développement

<figure><img src="image_90.png" /></figure>
# Compléter les données auteur(s)

- Ajouter un **auteur**

- Ajouter une **affiliation** (au moins un auteur doit être affilié)

- Il est possible d'ajouter plusieurs auteurs et de leur associer une **fonction** (développement, maintenance, design, architecture, débogage, documentation, test, support, management).

- Il est nécessaire de renseigner le/les auteurs qui sont mentionnés dans le fichier AUTHORS.

- Vous pouvez ajouter un fichier CONTRIBUTORS pour les personnes qui ne sont pas auteurs dans la notice.

<figure><img src="image_91.png" /></figure>
# Valider le dépôt dans HAL

→ Valider le transfert et contribuer au patrimoine logiciel constitué par Software Heritage

→ Accepter les conditions

→ Cliquer sur Déposer

<figure><img src="image_92.png" /></figure>
# Partager logiciels et codes source

## Documentation :

- Guide de dépôt de logiciel sur HAL (version FR et version EN accessible sur la page)

https://hal.archives-ouvertes.fr/hal-01872189

- Guide d'utilisation de l'archive SWH pour sauvegarder et référencer des logiciels de recherche sur le site: https://www.softwareheritage.org/save-and-reference-research-software/

- Blog post sur l'utilisation de l'archive

https://www.softwareheritage.org/2018/09/22/browsing-the-software-heritage-archive-a-guided-tour/
6

RÉFÉRENCER SON TRAVAIL
# Partager logiciels et codes
source

<figure><img src="image_93.png" /></figure>

Software Heritage

## Référencer son travail

Une fois le code archivé, vous pouvez citer votre code :

* Citation du code : ajout du lien vers le dépôt complet sur Software Heritage

* Citation d'une version précise : ajout du lien de la version sur Software Heritage

* Citation d'une ou des lignes spécifiques dans une version precise : ajout du lien vers la ou les lignes de la version sur Software Heritage
# Citer le code et ses versions

<figure><img src="image_94.png" /></figure>

Software Heritage

<figure><img src="image_95.png" /></figure>

## Browse the archive

Enter a SWHID to resolve or keyword(s) to search

Features

<figure><img src="image_96.png" /></figure>

Search

<figure><img src="image_97.png" /></figure>

Downloads

<figure><img src="image_98.png" /></figure>

Save code now

<figure><img src="image_99.png" /></figure>

Help

<figure><img src="image_100.png" /></figure>

SORBONNE
UNIVERSITE

BIBLIOTHÈQUE
UNIVERSITAIRE

<figure><img src="image_101.png" /></figure>

https://pypi.org/project/pbxplore/

<figure><img src="image_102.png" /></figure>

<figure><img src="image_103.png" /></figure>

26 February 2020, 15:38 UTC

<> Code

<figure><img src="image_104.png" /></figure>

Branches (11)

<figure><img src="image_105.png" /></figure>

Releases (0)

<figure><img src="image_106.png" /></figure>

Visits

<figure><img src="image_107.png" /></figure>

Branch: HEAD

<figure><img src="image_108.png" /></figure>

4f036f0 / pbxplore-1.3.8 /

<figure><img src="image_109.png" /></figure>

History

<figure><img src="image_110.png" /></figure>

Download

<figure><img src="image_111.png" /></figure>

Tip revision: dca0c6a4bfce8871e5c82428914c18b58ccf0bd3 authored by Pierre Poulain on 17 October 2017, 22:22 UTC
1.3.8

<table><thead><tr><th>File</th><th>Mode</th><th>Size</th></tr></thead><tbody><tr><td>doc</td><td></td><td></td></tr><tr><td>pbxplore</td><td></td><td></td></tr><tr><td>pbxplore.egg-info</td><td></td><td></td></tr><tr><td>CHANGELOG</td><td>-rW-r--r--</td><td>2.2 KB</td></tr><tr><td>LICENSE</td><td>-rW-r--r--</td><td>1.1 KB</td></tr><tr><td>MANIFEST.in</td><td>-rW-r--r--</td><td>155 bytes</td></tr><tr><td>PKG-INFO</td><td>-rW-r--r--</td><td>4.8 KB</td></tr><tr><td>README.rst</td><td>-rW-r--r--</td><td>3.2 KB</td></tr><tr><td>setup.cfg</td><td>-rW-r--r--</td><td>148 bytes</td></tr><tr><td>setup.py</td><td>-rW-r--r--</td><td>2.1 KB</td></tr></tbody></table>

README.rst

PBxplore

Python 2.7 3.4 3.5 3.6 pypi package 1.4.0 build passing docs passing

PBxplore is a suite of tools dedicated to Protein Block (PB) analysis. Protein Blocks are structural prototypes defined by de Brevern et al. The 3-dimensional local structure of a protein backbone can be modelized as an 1-dimensional sequence of PBs. In principle, any conformation of any amino acid could be represented by one of the sixteen available
# Citer les logiciels

Extension pour BibLaTeX pour citer du code et des logiciels :

http://ctan.mines-albi.fr/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.pdf

## Exemples :

R. Di Cosmo, M. Danelutto, X. Leroy, and S. Pelagatti, The OCamlP3I library version 1.0, 1998.
LIC: GPL. SWHID:

<swh:1:rev:2db189928c94d62a3b4757b3eec68f0a4d4113f0;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git/>.

[Software] R. Di Cosmo and M. Danelutto, The Parmap library version 1.1.1, 2020. Inria, University of Paris, and University of Pisa. vcs: https://github.com/rdicosmo/parmap

## Plus d'informations :

https://www.softwareheritage.org/2020/05/26/citing-software-with-style/?lang=fr
# D'autres possibilités de partage

* Imports de dépôts et attribution automatique de DOI à chaque nouvelle version.

**Zenodo et Github :**
https://guides.github.com/activities/citable-code/

**Zenodo et Binder :**
https://blog.jupyter.org/binder-with-zenodo-af68ed6648a6

* Attention, ces solutions ne remplacent pas un archivage pérenne sur Software Heritage

<figure><img src="image_112.png" /></figure>

<figure><img src="image_113.png" /></figure>

<figure><img src="image_114.png" /></figure>

<figure><img src="image_115.png" /></figure>

<figure><img src="image_116.png" /></figure>
7
OUTILS
# Un plugin pour sauvegarder du code

## UpdateSWH: check and update archival of a repository

<figure><img src="image_117.png" /></figure>

<figure><img src="image_118.png" /></figure>

This tab shows
the archival status
of the repository

**Green** up to date

**Yellow** not up to date

**Grey:** not archived yet

**Red:** not archivable (private)
# Sauvegarder une forge

<figure><img src="image_119.png" /></figure>

Archive

Software Heritage

<figure><img src="image_120.png" /></figure>

## Request the addition of a forge into the archive

Enter a SWHID to resolve or keyword(s) to search for in origin URLs

<figure><img src="image_121.png" /></figure>

### Features

<figure><img src="image_122.png" /></figure>

Search

<figure><img src="image_123.png" /></figure>

Downloads

<figure><img src="image_124.png" /></figure>

Save code now

<figure><img src="image_125.png" /></figure>

Add forge now

<figure><img src="image_126.png" /></figure>

Help

### Administration

"Add forge now" provides a service for Software Heritage users to save a complete forge in the Software Heritage archive by requesting the addition of the forge URL into the list of regularly visited forges.

Submit a Request

Browse Requests

Help

Forge type *

bitbucket

Forge URL *

Supported forge types in software archive.

Remote URL of the forge.

Forge contact name *

Name of the forge administrator.

Forge contact email *

Email of the forge administrator. The given email address will not be used for any purpose outside the "add forge now" process.

I consent to add my username in the communication with the forge.

Comment

Optionally, leave a comment to the moderator regarding your request.
8

S'INVESTIR
# Rejoindre la communauté
Software Heritage

<figure><img src="image_127.png" /></figure>

Twitter/X: @SWHeritage

<figure><img src="image_128.png" /></figure>

Mastodon :
https://mstdn.social/@swheritage

Linkedin:
http://www.linkedin.com/company/swheritage

Youtube:
https://www.youtube.com/channel/UCe26PIE3YKTXYvEY9HWdIIQ

Contact:
info@softwareheritage.org

<figure><img src="image_129.png" /></figure>

Rejoindre la communauté

## Ressources

### Forge

Notre travail de développement logiciel concerne les référentiels Git, les logiciels de suivi des problèmes et des bugs, les révisions du code, etc.

Plongez dans l'univers du code

### Canal IRC

Notre équipe de développement se trouve sur le canal IRC #swh-devel sur FreeNode.

Discuter avec nous

### Liste de diffusion

Les discussions techniques sur Software Heritage ont lieu sur la liste de diffusion publique swh-devel.

S'abonner, lire les archives

### Wiki

C'est le lieu où nous collectons des informations publiques, organisées par la communauté sur Software Heritage et son développement.

Lire, contribuer
# Software Source Code IG RDA

<figure><img src="image_130.png" /></figure>

SORBONNE
UNIVERSITÉ

BIBLIOTHÈQUE
UNIVERSITAIRE

https://www.rd-alliance.org/groups/software-source-code-ig

<figure><img src="image_131.png" /></figure>

**Status:** Recognised & Endorsed

**Chair (s):** Roberto Di Cosmo, Neil Chue Hong, Julia Collins

**Secretariat Liaison:** enquiries[at]rd-alliance.org

**TAB Liaison:** Gretchen Greene

Software source code plays a critical role in all fields of modern research, where source code is written and developed to address a variety of needs, like cleaning, processing and visualising data.

Software source code is a necessary component for research reproducibility and reusability.

Thus software source code should be properly curated in the same way as other research inputs and outputs such as research data and paper publication. Software source code developers and organisations that sponsor software development should also be properly credited and attributed.

This interest group will provide a forum to discuss issues on management, sharing, discovery, archival and provenance of software source code. It will pay special attention to source code that generates research data and plays an important role in scientific publications.
<figure><img src="image_132.png" /></figure>

Merci !

Un grand merci à Morane Gruenpeter,
de Software Heritage !

Sources des slides utilisées :

- Morane Gruenpeter, Jozefina Sadowska. Create software deposit: User guide and best practices.
[Technical Report] Inria; CCSD; Software Heritage. 2018. [hal-01872189]

<figure><img src="image_133.png" /></figure>
BIBLIOTHÈQUE DE SORBONNE UNIVERSITÉ

Cellule Données de la recherche & Humanités numériques : [data-bsu@sorbonne-universite.fr](mailto:data-bsu@sorbonne-universite.fr)

Service des Archives et du Recueil des Actes : [sara-archives@sorbonne-universite.fr](mailto:sara-archives@sorbonne-universite.fr)

SOFTWARE HERITAGE

Contact : [info@softwareheritage.org](mailto:info@softwareheritage.org)

<figure><img src="image_134.png" /></figure>

SORBONNE
UNIVERSITÉ

<figure><img src="image_135.png" /></figure>

Sauf logos et mention contraire, cette présentation est mise à disposition selon les termes de la Licence Creative Commons Attribution 4.0 International.