class: center, middle, inverse, title-slide #
Notre système de revue en revue!
Présenter & analyser rOpenSci onboarding ## Maëlle Salmon, éditrice pour rOpensci onboarding
ma_salmon
maelle
masalmon.eu ### 2018/06/23 --- # Ma place dans la communauté R <img src="slides_files/figure-html/unnamed-chunk-2-1.png" width="300" style="display: block; margin: auto;" /> * Travail pour rOpenSci et Locke Data * _R-Ladies Global social master_ * Membre de l'équipe de R Weekly * Éditrice bénévole pour rOpenSci --- # Qu'est-ce rOpenSci ? -- .font150[ * 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é] --- # Les paquets de rOpenSci https://ropensci.org/packages/ -- <img src="slides_files/figure-html/unnamed-chunk-3-1.png" width="1100" style="display: block; margin: auto;" /> --- # Les paquets de rOpenSci https://ropensci.org/packages/ <img src="slides_files/figure-html/unnamed-chunk-4-1.png" width="1100" style="display: block; margin: auto;" /> --- # Les paquets de rOpenSci https://ropensci.org/packages/ <img src="slides_files/figure-html/unnamed-chunk-5-1.png" width="1100" style="display: block; margin: auto;" /> --- # rOpenSci onboarding ! .font150[Comment assurer la qualité de tous les paquets ?] -- .font150[Revues de logiciels ouvertes. _Onboarding_ = accueil et intégration.] -- * .font150[Stimule l'adoption des meilleurs pratiques et standards.] -- * .font150[Construit une communauté de pratique.] -- * .font150[Partenariats avec le _Journal of Open Source Software_ et _Methods in Ecology and Evolution_] --- # Passer quoi en revue ? -- .font150[Jeff Leek https://github.com/jtleek/rpackages] <img src="slides_files/figure-html/unnamed-chunk-6-1.png" width="1152" style="display: block; margin: auto;" /> --- # Critères de revue .font150[ * Licence compatible avec l'_open-source initiative (OSI)_ * Documentation complète * Haut taux de couverture de test * Code lisible * Utilisabilité] -- .font150[https://ropensci.github.io/dev_guide/building.html] -- .font150[Tout un livre ! https://ropensci.github.io/dev_guide] --- # Comment faire la revue ? * .font150[Ouverte & non-accusatoire] -- * .font150[Pas de rejet] -- * .font150[Un processus constructif pour tous les acteurs] -- * .font150[En pratique, utilisation de l'infrastructure de GitHub] --- # rOpenSci onboarding <img src="slides_files/figure-html/unnamed-chunk-8-1.png" width="1353" style="display: block; margin: auto;" /> --- # Onglet de suivi des "problèmes" <img src="slides_files/figure-html/unnamed-chunk-9-1.png" width="1353" style="display: block; margin: auto;" /> --- # Soumettre un paquet <img src="slides_files/figure-html/unnamed-chunk-10-1.png" width="1336" style="display: block; margin: auto;" /> --- # Soumettre un paquet <img src="slides_files/figure-html/unnamed-chunk-11-1.png" width="1353" style="display: block; margin: auto;" /> --- # Soumettre un paquet <img src="slides_files/figure-html/unnamed-chunk-12-1.png" width="1353" style="display: block; margin: auto;" /> --- # Pas de rejets mais... .font150[Paquets hors du domaine visé non accueillis.] .font150[https://ropensci.github.io/dev_guide/policies.html] -- * .font150[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éospatialies, analyse de texte.] -- * .font150[application _scientifique_] -- * .font150[meilleur que les paquets similaires] -- .font150[En cas de doute, demande de pré-soumission ! ] --- # Demande de pré-soumission ? <img src="slides_files/figure-html/unnamed-chunk-13-1.png" width="1353" style="display: block; margin: auto;" /> --- # Demande de pré-soumission ? <img src="slides_files/figure-html/unnamed-chunk-14-1.png" width="1353" style="display: block; margin: auto;" /> --- # Procédé de revue <img src="slides_files/figure-html/unnamed-chunk-15-1.png" width="100" style="display: block; margin: auto;" /> --- # Vérifications par l'éditeur·rice <img src="slides_files/figure-html/unnamed-chunk-16-1.png" width="350" style="display: block; margin: auto;" /> --- # Revues <img src="slides_files/figure-html/unnamed-chunk-19-1.png" width="100" style="display: block; margin: auto;" /> --- # Revues <img src="slides_files/figure-html/unnamed-chunk-20-1.png" width="100" style="display: block; margin: auto;" /> --- # Procédé de revue .font150[_Discussion_ jusqu'à acceptation et transfert du dépôt] -- .font150[Souvent un article de blogue https://ropensci.org/tags/review/] --- # Un portrait par les données ? .font150[Comment faire une _analyse de données_ de _rOpenSci onboarding_?] -- .font150[Rectanglons _onboarding_! _[Rectangler, mot inventé par Jenny Bryan](https://speakerdeck.com/jennybc/data-rectangling)_] _Image par Allie Brosh_ <img src="slides_files/figure-html/unnamed-chunk-21-1.png" width="400" style="display: block; margin: auto;" /> --- # Données dans le suivi des problèmes <img src="slides_files/figure-html/unnamed-chunk-22-1.png" width="1353" style="display: block; margin: auto;" /> --- # Tisser les fils de "problèmes" GitHub -- .font150[GitHub GraphQL API v4. Mieux que v3? Obtenez seulement les données voulues.] -- .font150[Mon expérience] -- * .font150[Explorateur en ligne de l'API] * .font150[`ghql` https://github.com/ropensci/ghql] * .font150[jq play pour écrire des commandes jq pour dompter le JSON] * .font150[`jqr` https://github.com/ropensci/jqr] --- # Résultat : fils de GitHub tissés .font150[Magie de GitHub V4 + un peu de domptage de données...] -- ``` ## # A tibble: 2,521 x 10 ## title created_at closed_at body user issue package ## <chr> <dttm> <dttm> <chr> <chr> <int> <chr> ## 1 rrli~ 2015-03-31 00:25:14 2015-04-13 23:26:38 "- 1~ rich~ 6 rrlite ## 2 rrli~ 2015-04-01 17:30:51 2015-04-13 23:26:38 "hey~ scko~ 6 rrlite ## 3 rrli~ 2015-04-01 17:36:03 2015-04-13 23:26:38 "@sc~ kart~ 6 rrlite ## 4 rrli~ 2015-04-02 03:36:09 2015-04-13 23:26:38 "Sur~ jero~ 6 rrlite ## 5 rrli~ 2015-04-02 03:50:43 2015-04-13 23:26:38 "IMO~ gabo~ 6 rrlite ## 6 rrli~ 2015-04-02 03:53:57 2015-04-13 23:26:38 "Ide~ rich~ 6 rrlite ## 7 rrli~ 2015-04-02 18:58:53 2015-04-13 23:26:38 "> H~ kart~ 6 rrlite ## 8 stpl~ 2015-04-08 23:56:17 2015-10-29 14:14:35 "- 1~ Robi~ 10 stplanr ## 9 rrli~ 2015-04-10 21:52:39 2015-04-13 23:26:38 "@ri~ stew~ 6 rrlite ## 10 rrli~ 2015-04-10 22:10:48 2015-04-13 23:26:38 "Tha~ rich~ 6 rrlite ## # ... with 2,511 more rows, and 3 more variables: is_review <lgl>, ## # commenter <chr>, role <chr> ``` --- # Résultat : fils de GitHub tissés ``` ## [1] 70 ``` <img src="slides_files/figure-html/unnamed-chunk-25-1.png" style="display: block; margin: auto;" /> --- # Données dans les dépôts accueillis -- <img src="slides_files/figure-html/unnamed-chunk-26-1.png" width="1336" style="display: block; margin: auto;" /> --- # Données dans les dépôts accueillis * .font150[Clone via `git2r` https://github.com/ropensci/git2r] -- * .font150[Remise à leur état avant la soumission grâce à `git2r`. `git reset hard`... Machine à remonter le temps !] -- * .font150[Obtension de l'historique des modifications via `gitsum`. https://github.com/lorenzwalthert/gitsum] -- * .font150[Comptage des lignes de code via `cloc`. https://github.com/hrbrmstr/cloc] -- * .font150[Comptage des fonctions et classes exportées par `devtools::parse_ns_file`] --- # Regardons les données * .font150[Le code est dispo dans https://ropensci.org/blog/2018/04/26/a-satrday-ct-series/] * .font150[Paquets utilisés pour les visualisations : `ggplot2`, `hrbrthemes`, `viridis`.] --- # Combien de travail pour ce système ? --- # Travail dans les dépôts <img src="slides_files/figure-html/unnamed-chunk-27-1.png" width="896" style="display: block; margin: auto;" /> --- # Âge à la soumission -- <img src="slides_files/figure-html/unnamed-chunk-28-1.png" width="896" style="display: block; margin: auto;" /> --- # Temps de revue <img src="slides_files/figure-html/unnamed-chunk-29-1.png" width="896" style="display: block; margin: auto;" /> --- # Quelle taille font les paquets ? .font150[Travail des auteurs Travails pour les réviseur·se·s] --- # Temps de revue vs. nombre d'exports <img src="slides_files/figure-html/unnamed-chunk-31-1.png" width="896" style="display: block; margin: auto;" /> --- # Notes sur la quantification du travail -- * .font150[Difficile de définir des mesures.] -- * .font150[Travail fait par des _volontaires_ !] -- * .font150[Diminution du temps par automatisation.] -- * .font150[Et les éditeur·rice·s alors ? Selon Tim Trice (traduit), _"anges gardiens du début à la fin du procédé d'accueil"_. Un paquet tous les un ou deux mois.] --- # Procédé de qualité... et sympa ? -- <img src="slides_files/figure-html/unnamed-chunk-32-1.png" width="689" style="display: block; margin: auto;" /> --- # Météo sociale de _rOpenSci onboarding_ .font150[Essai d'Ann Gentle dans http://open-advice.org/ Impressions, exemples... approche plus générale ?] -- .font150[Analyse de texte !] -- * .font150[`tidytext` et `sentimentr`] * .font150[https://www.tidytextmining.com/ de Julia Silge et David Robinson] --- # Mots les plus communs <img src="slides_files/figure-html/unnamed-chunk-33-1.png" width="896" style="display: block; margin: auto;" /> --- # Bigrammes les plus communs <img src="slides_files/figure-html/unnamed-chunk-34-1.png" width="896" style="display: block; margin: auto;" /> --- # Corrélations par paire <img src="slides_files/figure-html/unnamed-chunk-35-1.png" width="896" style="display: block; margin: auto;" /> --- # Sentiment -- <img src="slides_files/figure-html/unnamed-chunk-37-1.png" width="896" style="display: block; margin: auto;" /> --- # Mots des lignes négatives <img src="slides_files/figure-html/unnamed-chunk-38-1.png" width="896" style="display: block; margin: auto;" /> --- # Lignes les plus négatives ``` ## # A tibble: 15 x 2 ## line sentiment ## <chr> <dbl> ## 1 @ultinomics no more things, although do make sure to add mor~ -1.63 ## 2 not sure what you mean, but i'll use different object names ~ -1.20 ## 3 error in .local(.object, ...) : -1 ## 4 error: -1 ## 5 #### miscellaneous -1 ## 6 error: command failed (1) -0.866 ## 7 - get_plate_size_from_number_of_columns: maybe throwing an e~ -0.786 ## 8 "this code returns an error, which is good, but it would be ~ -0.744 ## 9 0 errors | 0 warnings | 0 notes -0.722 ## 10 once i get to use this package more, i'm sure i'll have more~ -0.721 ## 11 - i now realize i've pasted the spelling mistakes without th~ -0.707 ## 12 minor issues: -0.707 ## 13 ## minor issues -0.707 ## 14 replicates issue -0.707 ## 15 visualization issue -0.707 ``` --- # Lignes les plus positives ! ``` ## # A tibble: 15 x 2 ## line sentiment ## <chr> <dbl> ## 1 absolutely - it's really important to ensure it really has b~ 1.84 ## 2 overall, really easy to use and really nicely done. 1.73 ## 3 this package is a great and lightweight addition to working ~ 1.46 ## 4 i am very grateful for your approval and i very much look fo~ 1.26 ## 5 thank you very much for the constructive thoughts. 1.24 ## 6 thanks for the approval, all in all a very helpful and educa~ 1.22 ## 7 - really good use of helper functions 1.14 ## 8 - i believe the utf note is handled correctly and this is ju~ 1.13 ## 9 seem more unified and consistent. 1.13 ## 10 very much appreciated! 1.13 ## 11 - well organized, readable code 1.1 ## 12 - wow very extensive testing! well done, very thorough 1.1 ## 13 - i'm delighted that you find my work interesting and i'm ve~ 1.08 ## 14 thank you very much for your thorough and thoughtful review,~ 1.08 ## 15 great, thank you very much for accepting this package. i am ~ 1.07 ``` --- # Engagez-vous, qu'il·elle·s disaient ! .font150[
rOpenSci
Dépôt officiel https://github.com/ropensci/onboarding
Blogue https://ropensci.org/tags/onboarding/ en particulier https://ropensci.org/blog/2018/04/26/a-satrday-ct-series/
Lisez notre livre https://ropensci.github.io/dev_guide/
Portez-vous volontaire pour être réviseu·r·se https://ropensci.org/onboarding/] --- # Éditeur·rice·s ```r thank(c("karthik", "noamross", "sckott")) ``` <img src="slides_files/figure-html/unnamed-chunk-43-1.png" width="600" style="display: block; margin: auto;" /> ```r thank(c("lmullen", "annakrystalli", "ropensci")) ``` <img src="slides_files/figure-html/unnamed-chunk-43-2.png" width="600" style="display: block; margin: auto;" /> --- # Merci ! <img src="slides_files/figure-html/unnamed-chunk-44-1.png" width="600" style="display: block; margin: auto;" /> <span style="display:block; margin-top:-22px;"><font size="5">[
](http://bit.do/rr2018) bit.do/rr2018 | [
](https://twitter.com/ma_salmon) ma_salmon | [
](https://github.com/maelle) maelle | [
](https://masalmon.eu) masalmon.eu</font></span> ---