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

contributing to the tidyverse

Mara Averick
February 03, 2018

contributing to the tidyverse

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

Mara Averick

February 03, 2018
Tweet

More Decks by Mara Averick

Other Decks in Technology

Transcript

  1. 2 C O N T R I B U T

    I N G T O T H E tidyverse
  2. 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
  3. • 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/>
  4. 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.
  5. 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.
  6. r s t u d i o : : c

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

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

    o n f 14 PROBLEM DESCRIPTION MINIMAL REPRODUCIBLE EXAMPLE EXPECTED BEHAVIOUR the anatomy of an issue & ' (
  11. 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/>
  12. 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
  13. See Typo On Pkgdown Site Ignore Write strongly- worded letter

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

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

    o n f Source code... 19
  16. 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.
  17. 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
  18. 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 ) * ( +
  19. r s t u d i o : : c

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

    o n f the magic of reprex reproducible example
  23. 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
  24. 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
  25. r s t u d i o : : c

    o n f every contribution counts... 31 PULL REQUESTS ISSUES COMMENTS
  26. 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.