Upgrade to Pro — share decks privately, control downloads, hide ads and more …

contributing to the tidyverse

contributing to the tidyverse

Talk from rstudio::conf(2018)
PDF with links and resources available at: http://bit.ly/tverse-contrib

4bec4b3e1975a3317b58dcab10367d06?s=128

Mara Averick

February 03, 2018
Tweet

Transcript

  1. contributing to the tidyverse Mara Averick tidyverse developer advocate @dataandme

    http://bit.ly/tverse-contrib
  2. 2 C O N T R I B U T

    I N G T O T H E tidyverse
  3. 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
  4. • 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 <https://sustainoss.org/>
  5. the thoughtful user 5 Photo by Ran Berkovich on Unsplash

  6. 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.
  7. where to ask 7 Twitter ! RStudio Community StackOverflow "

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

    o n f 8
  9. 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.
  10. helping others to help themselves... meta-help 10 Photo by Sarah

    Labuda on Unsplash
  11. r s t u d i o : : c

    o n f meta-help 11
  12. 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
  13. r s t u d i o : : c

    o n f why does n = 6? 12
  14. 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 # $ %
  15. r s t u d i o : : c

    o n f 14 PROBLEM DESCRIPTION MINIMAL REPRODUCIBLE EXAMPLE EXPECTED BEHAVIOUR the anatomy of an issue & ' (
  16. 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/>
  17. My first “contribution” 15

  18. My first “contribution” 15

  19. 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
  20. See Typo On Pkgdown Site Ignore Write strongly- worded letter

    Go to GitHub File an issue Look in folders Search repo 17
  21. r s t u d i o : : c

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

    o n f Source code... 19
  23. 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.
  24. 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
  25. 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 ) * ( +
  26. r s t u d i o : : c

    o n f CONTRIBUTING.md 23 tidyverse & package conventions
  27. 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
  28. 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
  29. r s t u d i o : : c

    o n f the magic of reprex reproducible example
  30. 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
  31. 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
  32. contributing is a relationship, not a transaction 29

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

  34. r s t u d i o : : c

    o n f every contribution counts... 31 PULL REQUESTS ISSUES COMMENTS
  35. Thank You 32 http://bit.ly/tverse-contrib r s t u d i

    o : : c o n f
  36. 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.