Slide 1

Slide 1 text

contributing to the tidyverse Mara Averick tidyverse developer advocate @dataandme http://bit.ly/tverse-contrib

Slide 2

Slide 2 text

2 C O N T R I B U T I N G T O T H E tidyverse

Slide 3

Slide 3 text

r s t u d i o : : c o n f The tidyverse is an opinionated collection of R packages designed for data science. All packages share an underlying design philosophy, grammar, and data structures. 3 What is the tidyverse? source: https://www.tidyverse.org/ data structures R packages data science. design philosophy grammar opinionated

Slide 4

Slide 4 text

• maintainers • sustainers Key FOSS actors • contributors • consumers/users r s t u d i o : : c o n f 4 Report team: Ben Nickolis, Pia Mancini, Justin Dorfman, Robert Gibb

Slide 5

Slide 5 text

the thoughtful user 5 Photo by Ran Berkovich on Unsplash

Slide 6

Slide 6 text

r s t u d i o : : c o n f asking questions 6 The most useless problem statement that one can face is “it doesn’t work”, yet we seem to get it far too often. – Thiago Maciera Maciera, Thiago. 2012. “The Art of Problem Solving.” In Open Advice: FOSS: What We Wish We Had Known When We Started, edited by Lydia Pintscher, 55–61.

Slide 7

Slide 7 text

where to ask 7 Twitter ! RStudio Community StackOverflow " r s t u d i o : : c o n f

Slide 8

Slide 8 text

r s t u d i o : : c o n f 8

Slide 9

Slide 9 text

The newcomer's paradox... When you ask for help, some friendly soul will no doubt tell you that “it’s easy, just do foo, bar and baz.” Except for you, it is not easy, there may be no documentation for foo, bar is not doing what it is supposed to be doing and what is this baz thing anyway with its eight disambiguation entries on Wikipedia? — Leslie Hawthorne 9 “You’ll Eventually Know Everything They’ve Forgotten.” In Open Advice: FOSS: What We Wish We Had Known When We Started, edited by Lydia Pintscher, 29–32.

Slide 10

Slide 10 text

helping others to help themselves... meta-help 10 Photo by Sarah Labuda on Unsplash

Slide 11

Slide 11 text

r s t u d i o : : c o n f meta-help 11

Slide 12

Slide 12 text

r s t u d i o : : c o n f meta-help 11 Look in S books Go to R-source mirror Find relevant bit See the history Send an email

Slide 13

Slide 13 text

r s t u d i o : : c o n f why does n = 6? 12

Slide 14

Slide 14 text

r s t u d i o : : c o n f 13 PULL REQUESTS Contributing code/making fixes. COMMENTS Help maintainers answer questions, triage issues. Help newcomers learn how to ask better questions (e.g. the art of the reprex). ISSUES Identifying a problem, trying your best to isolate its source. Ways to contribute # $ %

Slide 15

Slide 15 text

r s t u d i o : : c o n f 14 PROBLEM DESCRIPTION MINIMAL REPRODUCIBLE EXAMPLE EXPECTED BEHAVIOUR the anatomy of an issue & ' (

Slide 16

Slide 16 text

r s t u d i o : : c o n f 14 PROBLEM DESCRIPTION MINIMAL REPRODUCIBLE EXAMPLE EXPECTED BEHAVIOUR the anatomy of an issue & ' ( "Creating an issue template for your repository" – GitHub Help < https://help.github.com/articles/creating-an-issue-template-for-your-repository/>

Slide 17

Slide 17 text

My first “contribution” 15

Slide 18

Slide 18 text

My first “contribution” 15

Slide 19

Slide 19 text

r s t u d i o : : c o n f Send me a pull request You have a typo in your documentation Can you fix it? Go to GitHub No Yes Adapted from: You Do Not Need to Tell Me I Have A Typo in My Documentation by Yihui Xie 16 typos D D T X 2 0 1 8

Slide 20

Slide 20 text

See Typo On Pkgdown Site Ignore Write strongly- worded letter Go to GitHub File an issue Look in folders Search repo 17

Slide 21

Slide 21 text

r s t u d i o : : c o n f Source code?! 18

Slide 22

Slide 22 text

r s t u d i o : : c o n f Source code... 19

Slide 23

Slide 23 text

r s t u d i o : : c o n f Contribute documentation 20 “Innocence lost is not easily regained. The designer simply cannot predict the problems people will have, the misinterpretations that will arise, and the errors that will get made.” — Donald Norman, The Design of Everyday Things Hawthorn, Leslie. 2012. “You’ll Eventually Know Everything They’ve Forgotten.” In Open Advice: FOSS: What We Wish We Had Known When We Started2, edited by Lydia Pintscher, 29–32.

Slide 24

Slide 24 text

r s t u d i o : : c o n f things that are selfish wait, but why? 21 FOSS happy place things that are useful to other people things that are useful to other people things that are selfish

Slide 25

Slide 25 text

r s t u d i o : : c o n f 22 GET THE PULSE OF A PROJECT WATCH THE REPO READ THE CODE DISCUSS YOUR IDEAS Hints for happy code contributions in the tidyverse ) * ( +

Slide 26

Slide 26 text

r s t u d i o : : c o n f CONTRIBUTING.md 23 tidyverse & package conventions

Slide 27

Slide 27 text

r s t u d i o : : c o n f 24 ROXYGEN2 DEVTOOLS TESTTHAT KEY PACKAGES FOR CONTRIBUTING roxygen2: In-Line Documentation for R. R package v 6.0.1. by Hadley Wickham, Peter Danenberg and Manuel Eugster (2017). https://CRAN.R-project.org/package=roxygen2

Slide 28

Slide 28 text

r s t u d i o : : c o n f stylish... 25 styler by Kirill Müller & Lorenz Walthert http://styler.r-lib.org

Slide 29

Slide 29 text

r s t u d i o : : c o n f the magic of reprex reproducible example

Slide 30

Slide 30 text

r s t u d i o : : c o n f Keys to reprex-cellence 27 ✓ Code that actually runs ✓ Code that doesn't have to be run ✓ Code that can be easily run Source: Jenny Bryan, 2017. "reprex: the package, the point." https://speakerdeck.com/jennybc/reprex-help-me-help-you

Slide 31

Slide 31 text

r s t u d i o : : c o n f Nailing those reprexes? • Help others ask questions. • Answer questions. • Make more thoughtful users 28

Slide 32

Slide 32 text

contributing is a relationship, not a transaction 29

Slide 33

Slide 33 text

baby steps build up trust 30 ...and make life easier

Slide 34

Slide 34 text

r s t u d i o : : c o n f every contribution counts... 31 PULL REQUESTS ISSUES COMMENTS

Slide 35

Slide 35 text

Thank You 32 http://bit.ly/tverse-contrib r s t u d i o : : c o n f

Slide 36

Slide 36 text

r s t u d i o : : c o n f resources 33 • Happy Git and GitHub for the useR by Jenny Bryan. • Contribute to the tidyverse (incl. ways to contribute that don't involve writing code). • Contributing Code to the Tidyverse by Jim Hester. • R packages by Hadley Wickham. • Git and GitHub • Automated checking • Object documentation • Testing • dplyr’s NEWS.md is a good source of examples for both content and styling. • Closing issues using keywords on GitHub. • Autolinked references and URLs on GitHub. • GitHub Guides: Forking Projects.