+ - 0:00:00
Notes for current slide
Notes for next slide

Système de revue de paquets R de rOpenSci

Maëlle Salmon

2020/01/29

1 / 45

Mes objectifs

2 / 45

Mes objectifs

  • Présenter le système de revue de logiciel de rOpenSci.
2 / 45

Mes objectifs

  • Présenter le système de revue de logiciel de rOpenSci.

  • Parler de ses aspects pertinents pour toute revue de logiciel et code.

2 / 45

Mes objectifs

  • Présenter le système de revue de logiciel de rOpenSci.

  • Parler de ses aspects pertinents pour toute revue de logiciel et code.

Mon expérience est dans .

🔗 Diapos disponibles https://tiny.cc/insee-maelle

2 / 45

Présentations 👋

3 / 45

Ma formation

  • ENS Paris

    • Licence Biologie,
    • Master Écologie.
  • Mastère spécialisé de santé publique, Pasteur-CNAM.

  • Thèse de statistique, LMU Munich.

🤓

4 / 45

Mes missions autour de R

  • rOpenSci

  • Locke Data

  • R-hub

5 / 45

Bénevolat autour de R

  • Gérante du compte Twitter de R-Ladies Global

  • Membre de l'équipe de R Weekly (et blogueuse R 😁)

  • Éditrice pour le système de revue de paquets de rOpenSci

6 / 45

Qu'est-ce que rOpenSci?

  • Communautés de chercheur·se·s et de développeur·se·s de logiciels

  • Paquets R pour la science ouverte et reproductible

  • Contributions par le personnel et la communauté

7 / 45

https://ropensci.org/packages/

8 / 45

Des paquets pour la science

Extraction de données du web ou de formats exotiques, par exemple données sémantiques (RDF, JSON-LD), analyse de texte, etc.

  • Encourager le scriptage plutôt que le clic,

  • Réduire la duplication des efforts,

  • Libérer du temps et de l'énergie pour la science elle-même.

9 / 45

Des paquets de qualité

La qualité d'un logiciel, c'est important !

  • Comment je juge des paquets ?

  • Comment assurer la qualité des paquets de rOpenSci ?

10 / 45

Mes critères de jugement de paquets 🔍

11 / 45

Mes critères

  • Développement actif ?

  • Tests ?

  • Documentation ?

  • Popularité ? (Téléchargements, reverse dependencies)

  • Personne ou organisation de confiance ?

12 / 45

Mes critères

  • Développement actif ?

  • Tests ?

  • Documentation ?

  • Popularité ?

  • Personne ou organisation de confiance ? 😉

13 / 45

Revues de paquets R de rOpenSci 🔍

15 / 45

Revues de paquets R de rOpenSci

"Software peer review"

16 / 45

Revues de paquets R de rOpenSci

"Software peer review"

  • Stimule l'adoption des meilleurs pratiques et standards.
16 / 45

Revues de paquets R de rOpenSci

"Software peer review"

  • Stimule l'adoption des meilleurs pratiques et standards.

  • Construit une communauté de pratique.

16 / 45

Revues de paquets R de rOpenSci

"Software peer review"

  • Stimule l'adoption des meilleurs pratiques et standards.

  • Construit une communauté de pratique.

  • Partenariats avec le Journal of Open Source Software et Methods in Ecology and Evolution

16 / 45

Passer quoi en revue ?

17 / 45

Passer quoi en revue ?

Jeff Leek https://github.com/jtleek/rpackages

17 / 45

Critères de revue

  • Licence compatible avec l'open-source initiative (OSI)

  • Documentation complète

  • Haut taux de couverture de test

  • Code lisible

  • Utilisabilité

18 / 45

Critères de revue

  • Licence compatible avec l'open-source initiative (OSI)

  • Documentation complète

  • Haut taux de couverture de test

  • Code lisible

  • Utilisabilité

18 / 45

Critères de revue

  • Licence compatible avec l'open-source initiative (OSI)

  • Documentation complète

  • Haut taux de couverture de test

  • Code lisible

  • Utilisabilité

Tout un livre ! https://devguide.ropensci.org/

18 / 45

Comment faire la revue ?

  • Ouverte & non-accusatoire
19 / 45

Comment faire la revue ?

  • Ouverte & non-accusatoire

  • Pas de rejet

19 / 45

Comment faire la revue ?

  • Ouverte & non-accusatoire

  • Pas de rejet

  • Un processus constructif pour tous les acteurs

19 / 45

Comment faire la revue ?

  • Ouverte & non-accusatoire

  • Pas de rejet

  • Un processus constructif pour tous les acteurs

  • En pratique, utilisation de l'infrastructure de GitHub

19 / 45

Dépôt GitHub

20 / 45

Onglet de suivi des "problèmes"

21 / 45

Soumettre un paquet

22 / 45

Soumettre un paquet

23 / 45

Soumettre un paquet

Questions à la soumission
## Scope
- Please indicate which category or categories from our [package fit policies](https://ropensci.github.io/dev_guide/policies.html#package-categories) this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
- [ ] data retrieval
- [ ] data extraction
- [ ] database access
- [ ] data munging
- [ ] data deposition
- [ ] workflow automataion
- [ ] version control
- [ ] citation management and bibliometrics
- [ ] scientific software wrappers
- [ ] database software bindings
- [ ] geospatial data
- [ ] text analysis

24 / 45

Pas de rejets mais...

Paquets hors du domaine visé non accueillis. https://ropensci.github.io/dev_guide/policies.html

25 / 45

Pas de rejets mais...

Paquets hors du domaine visé non accueillis. https://ropensci.github.io/dev_guide/policies.html

  • nos catégories: accès à des données, extraction de données, accès à des formats de base de données, manipulation de données, dépôts de données, reproducibilité, données géospatiales, analyse de texte.
25 / 45

Pas de rejets mais...

Paquets hors du domaine visé non accueillis. https://ropensci.github.io/dev_guide/policies.html

  • nos catégories: accès à des données, extraction de données, accès à des formats de base de données, manipulation de données, dépôts de données, reproducibilité, données géospatiales, analyse de texte.

  • application scientifique

25 / 45

Pas de rejets mais...

Paquets hors du domaine visé non accueillis. https://ropensci.github.io/dev_guide/policies.html

  • nos catégories: accès à des données, extraction de données, accès à des formats de base de données, manipulation de données, dépôts de données, reproducibilité, données géospatiales, analyse de texte.

  • application scientifique

  • meilleur que les paquets similaires

25 / 45

Pas de rejets mais...

Paquets hors du domaine visé non accueillis. https://ropensci.github.io/dev_guide/policies.html

  • nos catégories: accès à des données, extraction de données, accès à des formats de base de données, manipulation de données, dépôts de données, reproducibilité, données géospatiales, analyse de texte.

  • application scientifique

  • meilleur que les paquets similaires

En cas de doute, demande de pré-soumission !

25 / 45

Le procédé de révision

26 / 45

Vérifications par l'éditeur·rice

27 / 45

Le procédé de revue

Deux réviseur·se·s.

Discussion continue jusqu'au transfert du paquet.

badges de README orange et ensuite vert montrant la revue

28 / 45

Le procédé de revue

Deux réviseur·se·s.

Discussion continue jusqu'au transfert du paquet.

badges de README orange et ensuite vert montrant la revue

Souvent, un article de blog https://ropensci.org/tags/software-peer-review/

28 / 45

Et plus encore ? Projet en cours

  • Orientation supplémentaire : revue d'implémentations de méthodes statistiques

  • Meilleure formation, meilleure documentation, nouveaux outils pour l'adoption de notre système

Plus d'infos:

29 / 45

Related efforts

R Validation Hub cross-industry initiative whose mission is to enable the use of R by the Bio-Pharmaceutical Industry in a regulatory setting, where the output may be used in submissions to regulatory agencies.

https://www.pharmar.org/

30 / 45

Revue de code d'analyse 🔍

31 / 45

Revoir le code de qui ?

Vérifier les paquets c'est bien, mais que fait-on avec les paquets ?

32 / 45

Bénéfices des revues de code

  • Découverte d'erreur

  • Amélioration (lisibilité, performance)

  • Apprentissage de trucs et astuces

  • Meilleure conscience, meilleur sommeil

33 / 45

Code de tout travail d'analyse ?

Inspiration: rOpenSci Community Call, Code Review in the Lab, or ... How do you review code that accompanies a research project or paper?

Vidéo 🎥 et ressources 🗒: https://ropensci.org/commcalls/2018-10-16/

34 / 45

Élargir le système de rOpenSci ?

  • Standards de code

  • Liste de critères de revue

  • Automatisation

  • Culture, communauté

35 / 45

Standards de code

Notamment la structure de projet: rOpenSci révise des paquets R.

Pour tout projet avec du code R,

En tout cas, conventions dans l'équipe.

36 / 45

Liste de critères de revue

Que doit regarder le·a collègue qui lit le code ?

Priorité à quoi ?

37 / 45

Automatisation

Libérer du temps et de l'énergie pour ce qui compte : l'analyse, et la créativité !

Automatiser la revue ?

  • Automatisation via la structure de paquet (R CMD check, goodpractice)

  • pkgreviewr par l'éditrice de rOpenSci Anna Krystalli

38 / 45

Automatisation

Libérer du temps et de l'énergie pour ce qui compte : la science, et la créativité !

39 / 45

Automatisation

Libérer du temps et de l'énergie pour ce qui compte : la science, et la créativité !

Automatiser la création de projet ?

39 / 45

Culture, communauté

40 / 45

Culture, communauté

  • Donner de la valeur à la revue de code (temps non perdu).
    • Et dans une équipe, qui fait le travail de création des outils ? Quel poste pour cela, quelle reconnaissance ?
40 / 45

Culture, communauté

  • Donner de la valeur à la revue de code (temps non perdu).

    • Et dans une équipe, qui fait le travail de création des outils ? Quel poste pour cela, quelle reconnaissance ?
  • Confiance pour ouvrir son code, et faire des remarques. blameless post-mortem. Hilary Parker's "Opiniated Analysis Development", also.

40 / 45

Culture, communauté

  • Donner de la valeur à la revue de code (temps non perdu).

    • Et dans une équipe, qui fait le travail de création des outils ? Quel poste pour cela, quelle reconnaissance ?
  • Confiance pour ouvrir son code, et faire des remarques. blameless post-mortem. Hilary Parker's "Opiniated Analysis Development", also.

  • Besoin de formation. URFIST, The Carpentries.

40 / 45

Pour finir 💼

41 / 45

Conclusion : super système de revue 😉

42 / 45

Conclusion : super système de revue 😉

  • Travail en cours pour l'élargir aux paquets de statistique + le rendre plus portatif.
42 / 45

Conclusion : super système de revue 😉

  • Travail en cours pour l'élargir aux paquets de statistique + le rendre plus portatif.
  • Aspects importants de notre système (selon moi 👼)

    • Standards de code

    • Liste de critères de revue

    • Automatisation

    • Culture, communauté

42 / 45

Approfondir

43 / 45

Meta

  • Diapos réalisées avec xaringan

  • Captures d'écran avec webshot2 et magick ropensci/magick

  • Emojis ajouté via emo

  • Icônes ajoutées via icon ropenscilabs/icon

44 / 45

Merci !

https://tiny.cc/insee-maelle

ma_salmon maelle masalmon.eu

rOpenSci ropensci ropensci.org

via GIPHY

45 / 45

Mes objectifs

2 / 45
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow