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

HAL
open science

# L'ouverture des codes source et logiciels: état des lieux et enjeux

Camille Maumet

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

## To cite this version:

Camille Maumet. L'ouverture des codes source et logiciels: état des lieux et enjeux. ARDOISE 2024 - Journée du réseau de l'atelier rennais de la donnée, Jun 2024, Rennes, France. pp.1-32, 2024. hal-04632167

HAL Id: hal-04632167

https://inria.hal.science/hal-04632167v1

Submitted on 3 Jul 2024

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published 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_3.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_4.png" /></figure>

# Ouverture des codes source et logiciels
## état des lieux et enjeux

Camille Maumet

Inria, Univ Rennes, Inserm, CNRS, IRISA
# Une étude en sciences expérimentales

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

Acquisition

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

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

Pré-traitements

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

Mesures dérivées

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

Statistiques

<figure><img src="image_10.png" /></figure>
# Une étude en sciences expérimentales

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

Acquisition

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

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

Pré-traitements

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

Mesures dérivées

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

Statistiques

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

<figure><img src="image_17.png" /></figure>
# Une étude en sciences expérimentales

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

Acquisition

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

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

Pré-traitements

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

Mesures dérivées

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

Statistiques

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

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

<figure><img src="image_25.png" /></figure>
# Une étude en sciences expérimentales

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

Acquisition

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

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

Pré-traitements

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

Mesures dérivées

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

Statistiques

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

<figure><img src="image_32.png" /></figure>
# Une étude en sciences expérimentales

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

Acquisition

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

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

Pré-traitements

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

Mesures dérivées

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

Statistiques

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

<figure><img src="image_39.png" /></figure>
# Une étude en sciences expérimentales

situation

itements

rivées

ques

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

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

<figure><img src="image_42.png" /></figure>
Une étude en sciences expérimentales

<figure><img src="image_43.png" /></figure>
Une étude en sciences expérimentales

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

<figure><img src="image_45.png" /></figure>
# Une étude en sciences expérimentales

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

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

Quelle version du
logiciel SPM ?

Quel algorithme
de recalage ?

Comment le
masque du cerveau
a-t-il été calculé ?
# Une étude en sciences expérimentales

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

Hum... Je n'arrive pas à reproduire les résultats originaux...

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

Est-ce que j'ai bien compris la méthode utilisée

Quelle version du logiciel SPM ?

Quel algorithme de recalage ?

Comment le masque du cerveau a-t-il été calculé ?

... est-ce parce que j'ai utilisé un jeu de données différents

... ou une plate-forme de calcul différente

... un autre aspect de l'analyse qui diffère
# Une étude en sciences expérimentales

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

Hum... Je n'arrive à reproduire les résultats originaux...

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

d'une plate-forme de calcul différente

... un autre aspect de l'analyse qui diffère

est-ce parce que ai utilisé un jeu de données différents

Comment le masque du cerveau a-t-il été calculé ?

Quelle version du logiciel SPM ?

Quel algorithme de recalage ?
# Vers une science reproductible

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

Acquisition

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

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

Pré-traitements

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

Mesures dérivées

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

Statistiques

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

<figure><img src="image_58.png" /></figure>
# Vers une science reproductible

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

Acquisition

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

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

Pré-traitements

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

Mesures dérivées

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

Statistiques

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

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

**Publications ouvertes**
(pré-publications, modèle diamant, etc.)

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

<figure><img src="image_67.png" /></figure>
# Vers une science reproductible

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

Acquisition

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

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

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

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

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

**Données ouvertes**
(Principes FAIR)

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

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

OpenNEURO

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

LORIS

Donders Repository

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

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

SHANOIR

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

Pré-traitements

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

Mesures dérivées

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

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

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

Statistiques

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

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

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

**Publications ouvertes**
(pré-publications, modèle diamant, etc.)

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

<figure><img src="image_88.png" /></figure>
# Vers une science reproductible

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

Acquisition

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

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

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

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

Pré-traitements

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

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

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

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

Statistiques

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

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

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

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

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

OpenNEURO

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

LORIS

**Données ouvertes**
(Principes FAIR)

Donders Repository

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

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

SHANOIR

CODE

Codes ouverts ?

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

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

**Publications ouvertes**
(pré-publications, modèle diamant, etc.)

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

<figure><img src="image_109.png" /></figure>
# Vers une science reproductible

## Reproductibilité computationnelle

Possibilité de reproduire des **résultats strictement identiques** en utilisant les **même données et le même code**.

## Replicabilité

Possibilité de reproduire les **mêmes conclusions scientifiques** en utilisant des **données similaires** et une **méthode similaire**.
# Vers une science reproductible

## Reproductibilité computationnelle

Possibilité de reproduire des **résultats strictement identiques** en utilisant les **même données et le même code**.

## Replicabilité

Possibilité de reproduire les **mêmes conclusions scientifiques** en utilisant des **données similaires** et une **méthode similaire**.
# Codes sources ouverts

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

Open source
Transparence

* Avec une licence open source, accessible publiquement et citable.

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

Ouvrir
la science !

<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>

https://www.ouvrirlascience.fr/science-ouverte-codes-et-logiciels/

http://doc.hal.science/deposer/depo-ser-le-code-source/
# Codes sources ouverts

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

## Archivé

### Perennité

* **Archivé** pour la **préservation à long terme** (e.g. Software Heritage, Zenodo)

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

Software Heritage

zenodo

https://zenodo.org/

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

We are building the universal software archive

https://www.softwareheritage.org/
# Codes sources ouverts

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

## Bonnes pratiques logicielles
Reutilisabilité

```
|
| CITATION
| README
| LICENSE
| requirements.txt
| data
|   -- birds_count_table.csv
|   -- doc
|   -- notebook.md
|   -- manuscript.md
|   -- changelog.txt
| results
|   -- summarized_results.csv
| src
|   -- sightings_analysis.py
|   -- runall.py
```

[Wilson et. al,
PlosCompBio 2017]

* **En suivant les bonnes pratiques logicielles**

* **Organisation:** README, hiérarchie de fichiers pour organiser le code

* **Versionnement:** forge logicielle pour versionner le code.

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

2023

Ouvrir
la science !

Par le [Comité Science](#)
[Ouverte](#) (COSO)
<figure><img src="image_121.png" /></figure>

# Codes sources ouverts

**Open source**
*Transparence*

* Avec une **licence open source** et **mis à disposition** (dépôt HAL).

**Archivé**
*Perennité*

* **Archivé** pour la **préservation à long terme** (Software Heritage, Zenodo)

**Bonnes pratiques logicielles**
*Reutilisabilité*

* **Suit les bonnes pratiques logicielles**

* **Organisation**: README, hiérarchie de fichiers pour organiser le code

* **Versionnement**: forge logicielle pour versionner le code.
# Problèmes ouverts

Au-delà du code source, les **environnements** logiciels ont aussi un impact

→ *docker, Guix, Nix*

**La reproductibilité** computationnelle **à long terme (10 ans)** est encore une question ouverte.

Perkel, Jeffrey M. "Challenge to scientists: does your ten-year-old code still run?." *Nature* 584.7822 (2020): 656-659.
# Vers une science reproductible

## Reproductibilité computationnelle

Possibilité de reproduire des **résultats strictement identiques** en utilisant les **même données et le même code**.

## Replicabilité

Possibilité de reproduire les **mêmes conclusions scientifiques** en utilisant des **données similaires** et une **méthode similaire**.
# Vers une science reproductible

## Reproductibilité computationnelle

Possibilité de reproduire des **résultats strictement identiques** en utilisant les **même données et le même code**.

## Replicabilité

Possibilité de reproduire les **mêmes conclusions scientifiques** en utilisant des **données similaires** et une **méthode similaire**.

## Ré-utilisabilité

Possibilité de réutiliser certains **artefacts produit par une étude de recherche** à de nouvelles fins.
# Vers des logiciels ouverts

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

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

## Open source

* Choisir une licence **open source**

* Rendre le code **disponible au téléchargement**

* Utiliser une **archive** pour la préservation à long terme.
# Vers des logiciels ouverts

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

Qui peut
**accéder et
utiliser** le
logiciel?

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

## Open source

* Choisir une licence **open source**

* Rendre le code **disponible au téléchargement**

* Utiliser une **archive** pour la préservation à long terme.
# Vers des logiciels ouverts

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

Qui peut
**accéder et
utiliser** le
logiciel?

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

## Open source

* Choisir une licence **open source**

* Rendre le code **disponible au téléchargement**

* Utiliser une **archive** pour la préservation à long terme.

Qui peut
**contribuer** ?

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

## Développement ouvert

* Accepter des **contributions extérieures** (e.g. Github PR)

* Être transparent au sujet des choix de **développement** (e.g. issues, project board)
# Vers des logiciels ouverts

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

Qui peut
**accéder et
utiliser** le
logiciel?

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

## Open source

* Choisir une licence **open source**

* Rendre le code **disponible au téléchargement**

* Utiliser une **archive** pour la préservation à long terme.

Qui peut
**contribuer** ?

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

## Développement ouvert

* Accepter des **contributions extérieures** (e.g. Github PR)

* Être transparent au sujet des choix de **développement** (e.g. issues, project board)

Qui peut
**décider** des
directions
futures ?

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

## Gouvernance ouverte

* Transparence sur le **processus décisionnel**.

* Possibilité de **rejoindre la direction du projet**.
# Vers une science plus **collaborative**

Au-delà des solutions techniques, la science ouverte apporte un changement de paradigme

* Mettre des ressources à la disposition de la communauté scientifique

* Réutiliser des ressources existantes (codes, jeux de données, etc.) créées par d'autres.

vers une recherche plus collaborative

<figure><img src="image_133.png" /></figure>
# Vers une science plus **collaborative**

Au-delà des solutions techniques, la science ouverte apporte un changement de paradigme

* Mettre des ressources à la disposition de la communauté scientifique

* Réutiliser des ressources existantes (codes, jeux de données, etc.) créées par d'autres.

vers une recherche plus collaborative

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

## Prix science ouverte du logiciel libre de la recherche

https://www.ouvrirlascience.fr/les-candidatures-pour-le-prix-science-ouverte-du-logiciel-libre-de-la-recherche-2024-sont-ouvertes/

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

Image credits: Community by Vkw.studiogood, Commons Wikimedia
# L'ouverture des codes source et logiciels : état des lieux et enjeux

Merci

Camille Maumet

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

Credit: Presentation template and icons by SlidesCarnival, adapted

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

@cmaumet.bsky.social

@cmaumet@fediscience.org

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

@cmaumet