[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.97,0:00:01.87,Default,,0000,0000,0000,,So, Dialogue: 0,0:00:02.13,0:00:05.14,Default,,0000,0000,0000,,It's official. We're starting. Dialogue: 0,0:00:05.14,0:00:09.99,Default,,0000,0000,0000,,Hello everyone, I'm Stefanie Butland, \NrOpenSci's Community Manager Dialogue: 0,0:00:09.99,0:00:13.26,Default,,0000,0000,0000,,and I so warmly welcome you to \Nour community call Dialogue: 0,0:00:13.26,0:00:15.72,Default,,0000,0000,0000,,on maintaining an R package. Dialogue: 0,0:00:16.18,0:00:24.19,Default,,0000,0000,0000,,I wanted to first acknowledge that everyone here \Nis under extraordinary stresses right now Dialogue: 0,0:00:24.19,0:00:28.53,Default,,0000,0000,0000,,in light of the COVID-19 pandemic. Dialogue: 0,0:00:29.45,0:00:34.77,Default,,0000,0000,0000,,None of us knows what weights \Nother people are carrying at this time. Dialogue: 0,0:00:35.30,0:00:40.72,Default,,0000,0000,0000,,It's a remarkable thing that all of us \Nhave decided to take this hour Dialogue: 0,0:00:40.72,0:00:43.50,Default,,0000,0000,0000,,to come together and be together \Nas a community. Dialogue: 0,0:00:43.50,0:00:48.95,Default,,0000,0000,0000,,And so many of you I know as sort of warm,\Ngenerous, accepting people. Dialogue: 0,0:00:48.95,0:00:51.81,Default,,0000,0000,0000,,And so I thank you all \Nfor taking the time to do this, Dialogue: 0,0:00:51.81,0:00:55.51,Default,,0000,0000,0000,,and for the next one hour of your lives, \NI've got your back! Dialogue: 0,0:00:55.95,0:00:58.75,Default,,0000,0000,0000,,And now for something completely different: Dialogue: 0,0:00:59.23,0:01:02.21,Default,,0000,0000,0000,,rOpenSci is a non-profit initiative, \Nfounded in 2011 Dialogue: 0,0:01:02.21,0:01:05.95,Default,,0000,0000,0000,,by Karthik Ram, Scott Chamberlain, \Nand Carl Boettiger. Dialogue: 0,0:01:05.95,0:01:09.62,Default,,0000,0000,0000,,We enable open and reproducible research\Nby building technical infrastructure Dialogue: 0,0:01:09.62,0:01:13.29,Default,,0000,0000,0000,,in the form of staff- and community-contributed \NR software tools Dialogue: 0,0:01:13.29,0:01:18.79,Default,,0000,0000,0000,,and we build social infrastructure \Nin the form of a welcoming and diverse community. Dialogue: 0,0:01:19.50,0:01:25.17,Default,,0000,0000,0000,,You can find our bi-weekly newsletter \Nat news.ropensci.org. Dialogue: 0,0:01:25.73,0:01:29.50,Default,,0000,0000,0000,,We have a code of conduct \Nthat applies to both in-person Dialogue: 0,0:01:29.50,0:01:32.46,Default,,0000,0000,0000,,and online interactions, \Nlike this call today. Dialogue: 0,0:01:33.37,0:01:35.82,Default,,0000,0000,0000,,You can find it linked \Nfrom the footer of our website Dialogue: 0,0:01:35.82,0:01:41.62,Default,,0000,0000,0000,,and it includes reporting \Nand enforcement guidelines. Dialogue: 0,0:01:41.62,0:01:47.49,Default,,0000,0000,0000,,The session is being recorded \Nand the video and any other resources Dialogue: 0,0:01:47.49,0:01:53.53,Default,,0000,0000,0000,,are going to be posted on our website \Nat ropensci.org/commcalls Dialogue: 0,0:01:53.53,0:01:56.21,Default,,0000,0000,0000,,within about three business days. Dialogue: 0,0:01:58.05,0:02:00.37,Default,,0000,0000,0000,,I'm going to tweet from rOpenSci \Nwhen those things are up. Dialogue: 0,0:02:00.37,0:02:05.69,Default,,0000,0000,0000,,We use a shared Google Doc, \Nwhich if anyone's in there Dialogue: 0,0:02:05.69,0:02:07.65,Default,,0000,0000,0000,,could you please paste the link back \Ninto the zoom Dialogue: 0,0:02:07.65,0:02:09.62,Default,,0000,0000,0000,,so that new joiners can see this. Dialogue: 0,0:02:09.87,0:02:14.06,Default,,0000,0000,0000,,We typically use a Google Doc \Nin our community calls Dialogue: 0,0:02:14.06,0:02:15.73,Default,,0000,0000,0000,,for collaborative note taking. Dialogue: 0,0:02:17.19,0:02:23.03,Default,,0000,0000,0000,,You can find that at \Nbit.ly/ropensci-commcall-maintaining Dialogue: 0,0:02:24.61,0:02:30.06,Default,,0000,0000,0000,,I'd like you to add your name \Nand your affiliation into the attendees list. Dialogue: 0,0:02:30.32,0:02:35.09,Default,,0000,0000,0000,,And there's a format there that you can follow \Nbecause it helps me grab that information. Dialogue: 0,0:02:36.69,0:02:42.20,Default,,0000,0000,0000,,In this call, it's a different flavor for us, \Nwe've decided to do this as a panel discussion Dialogue: 0,0:02:42.20,0:02:46.32,Default,,0000,0000,0000,,as opposed to a series of talks \Nwith attendees asking questions. Dialogue: 0,0:02:47.49,0:02:50.42,Default,,0000,0000,0000,,And so we're going to have \None short presentation, Dialogue: 0,0:02:50.42,0:02:53.35,Default,,0000,0000,0000,,followed by a panel discussion, \Nfull of pre-selected questions. Dialogue: 0,0:02:53.95,0:02:57.97,Default,,0000,0000,0000,,I've already typed each of these questions\Nthat are planning to be asked in the doc Dialogue: 0,0:02:57.97,0:03:03.41,Default,,0000,0000,0000,,and so invite anyone to add any comments\Nyou're interested in capturing from the panelists, Dialogue: 0,0:03:03.41,0:03:07.74,Default,,0000,0000,0000,,as well as any expertise, \Nany thoughts you might have about this Dialogue: 0,0:03:07.74,0:03:11.46,Default,,0000,0000,0000,,because we really are \Na bunch of rich resource people here. Dialogue: 0,0:03:11.46,0:03:16.14,Default,,0000,0000,0000,,And so audience answers are just as valuable\Nas the panelist answers at this point. Dialogue: 0,0:03:16.66,0:03:20.60,Default,,0000,0000,0000,,And this is something that we end up sharing\Nas a long-term resource. Dialogue: 0,0:03:20.60,0:03:22.56,Default,,0000,0000,0000,,It will be accessible forever. Dialogue: 0,0:03:23.34,0:03:27.71,Default,,0000,0000,0000,,This time, unfortunately, \Nwe won't have time for taking impromptu questions Dialogue: 0,0:03:27.71,0:03:30.15,Default,,0000,0000,0000,,from attendees on the community call Dialogue: 0,0:03:30.15,0:03:34.42,Default,,0000,0000,0000,,but I've created a separate section in the doc\Ncalled questions - Part B, Dialogue: 0,0:03:34.42,0:03:37.54,Default,,0000,0000,0000,,where you can ask questions \Nthat come up for you Dialogue: 0,0:03:37.54,0:03:41.97,Default,,0000,0000,0000,,and I invite anyone \Nto answer each other's questions. Dialogue: 0,0:03:43.15,0:03:47.32,Default,,0000,0000,0000,,And together, as I say, we'll make this \Na rich resource for everyone to use. Dialogue: 0,0:03:48.16,0:03:51.33,Default,,0000,0000,0000,,So finally, it's my pleasure \Nto introduce our panel. Dialogue: 0,0:03:51.96,0:03:54.71,Default,,0000,0000,0000,,Julia Silge recently joined RStudio Dialogue: 0,0:03:54.71,0:03:57.08,Default,,0000,0000,0000,,as a data scientist and software engineer. Dialogue: 0,0:03:57.60,0:04:00.88,Default,,0000,0000,0000,,When we put out a call for a new\Nmaintainer for the qualtRics package, Dialogue: 0,0:04:00.88,0:04:03.60,Default,,0000,0000,0000,,Julia took it on because\Nshe was using it in her day job Dialogue: 0,0:04:03.60,0:04:06.45,Default,,0000,0000,0000,,as a data scientist at StackOverflow\Nat the time Dialogue: 0,0:04:06.45,0:04:10.27,Default,,0000,0000,0000,,And she worked on the annual developer survey \Nusing qualtRics. Dialogue: 0,0:04:10.27,0:04:13.36,Default,,0000,0000,0000,,She also maintains other R packages, \Nincluding tidytext, Dialogue: 0,0:04:13.36,0:04:16.01,Default,,0000,0000,0000,,which has been downloaded almost\N900,000 times. Dialogue: 0,0:04:17.08,0:04:17.89,Default,,0000,0000,0000,,Elin Waring Dialogue: 0,0:04:17.89,0:04:20.71,Default,,0000,0000,0000,,is a professor of sociology and interim dean Dialogue: 0,0:04:20.71,0:04:25.49,Default,,0000,0000,0000,,of the School of Health Sciences, human services \Nand nursing at Lehman College CUNY Dialogue: 0,0:04:25.49,0:04:28.00,Default,,0000,0000,0000,,She teaches research methods\Nand statistics. Dialogue: 0,0:04:28.39,0:04:31.24,Default,,0000,0000,0000,,Elin was part of the rOpenSci Unconf17 group Dialogue: 0,0:04:31.24,0:04:33.11,Default,,0000,0000,0000,,that developed the skimr package Dialogue: 0,0:04:33.11,0:04:37.20,Default,,0000,0000,0000,,which has become very popular \Nat over 250,000 downloads. Dialogue: 0,0:04:37.91,0:04:40.61,Default,,0000,0000,0000,,Elin works with Michael Quinn\Nto maintain skimr Dialogue: 0,0:04:40.61,0:04:44.13,Default,,0000,0000,0000,,as they've shepherded it\Nthrough two major releases already. Dialogue: 0,0:04:44.29,0:04:46.21,Default,,0000,0000,0000,,She formerly was a contributor \Nand maintainer Dialogue: 0,0:04:46.21,0:04:47.67,Default,,0000,0000,0000,,for the Joomla CMS project Dialogue: 0,0:04:47.67,0:04:48.96,Default,,0000,0000,0000,,and her approach to maintaining Dialogue: 0,0:04:48.96,0:04:50.79,Default,,0000,0000,0000,,is influenced by that experience. Dialogue: 0,0:04:51.19,0:04:53.35,Default,,0000,0000,0000,,This includes understanding \Nthe importance of having a clear concept Dialogue: 0,0:04:53.35,0:04:55.50,Default,,0000,0000,0000,,of what you're trying to achieve, Dialogue: 0,0:04:55.50,0:04:58.35,Default,,0000,0000,0000,,being able to politely but firmly say no, Dialogue: 0,0:04:59.01,0:05:01.32,Default,,0000,0000,0000,,and knowing having users changes everything. Dialogue: 0,0:05:01.89,0:05:04.34,Default,,0000,0000,0000,,Erin Grand is a data scientist Dialogue: 0,0:05:04.34,0:05:05.72,Default,,0000,0000,0000,,at Uncommon Schools Dialogue: 0,0:05:05.72,0:05:08.64,Default,,0000,0000,0000,,and a Board member of\NR-Ladies New York City. Dialogue: 0,0:05:08.64,0:05:10.37,Default,,0000,0000,0000,,Erin created and maintains a package Dialogue: 0,0:05:10.37,0:05:12.22,Default,,0000,0000,0000,,for NASA's Astronomy Picture of The Day Dialogue: 0,0:05:12.22,0:05:16.54,Default,,0000,0000,0000,,It's called astropic and it was inspired \Nby her early love of astronomy. Dialogue: 0,0:05:16.62,0:05:19.50,Default,,0000,0000,0000,,And one of her own images was featured Dialogue: 0,0:05:19.50,0:05:21.32,Default,,0000,0000,0000,,as Astronomy Picture of the Day. Dialogue: 0,0:05:21.32,0:05:22.49,Default,,0000,0000,0000,,Life goal achieved! Dialogue: 0,0:05:22.88,0:05:25.74,Default,,0000,0000,0000,,She also maintains a set of\NInternal packages at her work. Dialogue: 0,0:05:26.78,0:05:29.58,Default,,0000,0000,0000,,Leonardo Collado-Torres is a\Nresearch scientist Dialogue: 0,0:05:29.58,0:05:31.86,Default,,0000,0000,0000,,at the Lieber Institute \Nfor brain development. Dialogue: 0,0:05:32.05,0:05:34.44,Default,,0000,0000,0000,,He maintains several\NBioconductor packages, Dialogue: 0,0:05:34.44,0:05:39.28,Default,,0000,0000,0000,,including recently submitted spatialLIBD\Nfor spatial transcriptomics data. Dialogue: 0,0:05:39.28,0:05:41.84,Default,,0000,0000,0000,,He's a co-founder of the LIBD rstats club, Dialogue: 0,0:05:41.84,0:05:44.67,Default,,0000,0000,0000,,the CDSB Mexico community of R Dialogue: 0,0:05:44.67,0:05:46.86,Default,,0000,0000,0000,,and Bioconductor in Latin America Dialogue: 0,0:05:46.86,0:05:49.81,Default,,0000,0000,0000,,and those members just submitted\Ntheir first package to Bioconductor. Dialogue: 0,0:05:51.00,0:05:56.60,Default,,0000,0000,0000,,This represents a dramatic percent increase\Nin Latin American Bioconductor developers. Dialogue: 0,0:05:56.60,0:05:58.47,Default,,0000,0000,0000,,So, congratulations! Dialogue: 0,0:05:58.49,0:06:01.04,Default,,0000,0000,0000,,Also, congratulations, Leo, \Njust in the last couple of days, Dialogue: 0,0:06:01.04,0:06:04.06,Default,,0000,0000,0000,,was promoted \Nto the position of Research Scientist Dialogue: 0,0:06:04.06,0:06:06.04,Default,,0000,0000,0000,,and he's written a post about that. Dialogue: 0,0:06:06.72,0:06:11.80,Default,,0000,0000,0000,,Scott Chamberlain, our final panelist, \Nis a co-founder and technical lead of rOpenSci. Dialogue: 0,0:06:11.80,0:06:15.56,Default,,0000,0000,0000,,He maintains, in his words,\Nprobably too many packages. Dialogue: 0,0:06:16.05,0:06:18.58,Default,,0000,0000,0000,,Part of Scott's work involves \Nfinding new maintainers Dialogue: 0,0:06:18.58,0:06:21.03,Default,,0000,0000,0000,,for rOpenSci peer reviewed packages. Dialogue: 0,0:06:22.32,0:06:26.21,Default,,0000,0000,0000,,And he tries to find those when \Ncurrent maintainer needs to move on, Dialogue: 0,0:06:26.21,0:06:27.98,Default,,0000,0000,0000,,like the qualtRics example. Dialogue: 0,0:06:28.46,0:06:31.53,Default,,0000,0000,0000,,His bio is really shortest \Nbecause he's actually far too humble. Dialogue: 0,0:06:33.56,0:06:36.12,Default,,0000,0000,0000,,Julia is going to speak \Nfor about 10 minutes Dialogue: 0,0:06:36.40,0:06:40.44,Default,,0000,0000,0000,,and then for the rest of the hour,\Nshe's going to be moderating a panel discussion Dialogue: 0,0:06:40.44,0:06:41.89,Default,,0000,0000,0000,,with pre-selected questions. Dialogue: 0,0:06:41.89,0:06:44.73,Default,,0000,0000,0000,,For people who have just joined, \Nthank you for sharing the link Dialogue: 0,0:06:44.73,0:06:47.26,Default,,0000,0000,0000,,to the shared Google Doc again in the zoom. Dialogue: 0,0:06:48.26,0:06:52.62,Default,,0000,0000,0000,,Please add your notes there,\Nadd your own questions in the bottom. Dialogue: 0,0:06:53.22,0:06:55.50,Default,,0000,0000,0000,,I am now going to share my screen Dialogue: 0,0:06:55.50,0:07:02.61,Default,,0000,0000,0000,,because I will note for people joined that\NJulia is not sharing her lovely face in home backdrop, Dialogue: 0,0:07:02.61,0:07:05.01,Default,,0000,0000,0000,,because there was an earthquake \Nwhere she is, Dialogue: 0,0:07:05.01,0:07:06.36,Default,,0000,0000,0000,,she lost internet. Dialogue: 0,0:07:06.36,0:07:08.30,Default,,0000,0000,0000,,And so I'm going to be showing her slides. Dialogue: 0,0:07:08.30,0:07:10.21,Default,,0000,0000,0000,,So if you'll give me a moment. Dialogue: 0,0:07:10.65,0:07:14.29,Default,,0000,0000,0000,,Sure... Well... [inaudible] Dialogue: 0,0:07:16.79,0:07:18.13,Default,,0000,0000,0000,,[Julia Silge] Fingers crossed. Dialogue: 0,0:07:18.13,0:07:22.79,Default,,0000,0000,0000,,Yeah, there was a 5.7 earthquake Dialogue: 0,0:07:22.79,0:07:27.12,Default,,0000,0000,0000,,at your needs and it was not super big. Dialogue: 0,0:07:27.12,0:07:33.42,Default,,0000,0000,0000,,But enough that one of the aftershocks \Nknocked out internet at my house Dialogue: 0,0:07:33.42,0:07:36.70,Default,,0000,0000,0000,,and I'm trying to be able to still speak Dialogue: 0,0:07:36.70,0:07:42.76,Default,,0000,0000,0000,,If we lose me, \Nthen I know that everything will keep going Dialogue: 0,0:07:42.76,0:07:45.63,Default,,0000,0000,0000,,and in a great way. Dialogue: 0,0:07:45.63,0:07:47.92,Default,,0000,0000,0000,,So, Dialogue: 0,0:07:49.13,0:07:54.94,Default,,0000,0000,0000,,So we're going to talk through these slides \Nabout just briefly about particular perspectives Dialogue: 0,0:07:54.94,0:07:57.00,Default,,0000,0000,0000,,on maintaining an R package. Dialogue: 0,0:07:57.00,0:08:01.16,Default,,0000,0000,0000,,So if we go to that slide about being... Dialogue: 0,0:08:02.22,0:08:05.42,Default,,0000,0000,0000,,Let's see that, next slide... Dialogue: 0,0:08:05.42,0:08:09.28,Default,,0000,0000,0000,,Maintaining an R package we often think...\Nwe cannot... Dialogue: 0,0:08:09.46,0:08:11.87,Default,,0000,0000,0000,,There's a Reese's about Dialogue: 0,0:08:12.28,0:08:15.65,Default,,0000,0000,0000,,when you're building R package,\Nabout what we focus on Dialogue: 0,0:08:15.65,0:08:17.85,Default,,0000,0000,0000,,in the technical aspects. Dialogue: 0,0:08:17.95,0:08:19.65,Default,,0000,0000,0000,,But once you're in the piece, Dialogue: 0,0:08:19.65,0:08:21.92,Default,,0000,0000,0000,,though the part of you actually \Nbuilt your package Dialogue: 0,0:08:21.92,0:08:23.20,Default,,0000,0000,0000,,and people are using it. Dialogue: 0,0:08:23.23,0:08:26.28,Default,,0000,0000,0000,,There's quite a balance \Nin the amount of time Dialogue: 0,0:08:26.28,0:08:29.33,Default,,0000,0000,0000,,that we spend managing technical work, Dialogue: 0,0:08:29.33,0:08:33.73,Default,,0000,0000,0000,,which is, of course, \Nextremely important with social aspects Dialogue: 0,0:08:33.73,0:08:36.99,Default,,0000,0000,0000,,of who is using the package, if you will, Dialogue: 0,0:08:36.99,0:08:41.32,Default,,0000,0000,0000,,involves often with asking \Na lot of the right questions Dialogue: 0,0:08:41.32,0:08:43.02,Default,,0000,0000,0000,,(go to the next slide) Dialogue: 0,0:08:43.02,0:08:45.89,Default,,0000,0000,0000,,Some of the right kinds of questions \Nthat we ask Dialogue: 0,0:08:45.89,0:08:49.12,Default,,0000,0000,0000,,when we're thinking about \Nwhat it takes you to packaging, Dialogue: 0,0:08:49.12,0:08:50.94,Default,,0000,0000,0000,,the date, or some of these like -- Dialogue: 0,0:08:51.28,0:08:56.84,Default,,0000,0000,0000,,Is this a package that's used really broadly \Nby a lot of different kinds of people Dialogue: 0,0:08:56.84,0:08:58.10,Default,,0000,0000,0000,,and we can think beginners? Dialogue: 0,0:08:58.10,0:09:01.86,Default,,0000,0000,0000,,Is this a package that has a specialized use case Dialogue: 0,0:09:01.98,0:09:06.02,Default,,0000,0000,0000,,or that's used by people who know each other,\Ninternally at a company? Dialogue: 0,0:09:06.62,0:09:10.55,Default,,0000,0000,0000,,Is the person maintaining the package, \Nthe person who put it together originally, Dialogue: 0,0:09:10.55,0:09:14.79,Default,,0000,0000,0000,,or as has it been passed along \Na couple of times? Dialogue: 0,0:09:15.09,0:09:17.25,Default,,0000,0000,0000,,When you think about \Nmaintaining your package... Dialogue: 0,0:09:17.25,0:09:22.87,Default,,0000,0000,0000,,I'm interested here as we have our discussion\Nwhat people's perspectives on like Dialogue: 0,0:09:22.87,0:09:24.01,Default,,0000,0000,0000,,how do we change? Dialogue: 0,0:09:24.01,0:09:28.46,Default,,0000,0000,0000,,And so you can either thinking \Nabout packages changing over time Dialogue: 0,0:09:28.46,0:09:31.12,Default,,0000,0000,0000,,or, packages being superseded. Dialogue: 0,0:09:31.12,0:09:39.25,Default,,0000,0000,0000,,And it's been interesting in our discussions \Npreparing for this community call. Dialogue: 0,0:09:39.81,0:09:42.60,Default,,0000,0000,0000,,Software doesn't live forever. Dialogue: 0,0:09:42.62,0:09:48.55,Default,,0000,0000,0000,,And when we build software, \Ndo we put thoughtfulness into Dialogue: 0,0:09:48.55,0:09:51.09,Default,,0000,0000,0000,,what do we expect to happen next? Dialogue: 0,0:09:51.09,0:09:52.64,Default,,0000,0000,0000,,So we can go to the next slide. Dialogue: 0,0:09:52.64,0:09:57.37,Default,,0000,0000,0000,,One of the motivating ideas \Nof setting up this community call Dialogue: 0,0:09:57.37,0:10:04.50,Default,,0000,0000,0000,,is that most software out there,\Nwhether you're talking about R packages or not, Dialogue: 0,0:10:04.52,0:10:09.07,Default,,0000,0000,0000,,have one main person who keeps it running Dialogue: 0,0:10:09.07,0:10:15.70,Default,,0000,0000,0000,,and a goal of rOpenSci, \Nand a lot of us in this community, Dialogue: 0,0:10:15.70,0:10:24.31,Default,,0000,0000,0000,,is to build up the sustainability \Nof our software ecosystem. Dialogue: 0,0:10:24.31,0:10:29.36,Default,,0000,0000,0000,,And it's somewhat brittle \Nand also contributes to burnout Dialogue: 0,0:10:29.36,0:10:33.85,Default,,0000,0000,0000,,and uncertainty about \Nwhat is going to happen Dialogue: 0,0:10:33.85,0:10:36.64,Default,,0000,0000,0000,,when we just have one maintainer. Dialogue: 0,0:10:36.64,0:10:39.38,Default,,0000,0000,0000,,Some other things \Nyou can struggle with are Dialogue: 0,0:10:39.38,0:10:44.60,Default,,0000,0000,0000,,You know, literally no one else knows \Nwhat to do with this internal of this package too. Dialogue: 0,0:10:44.60,0:10:52.96,Default,,0000,0000,0000,,What do you do with one person having to manage \Nsometimes what can feel like Dialogue: 0,0:10:52.96,0:10:56.65,Default,,0000,0000,0000,,an overwhelming amount of feedback from users. Dialogue: 0,0:10:57.56,0:11:00.03,Default,,0000,0000,0000,,If you go to the next slide Dialogue: 0,0:11:00.03,0:11:03.23,Default,,0000,0000,0000,,There's interesting research out there\Nabout Dialogue: 0,0:11:03.23,0:11:06.37,Default,,0000,0000,0000,,both like what is the situation\Nwith software contributors Dialogue: 0,0:11:06.37,0:11:11.52,Default,,0000,0000,0000,,and how can we either navigate that situation, Dialogue: 0,0:11:11.52,0:11:16.65,Default,,0000,0000,0000,,encourage more or figure out \Nwhat the right path could be for a community. Dialogue: 0,0:11:18.55,0:11:27.42,Default,,0000,0000,0000,,The references at the bottom here\Nof analysis of open source contributors Dialogue: 0,0:11:27.42,0:11:29.74,Default,,0000,0000,0000,,In this analysis, they did -- Dialogue: 0,0:11:29.74,0:11:31.93,Default,,0000,0000,0000,,It's not uncommon to find Dialogue: 0,0:11:31.93,0:11:35.14,Default,,0000,0000,0000,,casual contributors,\Nlike people who are not the main maintainer Dialogue: 0,0:11:35.14,0:11:39.73,Default,,0000,0000,0000,,and you have a situation where there's\Na lot of, a long tail of small contributions, Dialogue: 0,0:11:39.73,0:11:45.08,Default,,0000,0000,0000,,so like half the contributors\Nare responsible for 2% of the commits. Dialogue: 0,0:11:45.08,0:11:47.84,Default,,0000,0000,0000,,But they are lots of different kinds of commits. Dialogue: 0,0:11:48.41,0:11:51.60,Default,,0000,0000,0000,,These 2% of commits \Nfrom lots of different kinds of people Dialogue: 0,0:11:51.60,0:11:53.24,Default,,0000,0000,0000,,are lots of kinds of things. Dialogue: 0,0:11:54.06,0:12:00.12,Default,,0000,0000,0000,,You know there are things like typos, \Nbut they're also things like fixing bugs Dialogue: 0,0:12:00.12,0:12:02.73,Default,,0000,0000,0000,,and building new features and refactoring. Dialogue: 0,0:12:04.31,0:12:08.11,Default,,0000,0000,0000,,This ... contributes -- Dialogue: 0,0:12:08.11,0:12:11.60,Default,,0000,0000,0000,,What this is, is evidence that \Nthese are people who could be scaled up Dialogue: 0,0:12:11.60,0:12:15.11,Default,,0000,0000,0000,,to being more contributor,\Nmore contributing, Dialogue: 0,0:12:15.61,0:12:20.95,Default,,0000,0000,0000,,more significant maintainer or contributors, \Nif that is appropriate for your program. Dialogue: 0,0:12:20.95,0:12:23.03,Default,,0000,0000,0000,,If you go to the next slide. Dialogue: 0,0:12:23.03,0:12:25.80,Default,,0000,0000,0000,,We often have this model \Nof software contributions, Dialogue: 0,0:12:25.80,0:12:28.76,Default,,0000,0000,0000,,where we have to think of it as \Nlike an onion model Dialogue: 0,0:12:28.76,0:12:33.46,Default,,0000,0000,0000,,where you've got the users,\Nand the contributors are inside of there, Dialogue: 0,0:12:33.46,0:12:35.54,Default,,0000,0000,0000,,and the committers are inside of there. Dialogue: 0,0:12:35.54,0:12:37.76,Default,,0000,0000,0000,,And that's often how we have \Nthis mental model Dialogue: 0,0:12:37.76,0:12:40.84,Default,,0000,0000,0000,,of like how, why, the software work, \Nyou know. Dialogue: 0,0:12:40.84,0:12:45.92,Default,,0000,0000,0000,,But, we might want to consider whether \Nthat is the best model Dialogue: 0,0:12:45.92,0:12:52.34,Default,,0000,0000,0000,,and instead move to what's on the next slide, \Nwhich is a hub and spoke model Dialogue: 0,0:12:52.34,0:12:55.07,Default,,0000,0000,0000,,where the code is central, right? Dialogue: 0,0:12:55.07,0:12:58.10,Default,,0000,0000,0000,,Like, that's the thing that we're all using. \NSo that is in the middle. Dialogue: 0,0:12:58.10,0:13:01.48,Default,,0000,0000,0000,,And there are maintainer \Nwho work mostly on code, Dialogue: 0,0:13:01.48,0:13:05.98,Default,,0000,0000,0000,,but there are also other kinds\Nof maintenance activities happening Dialogue: 0,0:13:05.98,0:13:11.80,Default,,0000,0000,0000,,So there are maintainer of the software\Nwho focus mainly on education and docs. Dialogue: 0,0:13:11.80,0:13:16.00,Default,,0000,0000,0000,,There are maintainers \Nwho focus mainly on issue triage. Dialogue: 0,0:13:16.00,0:13:18.100,Default,,0000,0000,0000,,There are maintainers \Nwho focus mainly on evangelism. Dialogue: 0,0:13:18.100,0:13:23.27,Default,,0000,0000,0000,,And users kind of swim around in this -- Dialogue: 0,0:13:24.16,0:13:28.79,Default,,0000,0000,0000,,swim around in this like in a soup \Naround this hub and spoke model, Dialogue: 0,0:13:28.79,0:13:32.95,Default,,0000,0000,0000,,and depending \Non their particular need at any one time, Dialogue: 0,0:13:32.95,0:13:36.68,Default,,0000,0000,0000,,they engage with these different maintainers.\NLike, maybe the user-support one, Dialogue: 0,0:13:36.68,0:13:41.24,Default,,0000,0000,0000,,or maybe the people writing the code,\Nor maybe the people writing the docs Dialogue: 0,0:13:41.24,0:13:44.64,Default,,0000,0000,0000,,and so like this might be \Na helpful mental model Dialogue: 0,0:13:44.64,0:13:50.27,Default,,0000,0000,0000,,for thinking about package maintenance, \Nespecially for larger packages Dialogue: 0,0:13:50.27,0:13:52.28,Default,,0000,0000,0000,,that have more users. Dialogue: 0,0:13:52.41,0:13:56.16,Default,,0000,0000,0000,,So if you can go to the next slide. Dialogue: 0,0:13:56.54,0:14:00.62,Default,,0000,0000,0000,,So it turns out we do actually have research \Nand know what can contribute to, Dialogue: 0,0:14:00.62,0:14:06.26,Default,,0000,0000,0000,,what can encourage more contributions.\NSo the next slide outlines something Dialogue: 0,0:14:06.58,0:14:12.32,Default,,0000,0000,0000,,For one study that was done, something\Nthat somethings that we, you know - Dialogue: 0,0:14:12.32,0:14:16.55,Default,,0000,0000,0000,,if you're involved with rOpenSci, \Nyou've heard this kind of thing Dialogue: 0,0:14:16.55,0:14:17.75,Default,,0000,0000,0000,,and seen this thing in action. Dialogue: 0,0:14:17.75,0:14:21.72,Default,,0000,0000,0000,,So, include and enforce a Code of Conduct. Dialogue: 0,0:14:21.88,0:14:26.84,Default,,0000,0000,0000,,Have cultural norms and\Ninclude kindness and respect Dialogue: 0,0:14:26.84,0:14:31.77,Default,,0000,0000,0000,,Something that was here. That is interesting.\NI don't see a lot in R packages, Dialogue: 0,0:14:31.77,0:14:35.07,Default,,0000,0000,0000,,but could be interesting to consider. Dialogue: 0,0:14:35.07,0:14:40.66,Default,,0000,0000,0000,,That's: make more public or explicit\Nany future plans you have. Dialogue: 0,0:14:40.66,0:14:45.05,Default,,0000,0000,0000,,That can help contributors know what to do. Dialogue: 0,0:14:45.51,0:14:51.79,Default,,0000,0000,0000,,And then the - if you go to the next slide. \NThis paper also has some very interesting ideas Dialogue: 0,0:14:51.79,0:14:58.54,Default,,0000,0000,0000,,of how to help newcomers become\Ncontributors and maybe eventually maintainers. Dialogue: 0,0:14:58.60,0:15:02.26,Default,,0000,0000,0000,,These are all here. \NI'll highlight a couple Dialogue: 0,0:15:02.49,0:15:05.68,Default,,0000,0000,0000,,Let's talk about that.\NI'll just highlight that second one: Dialogue: 0,0:15:05.76,0:15:10.99,Default,,0000,0000,0000,,Have forms of participation\Nthat are legitimate in your projects, Dialogue: 0,0:15:10.99,0:15:17.21,Default,,0000,0000,0000,,that are valued,\Nthat are not writing code, Dialogue: 0,0:15:17.21,0:15:22.53,Default,,0000,0000,0000,,that are on ramps and\Nthen those last two I think are very interesting to Dialogue: 0,0:15:23.49,0:15:30.58,Default,,0000,0000,0000,,To explicitly acknowledge all contributions.\NTo have a culture around your project Dialogue: 0,0:15:30.58,0:15:36.31,Default,,0000,0000,0000,,that doesn't let contributions just,\Nkind of get, you know, swept away Dialogue: 0,0:15:36.31,0:15:39.36,Default,,0000,0000,0000,,and also to follow up both on success and failure. Dialogue: 0,0:15:39.36,0:15:44.62,Default,,0000,0000,0000,,If someone opens an issue or submits\Na PR that is not a good fit, Dialogue: 0,0:15:44.62,0:15:49.20,Default,,0000,0000,0000,,To follow up on both the things \Nthat succeed and fail. Dialogue: 0,0:15:49.28,0:15:51.87,Default,,0000,0000,0000,,So, what we just went through in those slides Dialogue: 0,0:15:51.87,0:15:58.84,Default,,0000,0000,0000,,are just some summary and thoughts\Non the current situation. Dialogue: 0,0:15:58.84,0:16:00.87,Default,,0000,0000,0000,,So a little bit of research of what we know. Dialogue: 0,0:16:00.87,0:16:01.49,Default,,0000,0000,0000,,You can go to the next slide. Dialogue: 0,0:16:01.49,0:16:05.71,Default,,0000,0000,0000,,The rest of the time that we're going to have\Nhere is going to be a panel discussion Dialogue: 0,0:16:05.78,0:16:13.08,Default,,0000,0000,0000,,If my phone tethering holds up,\NI am going to moderate this panel of folks Dialogue: 0,0:16:13.08,0:16:16.90,Default,,0000,0000,0000,,who are going to talk about some of\Nour experiences. Dialogue: 0,0:16:16.90,0:16:22.81,Default,,0000,0000,0000,,Some of our opinions on maintaining\NR packages. Dialogue: 0,0:16:22.81,0:16:27.01,Default,,0000,0000,0000,,And if you will, the next slide that will\Njust have some of the references. Dialogue: 0,0:16:27.01,0:16:29.90,Default,,0000,0000,0000,,Just to thank you.\NWhere some of those images. Dialogue: 0,0:16:29.90,0:16:33.60,Default,,0000,0000,0000,,And a thank you to Scott for some\Nof the research that he shared. Dialogue: 0,0:16:33.60,0:16:36.36,Default,,0000,0000,0000,,So thank you to all that. Dialogue: 0,0:16:36.36,0:16:41.92,Default,,0000,0000,0000,,And I think with that, \Nwe can get started with our discussion. Dialogue: 0,0:16:43.53,0:16:47.43,Default,,0000,0000,0000,,Alright. So if you're -- \NSo, panelists: Leo and... Dialogue: 0,0:16:47.43,0:16:55.03,Default,,0000,0000,0000,,So our panelists are:\NLeo, and Elin, and Scott, and Erin. Dialogue: 0,0:16:55.67,0:17:01.04,Default,,0000,0000,0000,,So, you all have been introduced,\Nbut can you unmute? Dialogue: 0,0:17:01.04,0:17:04.36,Default,,0000,0000,0000,,And then, to get started, \NI think the first question Dialogue: 0,0:17:04.36,0:17:09.98,Default,,0000,0000,0000,,I would love to have us discuss is:\NWhat does it mean to maintain an R package? Dialogue: 0,0:17:09.98,0:17:11.04,Default,,0000,0000,0000,,This is what we're talking about. Dialogue: 0,0:17:11.04,0:17:14.20,Default,,0000,0000,0000,,So, I would love to get\Nyour perspective on that. Dialogue: 0,0:17:14.20,0:17:19.28,Default,,0000,0000,0000,,So let's go around and so, briefly,\Nlet's first have all four of you all say like Dialogue: 0,0:17:19.28,0:17:23.89,Default,,0000,0000,0000,,What do you, like -- what does it mean to\Nmaintain R packages? So Elin, can you start? Dialogue: 0,0:17:24.49,0:17:28.58,Default,,0000,0000,0000,,So I think it means a couple of different things, Dialogue: 0,0:17:28.68,0:17:33.25,Default,,0000,0000,0000,,There is this very specific thing,\Nthat term you use 'committer' before, Dialogue: 0,0:17:33.25,0:17:37.24,Default,,0000,0000,0000,,which is people who can commit\Nto the master branch Dialogue: 0,0:17:37.24,0:17:44.38,Default,,0000,0000,0000,,And in CRAN like the person whose name\Nis going to be there as the email address for Dialogue: 0,0:17:44.48,0:17:47.58,Default,,0000,0000,0000,,and make the submission\Nand they're going to be the prime contact Dialogue: 0,0:17:47.58,0:17:51.49,Default,,0000,0000,0000,,So that's one definition\Nwhich is kind of the traditional Dialogue: 0,0:17:52.05,0:17:54.16,Default,,0000,0000,0000,,open-source way of thinking about it. Dialogue: 0,0:17:54.23,0:17:57.25,Default,,0000,0000,0000,,But then there is kind of,\NI think what you're getting to, Dialogue: 0,0:17:57.25,0:18:01.99,Default,,0000,0000,0000,,bigger possible group of people\Nwho are invested in making sure Dialogue: 0,0:18:01.99,0:18:03.91,Default,,0000,0000,0000,,that the package is maintained. Dialogue: 0,0:18:03.91,0:18:06.54,Default,,0000,0000,0000,,Meaning keeping --\Njust like maintenance on anything, Dialogue: 0,0:18:06.54,0:18:09.17,Default,,0000,0000,0000,,keeping it up to date, dealing with bugs, Dialogue: 0,0:18:10.90,0:18:17.52,Default,,0000,0000,0000,,what happens when you stop working,\Nbecause some other package updated Dialogue: 0,0:18:17.52,0:18:19.96,Default,,0000,0000,0000,,or because R, base R, change something Dialogue: 0,0:18:21.02,0:18:23.07,Default,,0000,0000,0000,,So someone who participates in that. Dialogue: 0,0:18:23.07,0:18:27.24,Default,,0000,0000,0000,,And then also, potentially, \Nin all the other areas you were mentioning. Dialogue: 0,0:18:27.24,0:18:30.10,Default,,0000,0000,0000,,Yeah yeah nice! Scott? Dialogue: 0,0:18:30.10,0:18:32.96,Default,,0000,0000,0000,,What do you think it means \Nto maintain an R package? Dialogue: 0,0:18:34.61,0:18:39.54,Default,,0000,0000,0000,,[Scott] Um, there's a lot of details, I guess.\NBut I think that a very... Dialogue: 0,0:18:39.80,0:18:42.06,Default,,0000,0000,0000,,Can you hear me good?\N[Julia and Stefanie] Yeah. Dialogue: 0,0:18:42.06,0:18:47.81,Default,,0000,0000,0000,,At a very high level, I guess, \Nthe thing that came to mind first for me Dialogue: 0,0:18:47.81,0:18:50.88,Default,,0000,0000,0000,,was just that it's like \Na constant learning process. Dialogue: 0,0:18:51.01,0:18:54.56,Default,,0000,0000,0000,,A constant, sort of like,\Ntrying to figure out Dialogue: 0,0:18:55.98,0:19:01.74,Default,,0000,0000,0000,,how to do any particular thing better,\Nwhether it's testing or function compos-- Dialogue: 0,0:19:01.74,0:19:05.43,Default,,0000,0000,0000,,like how your function is composed,\Nthe parameters or whatever. Dialogue: 0,0:19:06.02,0:19:10.47,Default,,0000,0000,0000,,And I think another point,\Nabout the second point that I came up with Dialogue: 0,0:19:10.47,0:19:15.51,Default,,0000,0000,0000,,was sort of constantly learning\Nhow to design better function interfaces. Dialogue: 0,0:19:15.51,0:19:18.48,Default,,0000,0000,0000,,You know how the functions are named,\Nand the parameters are named, Dialogue: 0,0:19:18.48,0:19:23.62,Default,,0000,0000,0000,,and how their default values, \Ntheir -- stuff like that. Dialogue: 0,0:19:23.62,0:19:29.69,Default,,0000,0000,0000,,So I think this is constant learning process \Nof how to design easy to use interfaces. Dialogue: 0,0:19:29.69,0:19:33.67,Default,,0000,0000,0000,,[Julia:] Yeah yeah yeah yeah,\Nall of what you both you just said Dialogue: 0,0:19:33.67,0:19:39.70,Default,,0000,0000,0000,,really resonate with my own experience \Nwith like the different packages I maintained. Dialogue: 0,0:19:39.70,0:19:43.24,Default,,0000,0000,0000,,Erin, when you think of like,\Nmaintaining an R package, Dialogue: 0,0:19:43.24,0:19:45.28,Default,,0000,0000,0000,,what do you think that actually means? Dialogue: 0,0:19:45.61,0:19:51.39,Default,,0000,0000,0000,,[Erin] Yeah, first of all, \NI agree with everything the other panelists said Dialogue: 0,0:19:51.93,0:19:53.94,Default,,0000,0000,0000,,Something that hadn't been mentioned, I think, is Dialogue: 0,0:19:54.18,0:20:01.52,Default,,0000,0000,0000,,the sort of ownership around community \Nand communication of the package. Dialogue: 0,0:20:01.52,0:20:09.98,Default,,0000,0000,0000,,So, being the person who responds to issues\Nor is looking at push requests, Dialogue: 0,0:20:10.32,0:20:17.96,Default,,0000,0000,0000,,and really, like, dealing with the communication\Nout to contributors or to users Dialogue: 0,0:20:17.96,0:20:22.69,Default,,0000,0000,0000,,on either changes or what's happening\Nwith the package. Dialogue: 0,0:20:22.69,0:20:26.65,Default,,0000,0000,0000,,[Julia] Yeah. Nice!\NYeah, that's absolutely, that's really great Dialogue: 0,0:20:26.65,0:20:31.04,Default,,0000,0000,0000,,And then Leo, what do you -- what about --\Nwhat's your response to this? Dialogue: 0,0:20:31.04,0:20:34.20,Default,,0000,0000,0000,,What do you think it means means \Nto maintain an R package? Dialogue: 0,0:20:34.65,0:20:39.21,Default,,0000,0000,0000,,[Leo] So I'm going to echo\Nwhat some of the other panelists said Dialogue: 0,0:20:39.21,0:20:42.57,Default,,0000,0000,0000,,but for me it's like you deal \Nwith the questions you get from users. Dialogue: 0,0:20:42.60,0:20:46.29,Default,,0000,0000,0000,,You approve or disapprove changes \Nthat you receive from others Dialogue: 0,0:20:46.29,0:20:49.32,Default,,0000,0000,0000,,and you end up learning \Nabout community guidelines, Dialogue: 0,0:20:49.32,0:20:52.35,Default,,0000,0000,0000,,like my case like the Bioconductor guidelines. Dialogue: 0,0:20:52.59,0:20:57.78,Default,,0000,0000,0000,,And then you also have to -- \Nyou end up learning about like are R-devel Dialogue: 0,0:20:57.78,0:21:01.100,Default,,0000,0000,0000,,and what changes are coming,\Nhow to anticipate those changes, Dialogue: 0,0:21:01.100,0:21:05.29,Default,,0000,0000,0000,,such that you can fix them \Nbefore the user sees them. Dialogue: 0,0:21:05.89,0:21:07.45,Default,,0000,0000,0000,,[Julia] Yeah, that's great. Dialogue: 0,0:21:07.45,0:21:13.69,Default,,0000,0000,0000,,So one thing I heard a lot of you mention\Nwas like deal -- understanding users, Dialogue: 0,0:21:13.69,0:21:18.59,Default,,0000,0000,0000,,hearing from users...\Nand, the issue of like user feedback Dialogue: 0,0:21:18.59,0:21:22.62,Default,,0000,0000,0000,,I think is a really interesting one\Nwhen it comes to maintaining R packages. Dialogue: 0,0:21:22.76,0:21:24.38,Default,,0000,0000,0000,,So some R packa -- Dialogue: 0,0:21:24.38,0:21:28.80,Default,,0000,0000,0000,,So some, you know, pieces of software \Nare in the situation where you're like -- Dialogue: 0,0:21:28.80,0:21:35.60,Default,,0000,0000,0000,,[inaudible] Dialogue: 0,0:21:35.71,0:21:38.07,Default,,0000,0000,0000,,[Erin] I think we lost you. Dialogue: 0,0:21:38.36,0:21:41.23,Default,,0000,0000,0000,,[Stefanie] Julia? We just lost your sound. Dialogue: 0,0:21:44.06,0:21:47.27,Default,,0000,0000,0000,,Folks, we have a backup plan.\NAnd for those of you in here: Dialogue: 0,0:21:47.56,0:21:50.78,Default,,0000,0000,0000,,Julia lost internet \Ndue to an earthquake today. Dialogue: 0,0:21:51.51,0:21:53.47,Default,,0000,0000,0000,,[Julia] But, you know, on the other -- Dialogue: 0,0:21:53.47,0:21:58.29,Default,,0000,0000,0000,,[Stefanie] Oh! Julia! Hold on.\NWe lost you for like 40 seconds. Dialogue: 0,0:21:58.29,0:21:59.32,Default,,0000,0000,0000,,[Julia] Oh, okay. Dialogue: 0,0:21:59.32,0:22:03.14,Default,,0000,0000,0000,,[Stefanie] Could you please restart by asking\Nthe question that you were just about to ask? Dialogue: 0,0:22:03.14,0:22:04.74,Default,,0000,0000,0000,,[Julia] Sure. Sure... Dialogue: 0,0:22:04.74,0:22:12.72,Default,,0000,0000,0000,,So user feedback is an issue\Nthat R packages need to deal with Dialogue: 0,0:22:12.72,0:22:19.33,Default,,0000,0000,0000,,and many packages need more contributors, \Nnot fewer Dialogue: 0,0:22:19.33,0:22:21.98,Default,,0000,0000,0000,,and so we often want to encourage\Nuser feedback. Dialogue: 0,0:22:21.98,0:22:26.38,Default,,0000,0000,0000,,At the same time,\Nsome packages are in the situation Dialogue: 0,0:22:26.38,0:22:29.28,Default,,0000,0000,0000,,where they have a fire hose \Nof user feedback Dialogue: 0,0:22:29.78,0:22:35.63,Default,,0000,0000,0000,,And that fire hose \Ncan sometimes feel like -- Dialogue: 0,0:22:37.73,0:22:39.66,Default,,0000,0000,0000,,You need to manage that. Dialogue: 0,0:22:40.81,0:22:44.59,Default,,0000,0000,0000,,How do you manage that? \NWhat kind of situations have you been in? Dialogue: 0,0:22:44.59,0:22:49.35,Default,,0000,0000,0000,,What strategies do you use \Nto deal with user feedback? Dialogue: 0,0:22:49.56,0:22:54.34,Default,,0000,0000,0000,,Elin, can you start with this first \Nbecause I think I've heard Dialogue: 0,0:22:54.34,0:22:59.69,Default,,0000,0000,0000,,you have some interesting perspectives on this, \Nespecially as someone who -- Dialogue: 0,0:22:59.69,0:23:03.70,Default,,0000,0000,0000,,with skimr as a very popular package. Dialogue: 0,0:23:03.70,0:23:08.88,Default,,0000,0000,0000,,(Erin) Sure. So skimr is pretty popular Dialogue: 0,0:23:08.88,0:23:12.47,Default,,0000,0000,0000,,and we do get \Na lot of different kinds of user feedback Dialogue: 0,0:23:12.47,0:23:15.96,Default,,0000,0000,0000,,we get people who want to know\Nhow to do things in skimr, Dialogue: 0,0:23:15.96,0:23:17.33,Default,,0000,0000,0000,,they have questions about it. Dialogue: 0,0:23:17.33,0:23:24.44,Default,,0000,0000,0000,,We have people who want to make,\Nyou know, suggestions for future development. Dialogue: 0,0:23:24.44,0:23:27.77,Default,,0000,0000,0000,,And then we get people with issue reports\Nand -- Dialogue: 0,0:23:27.96,0:23:30.12,Default,,0000,0000,0000,,I will say... it -- Dialogue: 0,0:23:30.12,0:23:34.08,Default,,0000,0000,0000,,when I said having users changes everything,\Nit really does Dialogue: 0,0:23:34.08,0:23:36.82,Default,,0000,0000,0000,,because you do have kind of a relationship\Nwith them Dialogue: 0,0:23:36.82,0:23:39.83,Default,,0000,0000,0000,,and they're using -- \Nyou've kind of -- Dialogue: 0,0:23:39.83,0:23:43.92,Default,,0000,0000,0000,,It's complex, right? \NBecause you've kind of given them something Dialogue: 0,0:23:43.92,0:23:48.78,Default,,0000,0000,0000,,And you want them to be grateful\Nthat you gave them this thing Dialogue: 0,0:23:48.78,0:23:52.04,Default,,0000,0000,0000,,and but you also, you know, in terms of -- Dialogue: 0,0:23:52.04,0:23:55.81,Default,,0000,0000,0000,,if you're enjoying your package \Nand you're developing it, Dialogue: 0,0:23:55.81,0:23:57.62,Default,,0000,0000,0000,,and you want to find out what's wrong. Dialogue: 0,0:23:57.62,0:24:01.36,Default,,0000,0000,0000,,So it's kind of like you feel good \Nwhen people are asking you Dialogue: 0,0:24:01.36,0:24:03.58,Default,,0000,0000,0000,,and tweeting to you and stuff like that. Dialogue: 0,0:24:03.58,0:24:08.33,Default,,0000,0000,0000,,But it can also get a little bit overwhelming. \NI will say -- Dialogue: 0,0:24:08.33,0:24:14.07,Default,,0000,0000,0000,,And skimr is kind of a strange case \Nbecause it was first developed at the unconf. Dialogue: 0,0:24:14.07,0:24:19.51,Default,,0000,0000,0000,,And so people were tweeting about it like\Nbefore it was finished, Dialogue: 0,0:24:19.66,0:24:23.44,Default,,0000,0000,0000,,before even like the first prototype\Nwas finished. Dialogue: 0,0:24:23.44,0:24:29.29,Default,,0000,0000,0000,,And so we had a lot of feedback right away\Nabout ideas of things to do Dialogue: 0,0:24:29.29,0:24:35.42,Default,,0000,0000,0000,,and people started using it. Dialogue: 0,0:24:35.42,0:24:39.68,Default,,0000,0000,0000,,Um, and so I'll just tell you \Nhow I kind of think about dividing it up Dialogue: 0,0:24:39.68,0:24:41.21,Default,,0000,0000,0000,,like one thing I did was: Dialogue: 0,0:24:41.21,0:24:48.13,Default,,0000,0000,0000,,within two weeks we had questions\Non StackOverflow about skimr. Dialogue: 0,0:24:48.13,0:24:51.89,Default,,0000,0000,0000,,And so in the end, \Nonce it got to like five questions, Dialogue: 0,0:24:51.89,0:24:55.33,Default,,0000,0000,0000,,I just created a tag. \NAnd so I have a tag that I follow. Dialogue: 0,0:24:55.33,0:24:57.61,Default,,0000,0000,0000,,And I find that's helpful. Dialogue: 0,0:24:57.61,0:25:01.17,Default,,0000,0000,0000,,We don't get that many questions anymore\Nover there, but -- Dialogue: 0,0:25:01.17,0:25:05.22,Default,,0000,0000,0000,,And then we have our issue tracker. Dialogue: 0,0:25:05.22,0:25:10.48,Default,,0000,0000,0000,,It's the main place where people show up \Nand it's really helpful in a way Dialogue: 0,0:25:10.48,0:25:15.86,Default,,0000,0000,0000,,because we have some kind of heavy users\Nwho come in and say: Dialogue: 0,0:25:15.86,0:25:21.56,Default,,0000,0000,0000,,"hey, if you're on the development version of tibble, \Nit doesn't work anymore because this happened." Dialogue: 0,0:25:21.56,0:25:26.23,Default,,0000,0000,0000,,And so that's helping us\Nkeep a little bit ahead of the game Dialogue: 0,0:25:26.23,0:25:32.84,Default,,0000,0000,0000,,because you don't want to find out \Nthat it breaks with the development version of tibble, Dialogue: 0,0:25:32.84,0:25:39.80,Default,,0000,0000,0000,,the day that there's a release\Nand they can be really helpful with that, Dialogue: 0,0:25:40.56,0:25:43.71,Default,,0000,0000,0000,,On the other hand, the whole issue of -- Dialogue: 0,0:25:44.64,0:25:50.39,Default,,0000,0000,0000,,You know, if you have a package \Nthat you're keeping for multiple years now. Dialogue: 0,0:25:50.39,0:25:54.44,Default,,0000,0000,0000,,You have things like your code style \Nthat you want to enforce Dialogue: 0,0:25:54.44,0:25:56.94,Default,,0000,0000,0000,,like we use spaces some places and Dialogue: 0,0:25:56.94,0:26:03.21,Default,,0000,0000,0000,,and we want to use the assignment operator\Nand not the equal sign and things like that... Dialogue: 0,0:26:03.21,0:26:07.54,Default,,0000,0000,0000,,And so sometimes it's hard when users \Nwant to send a pull request. Dialogue: 0,0:26:07.54,0:26:10.92,Default,,0000,0000,0000,,And then you want them --\Nyou want to encourage them to contribute, Dialogue: 0,0:26:10.92,0:26:12.33,Default,,0000,0000,0000,,but you don't want them -- Dialogue: 0,0:26:12.33,0:26:18.23,Default,,0000,0000,0000,,no, it feels kind of like \Nyou're being so OCD on like saying: Dialogue: 0,0:26:18.26,0:26:20.70,Default,,0000,0000,0000,,"Hey, would you mind adding a space here?" Dialogue: 0,0:26:20.70,0:26:25.43,Default,,0000,0000,0000,,And so I find it challenging to find the balance\Nwith that in terms of saying Dialogue: 0,0:26:25.43,0:26:29.42,Default,,0000,0000,0000,,I'll just fix it for you, versus asking them to fix. Dialogue: 0,0:26:29.76,0:26:33.23,Default,,0000,0000,0000,,[Julia] Yeah, yeah, there was -- some of the\Nthings you said in there in terms of like, Dialogue: 0,0:26:33.23,0:26:37.14,Default,,0000,0000,0000,,you know, following a tag\Non StackOverflow, or Dialogue: 0,0:26:38.36,0:26:44.01,Default,,0000,0000,0000,,You know, getting that note of should I edit a PR\Nafterwards versus interacting with somebody? Dialogue: 0,0:26:44.01,0:26:46.59,Default,,0000,0000,0000,,Are things that I also have,\Nkind of had to figure out, Dialogue: 0,0:26:46.59,0:26:50.61,Default,,0000,0000,0000,,like, what am I, what am I going to do.\NAnd so that's interesting. Dialogue: 0,0:26:50.61,0:26:58.14,Default,,0000,0000,0000,,Um, you addressed some of the issues \Naround also managing feature requests as well, Dialogue: 0,0:26:58.14,0:27:00.15,Default,,0000,0000,0000,,which was another interesting question. Dialogue: 0,0:27:00.15,0:27:03.45,Default,,0000,0000,0000,,So Leo. I think you um -- Dialogue: 0,0:27:04.34,0:27:08.52,Default,,0000,0000,0000,,I wanted to ask you about that issue \Nof hearing from users Dialogue: 0,0:27:08.52,0:27:11.18,Default,,0000,0000,0000,,as someone who works \Non more specialized packages. Dialogue: 0,0:27:12.10,0:27:14.82,Default,,0000,0000,0000,,[Leo] Yes, so the packages \NI work with on Bioconductor, Dialogue: 0,0:27:14.82,0:27:16.72,Default,,0000,0000,0000,,they don't have as many users Dialogue: 0,0:27:16.72,0:27:18.39,Default,,0000,0000,0000,,[inaudible] Dialogue: 0,0:27:18.39,0:27:20.80,Default,,0000,0000,0000,,you needed some very expensive data\Nsometimes Dialogue: 0,0:27:22.37,0:27:23.59,Default,,0000,0000,0000,,in order to use them. Dialogue: 0,0:27:23.59,0:27:28.88,Default,,0000,0000,0000,,And so the issue I deal with is that Dialogue: 0,0:27:28.88,0:27:33.09,Default,,0000,0000,0000,,from one side we have open source tools\Nand we want to provide them Dialogue: 0,0:27:33.09,0:27:36.29,Default,,0000,0000,0000,,and you know for free and build \Na community around them. Dialogue: 0,0:27:36.29,0:27:40.11,Default,,0000,0000,0000,,But the other side, sometimes we have people\Nthat have this expensive private data. Dialogue: 0,0:27:40.11,0:27:45.01,Default,,0000,0000,0000,,Some published under scared about sharing it,\Neven when they have questions. Dialogue: 0,0:27:45.01,0:27:47.73,Default,,0000,0000,0000,,So you end up getting a lot of emails. Dialogue: 0,0:27:48.37,0:27:52.74,Default,,0000,0000,0000,,And I try to convince them saying \Nthat this doesn't really benefit anyone Dialogue: 0,0:27:52.74,0:27:57.90,Default,,0000,0000,0000,,Because I mean, I learn from the experience. \NThey learn from the experience, Dialogue: 0,0:27:57.90,0:27:59.50,Default,,0000,0000,0000,,but no one else really does. Dialogue: 0,0:27:59.50,0:28:05.57,Default,,0000,0000,0000,,So I tried to convince them to put\Ntheir questions on the Bioconductor support website Dialogue: 0,0:28:05.82,0:28:10.27,Default,,0000,0000,0000,,and through it share small reproducible examples. Dialogue: 0,0:28:10.85,0:28:13.71,Default,,0000,0000,0000,,Sometimes I can write a blog post \Nabout the question, Dialogue: 0,0:28:13.71,0:28:15.45,Default,,0000,0000,0000,,but that's a lot more work for me. Dialogue: 0,0:28:15.74,0:28:18.28,Default,,0000,0000,0000,,[Julia] Yeah yeah\NYeah, yeah, no, the same. Dialogue: 0,0:28:18.28,0:28:20.79,Default,,0000,0000,0000,,I bet this happens to a lot of folks\Nwho maintain packages. Dialogue: 0,0:28:20.79,0:28:22.68,Default,,0000,0000,0000,,You get the email and and \Nthen that's what I do too actually is like, Dialogue: 0,0:28:24.53,0:28:29.02,Default,,0000,0000,0000,,And sometimes, I will like help the person\Nwrite the reprex Dialogue: 0,0:28:29.02,0:28:31.48,Default,,0000,0000,0000,,and then be like now post it because then it's like, Dialogue: 0,0:28:31.48,0:28:34.61,Default,,0000,0000,0000,,well now at least this person knows\Nhow to post a reprex Dialogue: 0,0:28:34.61,0:28:40.20,Default,,0000,0000,0000,,and can do it next time,\Nbecause helping someone over email is not -- Dialogue: 0,0:28:40.20,0:28:43.55,Default,,0000,0000,0000,,doesn't multiply in the way \Nthat like public stuff does. Exactly. Dialogue: 0,0:28:43.82,0:28:44.62,Default,,0000,0000,0000,,We've touched a little bit -- Dialogue: 0,0:28:44.62,0:28:47.59,Default,,0000,0000,0000,,[Leo ] Sorry, just for that, like -- \Nwhat I tried to reward them with Dialogue: 0,0:28:47.59,0:28:51.22,Default,,0000,0000,0000,,is answering as fast as I can, but Dialogue: 0,0:28:51.25,0:28:51.74,Default,,0000,0000,0000,,(Julia) Yeah. Dialogue: 0,0:28:51.79,0:28:53.02,Default,,0000,0000,0000,,[Leo] questions they make. Dialogue: 0,0:28:53.02,0:28:56.06,Default,,0000,0000,0000,,[Julia] Yes.\NYes, being really responsive on those channels. Dialogue: 0,0:28:56.06,0:29:00.37,Default,,0000,0000,0000,,We have already touched a little bit on, \Nlike managing issues and feature request, Dialogue: 0,0:29:00.37,0:29:03.90,Default,,0000,0000,0000,,but I wanted to get maybe \None other person's perspective on that, Dialogue: 0,0:29:03.90,0:29:05.66,Default,,0000,0000,0000,,like about workflows, or whatever. Dialogue: 0,0:29:05.66,0:29:09.86,Default,,0000,0000,0000,,Scott, you have a ton of packages, Dialogue: 0,0:29:09.86,0:29:17.12,Default,,0000,0000,0000,,and I wonder if you have any perspective \Non user, on issues, feature requests Dialogue: 0,0:29:17.12,0:29:19.78,Default,,0000,0000,0000,,and any thoughts on like workflows\Naround that. Dialogue: 0,0:29:22.49,0:29:25.64,Default,,0000,0000,0000,,[Scott] Um, yeah, I guess I have \Na lot of packages Dialogue: 0,0:29:25.64,0:29:27.67,Default,,0000,0000,0000,,but none of them are very popular. Dialogue: 0,0:29:27.67,0:29:32.56,Default,,0000,0000,0000,,So I think it's -- I don't really have \Nthat sort of tidyverse problem. Dialogue: 0,0:29:33.66,0:29:40.81,Default,,0000,0000,0000,,So, but, you know, things I try and do. \NOr I think Leo said this, you know, responding. Dialogue: 0,0:29:40.81,0:29:44.22,Default,,0000,0000,0000,,I try and respond to all issues quickly, \Neven if I just say: Dialogue: 0,0:29:44.22,0:29:46.29,Default,,0000,0000,0000,,'Hey, I got it. \NAnd I'm going to have a look at it.' Dialogue: 0,0:29:46.54,0:29:51.67,Default,,0000,0000,0000,,I think it's important to sort of give people\Nthat feedback so they don't walk away Dialogue: 0,0:29:51.67,0:29:53.41,Default,,0000,0000,0000,,from your package. Dialogue: 0,0:29:53.41,0:29:57.36,Default,,0000,0000,0000,,And I think that's likely going to happen \Nif they don't have a response. Dialogue: 0,0:29:57.44,0:29:58.78,Default,,0000,0000,0000,,[Julia] Yeah. Absolutely. Dialogue: 0,0:29:58.78,0:30:01.79,Default,,0000,0000,0000,,[Scott] Um, and then feature requests... Dialogue: 0,0:30:02.81,0:30:07.52,Default,,0000,0000,0000,,I think it's always good advice\Nto think about scope creep Dialogue: 0,0:30:08.04,0:30:10.97,Default,,0000,0000,0000,,And if you're, you know -- \Nif something's out of scope, Dialogue: 0,0:30:10.97,0:30:15.29,Default,,0000,0000,0000,,then make sure to say that\Nand just, yeah. And instead of -- Dialogue: 0,0:30:15.29,0:30:22.49,Default,,0000,0000,0000,,try not to get your package \Nto be too disjointed for users. Dialogue: 0,0:30:24.09,0:30:25.88,Default,,0000,0000,0000,,[Julia] Yeah. Nice. Nice. Dialogue: 0,0:30:25.88,0:30:28.84,Default,,0000,0000,0000,,Alright, so one of the goals that -\Nlike one of the motivating goals Dialogue: 0,0:30:28.84,0:30:33.88,Default,,0000,0000,0000,,for this discussion is that, \Nhey, most packages only have one maintainer. Dialogue: 0,0:30:33.90,0:30:36.87,Default,,0000,0000,0000,,And it'd be better \Nif there was a broader Dialogue: 0,0:30:36.87,0:30:39.46,Default,,0000,0000,0000,,broader groups of people \Nwho can maintain. Dialogue: 0,0:30:39.46,0:30:46.37,Default,,0000,0000,0000,,So what is a path for someone, \Nfor new contributors to R packages. Dialogue: 0,0:30:46.66,0:30:48.96,Default,,0000,0000,0000,,So, for example, what it would be a first step. Dialogue: 0,0:30:48.96,0:30:53.71,Default,,0000,0000,0000,,What should someone do \Nif they want to help maintain one of your packages? Dialogue: 0,0:30:53.71,0:30:57.63,Default,,0000,0000,0000,,So let's um... so Erin:\Ncan you say that, Dialogue: 0,0:30:57.63,0:31:00.87,Default,,0000,0000,0000,,so you've got like some up \Nlike a public package on GitHub. Dialogue: 0,0:31:00.87,0:31:03.25,Default,,0000,0000,0000,,You maintain packages internally. Dialogue: 0,0:31:03.25,0:31:05.82,Default,,0000,0000,0000,,What should someone do \Nif they want to help with one of your packages? Dialogue: 0,0:31:07.42,0:31:10.01,Default,,0000,0000,0000,,[Erin] Yeah, I'll take this \Nfrom the internal side. Dialogue: 0,0:31:10.30,0:31:14.93,Default,,0000,0000,0000,,Because I think that's a perspective that\NI come from a lot more often. Dialogue: 0,0:31:15.31,0:31:21.41,Default,,0000,0000,0000,,Because I have like four packages \Nin that case in one package external Dialogue: 0,0:31:21.41,0:31:28.28,Default,,0000,0000,0000,,but in terms of how do I look for\Nnew contributors and maintainers, Dialogue: 0,0:31:28.40,0:31:33.50,Default,,0000,0000,0000,,a lot of my communication and issues \Nand features or feature requests Dialogue: 0,0:31:33.50,0:31:37.12,Default,,0000,0000,0000,,for an internal package \Nor like a work specific package. Dialogue: 0,0:31:37.23,0:31:42.63,Default,,0000,0000,0000,,Come via slack, even though \Nthe package is hosted on on GitHub, or Gitlab. Dialogue: 0,0:31:42.63,0:31:47.76,Default,,0000,0000,0000,,The questions and comments and issues\Ncome in via like a different tool. Dialogue: 0,0:31:48.26,0:31:54.73,Default,,0000,0000,0000,,So if someone is constantly asking questions \Nor constantly asking for features, Dialogue: 0,0:31:54.73,0:31:57.86,Default,,0000,0000,0000,,it's pretty easy to be like, all right, \Nwill onboard you to this package Dialogue: 0,0:31:57.86,0:32:01.40,Default,,0000,0000,0000,,and then voila, \Nyou may update it yourself! Dialogue: 0,0:32:03.77,0:32:10.52,Default,,0000,0000,0000,,Exactly. So I think like, for me, \Nif you're interested in the package, Dialogue: 0,0:32:10.52,0:32:13.82,Default,,0000,0000,0000,,if you have questions on the package Dialogue: 0,0:32:13.82,0:32:21.03,Default,,0000,0000,0000,,and if you've like shown an ability \Nto contribute to any package at all before Dialogue: 0,0:32:21.03,0:32:25.74,Default,,0000,0000,0000,,I think one like first initial step is \Nto have your own package Dialogue: 0,0:32:25.74,0:32:27.70,Default,,0000,0000,0000,,or have something \Nthat you've contributed somewhere Dialogue: 0,0:32:27.70,0:32:31.04,Default,,0000,0000,0000,,just to show that you know \Nwhat an R package is in the first place. Dialogue: 0,0:32:31.74,0:32:36.83,Default,,0000,0000,0000,,But really motivation is the, \Nthe important thing. Dialogue: 0,0:32:36.92,0:32:39.100,Default,,0000,0000,0000,,[Julia] Yeah. Nice. Nice.\NWhat about you, Scott? Dialogue: 0,0:32:39.100,0:32:43.42,Default,,0000,0000,0000,,What, like what do you see \Nas like a path for someone to get on? Dialogue: 0,0:32:43.42,0:32:47.78,Default,,0000,0000,0000,,And what would be like the first \Nlike a first step for someone who is interested ? Dialogue: 0,0:32:49.58,0:32:52.10,Default,,0000,0000,0000,,[Scott] Yeah, I guess my first, \Nmy main point was Dialogue: 0,0:32:52.10,0:32:56.37,Default,,0000,0000,0000,,what Erin already said was essentially is, \Nyou know, Dialogue: 0,0:32:56.37,0:33:01.20,Default,,0000,0000,0000,,From my experience, like \Nthe most successful sort of new contributors Dialogue: 0,0:33:01.20,0:33:05.22,Default,,0000,0000,0000,,are people that end up \Ntaking over packages or contribute a lot Dialogue: 0,0:33:05.22,0:33:08.87,Default,,0000,0000,0000,,or people that use the package \Nand their package is a dependency Dialogue: 0,0:33:08.87,0:33:10.69,Default,,0000,0000,0000,,or in a project or whatever. Dialogue: 0,0:33:10.69,0:33:15.66,Default,,0000,0000,0000,,And so they sort of have this at least short term,\Nyou know vested interest in the package Dialogue: 0,0:33:15.66,0:33:20.01,Default,,0000,0000,0000,,because you know you have \Ndrive by contributors that will fix a bug Dialogue: 0,0:33:20.01,0:33:22.40,Default,,0000,0000,0000,,or do this or that. Dialogue: 0,0:33:22.40,0:33:27.24,Default,,0000,0000,0000,,But it's often \Nwhen your package is a dependency Dialogue: 0,0:33:27.24,0:33:30.33,Default,,0000,0000,0000,,or sort of major part of somebody's project \Nor something. Dialogue: 0,0:33:30.33,0:33:35.31,Default,,0000,0000,0000,,And so that's always a good, \Na good place to find contributors. Um, yeah. Dialogue: 0,0:33:36.87,0:33:41.36,Default,,0000,0000,0000,,[Julia] Yes. Well, speaking of dependencies, \Nspeaking of dependencies... Dialogue: 0,0:33:41.36,0:33:43.36,Default,,0000,0000,0000,,That's a big part. Dialogue: 0,0:33:43.36,0:33:48.69,Default,,0000,0000,0000,,I mean, that's a big bit of like the decisions \Naround maintaining an R package Dialogue: 0,0:33:48.69,0:33:53.00,Default,,0000,0000,0000,,like deciding what do I want to take on \Nas a dependency. Dialogue: 0,0:33:53.79,0:33:57.80,Default,,0000,0000,0000,,Like do I want to, do I want to...\Nlike what do I want to depend on Dialogue: 0,0:33:58.81,0:34:03.80,Default,,0000,0000,0000,,Do I want to like rewrite something internally \Nor take on dependency, Dialogue: 0,0:34:03.80,0:34:10.49,Default,,0000,0000,0000,,like everything from like something like, \Nyou know, off to some little algorithm or whatever. Dialogue: 0,0:34:10.74,0:34:15.16,Default,,0000,0000,0000,,So, so I would love to hear something\Nabout that. Dialogue: 0,0:34:15.16,0:34:19.89,Default,,0000,0000,0000,,So Leo, what are some of the thoughts \Nyou have had Dialogue: 0,0:34:19.89,0:34:22.22,Default,,0000,0000,0000,,as you have made those decisions \Nin your packages? Dialogue: 0,0:34:22.72,0:34:27.45,Default,,0000,0000,0000,,[Leo] Yes. \NSo, in the Bioconductor realm, Dialogue: 0,0:34:28.02,0:34:33.26,Default,,0000,0000,0000,,there's the Bioconductor core team \Nthat they did their own grants and funding Dialogue: 0,0:34:33.26,0:34:37.58,Default,,0000,0000,0000,,and they maintain the core packages,\Nthe core infrastructure packages. Dialogue: 0,0:34:37.58,0:34:39.24,Default,,0000,0000,0000,,So I tried to depend on those Dialogue: 0,0:34:39.24,0:34:41.86,Default,,0000,0000,0000,,because I know \Nthey're going to be professionally maintained. Dialogue: 0,0:34:42.93,0:34:45.69,Default,,0000,0000,0000,,Also they have access to your package. Dialogue: 0,0:34:45.69,0:34:50.70,Default,,0000,0000,0000,,So if you depend on them \Nand they make change that breaks your package, Dialogue: 0,0:34:50.70,0:34:55.00,Default,,0000,0000,0000,,they can actually go and fix yours\Nwithout you actually doing anything. Dialogue: 0,0:34:56.75,0:34:59.82,Default,,0000,0000,0000,,And similarly, we try to rely on \Nlike the tidyverse packages, Dialogue: 0,0:34:59.82,0:35:07.14,Default,,0000,0000,0000,,because I know that they're well funded \Nto keep working on the packages and and fix them. Dialogue: 0,0:35:07.14,0:35:12.53,Default,,0000,0000,0000,,But I also like to depend on packages \Nfrom authors that I have interacted with in the past. Dialogue: 0,0:35:12.53,0:35:16.48,Default,,0000,0000,0000,,That's also sometimes \Nhow I find out about this packages from like-- Dialogue: 0,0:35:16.57,0:35:18.03,Default,,0000,0000,0000,,[Julia] Yeah yeah Dialogue: 0,0:35:18.49,0:35:22.79,Default,,0000,0000,0000,,Yeah yeah yeah yeah that --\Nyeah, those that -- So yeah, Dialogue: 0,0:35:22.79,0:35:25.24,Default,,0000,0000,0000,,so things that you know \Nare stable projects, Dialogue: 0,0:35:25.24,0:35:27.60,Default,,0000,0000,0000,,things that you know \Nyou have relationships with people, Dialogue: 0,0:35:27.60,0:35:30.02,Default,,0000,0000,0000,,that you'll be able to communicate with. Dialogue: 0,0:35:30.02,0:35:32.38,Default,,0000,0000,0000,,Yeah, that all, that all makes sense. Dialogue: 0,0:35:32.38,0:35:36.84,Default,,0000,0000,0000,,Another, um, some -- \Nso there's dependencies, Dialogue: 0,0:35:36.84,0:35:40.64,Default,,0000,0000,0000,,and then there's --\Nthen, there are also Dialogue: 0,0:35:41.38,0:35:45.62,Default,,0000,0000,0000,,like other things that so they can change,\Nright and you have to manage that. Dialogue: 0,0:35:45.62,0:35:48.56,Default,,0000,0000,0000,,Then there's also APIs that can change. Dialogue: 0,0:35:48.56,0:35:54.80,Default,,0000,0000,0000,,So like Erin, your package that's on GitHub \Nis an API package, right? Dialogue: 0,0:35:56.16,0:35:58.07,Default,,0000,0000,0000,,[Erin] Yeah, exactly! Dialogue: 0,0:35:58.11,0:36:02.93,Default,,0000,0000,0000,,[Julia] And like, so you have to, \Nyou have to like pay attention to Dialogue: 0,0:36:02.93,0:36:04.78,Default,,0000,0000,0000,,when the API itself changes. Dialogue: 0,0:36:06.87,0:36:11.27,Default,,0000,0000,0000,,[Erin] Yeah, precisely so as an example: Dialogue: 0,0:36:12.56,0:36:18.13,Default,,0000,0000,0000,,Astronomy Picture of the Day, or APOD\Nas it's more commonly called Dialogue: 0,0:36:18.13,0:36:23.36,Default,,0000,0000,0000,,can either post a, like a picture \Nor an image or a gif. Dialogue: 0,0:36:23.36,0:36:27.35,Default,,0000,0000,0000,,And then all of that information is supposed \Nto get transferred back into the API. Dialogue: 0,0:36:27.35,0:36:30.87,Default,,0000,0000,0000,,But for a really long time,\Nthere was an error. Dialogue: 0,0:36:30.87,0:36:35.96,Default,,0000,0000,0000,,Anytime there was the -- \Nwith the API, anytime there was a video Dialogue: 0,0:36:35.96,0:36:37.52,Default,,0000,0000,0000,,that was accessed. Dialogue: 0,0:36:37.52,0:36:41.77,Default,,0000,0000,0000,,So it was able to basically download \Nany information about any pictures Dialogue: 0,0:36:41.77,0:36:44.76,Default,,0000,0000,0000,,but any time there was a video, \Nthere was a problem. Dialogue: 0,0:36:45.06,0:36:48.03,Default,,0000,0000,0000,,So I wrote in this like whole test. Dialogue: 0,0:36:48.03,0:36:54.34,Default,,0000,0000,0000,,Like: if video,\Ndo not pull this day of information. Dialogue: 0,0:36:54.69,0:37:00.24,Default,,0000,0000,0000,,So that the user doesn't see the error,\Nthey just don't get an image back Dialogue: 0,0:37:00.24,0:37:02.30,Default,,0000,0000,0000,,and then they fixed the -- Dialogue: 0,0:37:02.30,0:37:03.85,Default,,0000,0000,0000,,[Julia] They fixed it! Dialogue: 0,0:37:03.89,0:37:09.76,Default,,0000,0000,0000,,[Erin] Making my whole \Nlittle workaround unnecessary. Dialogue: 0,0:37:10.13,0:37:12.30,Default,,0000,0000,0000,,So like keeping on track of like Dialogue: 0,0:37:12.30,0:37:15.65,Default,,0000,0000,0000,,(a) what's like issues \Nare happening in the API Dialogue: 0,0:37:15.65,0:37:18.97,Default,,0000,0000,0000,,to either like find workarounds \Nor solve them Dialogue: 0,0:37:18.97,0:37:26.81,Default,,0000,0000,0000,,or even like do a pull request to this\Nlike API source to fix it for them. Dialogue: 0,0:37:27.47,0:37:31.15,Default,,0000,0000,0000,,I think it's like an important part \Nof maintaining Dialogue: 0,0:37:31.15,0:37:36.22,Default,,0000,0000,0000,,a package solely based on \Nan API structure. Dialogue: 0,0:37:36.22,0:37:37.99,Default,,0000,0000,0000,,[Julia] Yeah and you know that's, um -- Dialogue: 0,0:37:38.12,0:37:41.95,Default,,0000,0000,0000,,There are a lot of parallels just with\NJust with like if you're dependent Dialogue: 0,0:37:41.95,0:37:45.72,Default,,0000,0000,0000,,on another R package in general, you know,\Nlike everything you just said about the API, Dialogue: 0,0:37:45.72,0:37:49.75,Default,,0000,0000,0000,,that happens with just other software\Nthat you're dependent on. Dialogue: 0,0:37:49.75,0:37:54.96,Default,,0000,0000,0000,,Either other R packages or non-R software,\Nyou know, and that is for sure Dialogue: 0,0:37:54.96,0:38:01.83,Default,,0000,0000,0000,,part of this whole deal and like,\Nchoosing carefully what software Dialogue: 0,0:38:02.12,0:38:05.35,Default,,0000,0000,0000,,Are you going to decide to use or not. Dialogue: 0,0:38:05.35,0:38:09.78,Default,,0000,0000,0000,,And, you know, people do -- \Nyou know Leonardo shared his perspective. Dialogue: 0,0:38:09.78,0:38:13.22,Default,,0000,0000,0000,,But people have different sets of priorities\Nthey bring to that Dialogue: 0,0:38:13.22,0:38:18.08,Default,,0000,0000,0000,,and make different decisions,\Ndepending on their own perspective Dialogue: 0,0:38:18.08,0:38:20.77,Default,,0000,0000,0000,,which I think is, you know, makes sense \Nand it's fine. Dialogue: 0,0:38:20.77,0:38:23.46,Default,,0000,0000,0000,,Um, one thing that happens in packages, is that Dialogue: 0,0:38:25.79,0:38:26.50,Default,,0000,0000,0000,,They that Dialogue: 0,0:38:27.62,0:38:30.34,Default,,0000,0000,0000,,Packages don't keep the maintainer forever. Dialogue: 0,0:38:30.34,0:38:32.70,Default,,0000,0000,0000,,I mean we you know we are talking \Nabout the fact that, Dialogue: 0,0:38:32.70,0:38:34.88,Default,,0000,0000,0000,,like the qualtRics package \Nhad a different maintainer. Dialogue: 0,0:38:34.88,0:38:38.01,Default,,0000,0000,0000,,He wasn't using it anymore.\NAnd then I started maintaining it. Dialogue: 0,0:38:38.09,0:38:42.30,Default,,0000,0000,0000,,And actually, like, since I moved --\NI switched jobs from StackOverflow to RStudio Dialogue: 0,0:38:43.13,0:38:46.92,Default,,0000,0000,0000,,RStudio doesn't use qualtRics for surveys \Nand so I'm actually -- Dialogue: 0,0:38:46.92,0:38:50.67,Default,,0000,0000,0000,,Like I kind of have a stopgap \Nsaying in place for now, Dialogue: 0,0:38:50.67,0:38:54.78,Default,,0000,0000,0000,,but I'm gonna, I'm actually looking for someone else\Nto take over qualtRics in the long term. Dialogue: 0,0:38:55.34,0:38:56.58,Default,,0000,0000,0000,,Because it like -- Dialogue: 0,0:38:56.58,0:39:00.73,Default,,0000,0000,0000,,it is better, if it's someone who uses it,\Nwho is actually actively using it so that Dialogue: 0,0:39:01.14,0:39:05.61,Default,,0000,0000,0000,,So this is something that has to happen \Nin real in the real world is that Dialogue: 0,0:39:05.61,0:39:10.08,Default,,0000,0000,0000,,maintainers, packages, pieces of software \Nhave to change and maintainers. Dialogue: 0,0:39:10.08,0:39:13.52,Default,,0000,0000,0000,,And so I'm wondering what sets -- Dialogue: 0,0:39:13.52,0:39:18.90,Default,,0000,0000,0000,,if you have experienced this, \Nwhat sets that up for success? Dialogue: 0,0:39:18.90,0:39:24.78,Default,,0000,0000,0000,,And this is something that probably \Nlooks different in open source software Dialogue: 0,0:39:24.78,0:39:29.69,Default,,0000,0000,0000,,versus internal packages \Nversus, you know, and really big packages Dialogue: 0,0:39:29.69,0:39:31.26,Default,,0000,0000,0000,,versus small packages. Dialogue: 0,0:39:31.26,0:39:39.27,Default,,0000,0000,0000,,So maybe, Scott, can you talk about\Nwhat this has looked like for you? Dialogue: 0,0:39:39.27,0:39:44.27,Default,,0000,0000,0000,,You know, how you would manage that, \Nsay in rOpenSci? Dialogue: 0,0:39:45.73,0:39:46.79,Default,,0000,0000,0000,,[Scott] Yeah. Dialogue: 0,0:39:47.62,0:39:51.78,Default,,0000,0000,0000,,So for most of the ones \NI've been involved with Dialogue: 0,0:39:52.40,0:39:59.31,Default,,0000,0000,0000,,They'd mostly been sort of \Nwholesale letting somebody else Dialogue: 0,0:39:59.31,0:40:01.97,Default,,0000,0000,0000,,manage the package without \Nsort of me being involved. Dialogue: 0,0:40:01.97,0:40:07.98,Default,,0000,0000,0000,,And so that's mostly what's happened\Nand I think that's worked okay Dialogue: 0,0:40:07.98,0:40:13.93,Default,,0000,0000,0000,,and I think like one of the things \Nthat you have to be okay with those sort of giving up Dialogue: 0,0:40:13.93,0:40:18.08,Default,,0000,0000,0000,,being okay with giving up control \Nof your baby. Dialogue: 0,0:40:18.23,0:40:19.53,Default,,0000,0000,0000,,[Julia] Yeah, it's not yours anymore so... Dialogue: 0,0:40:19.53,0:40:24.04,Default,,0000,0000,0000,,[Scott] Yeah, that can be hard, but you know, \Nyou just have to sort of say, Dialogue: 0,0:40:24.04,0:40:29.10,Default,,0000,0000,0000,,you know, the new person Is the maintainer\Nand if they want to change the functions Dialogue: 0,0:40:29.10,0:40:32.62,Default,,0000,0000,0000,,and whatever, like it's you know \Nit's their package, they're the maintainer. Dialogue: 0,0:40:33.19,0:40:37.63,Default,,0000,0000,0000,,I think it's it's worked pretty well, \Nbut I think an important thing is being there. Dialogue: 0,0:40:37.70,0:40:41.36,Default,,0000,0000,0000,,Being, you have to sort of be available \Nat least for a little while Dialogue: 0,0:40:41.36,0:40:46.32,Default,,0000,0000,0000,,for people to get oriented \Nand that can take some time. Dialogue: 0,0:40:46.32,0:40:49.90,Default,,0000,0000,0000,,And I think an important thing \Nwhen looking for a new maintainer Dialogue: 0,0:40:49.90,0:40:52.63,Default,,0000,0000,0000,,is trying to find somebody \Nthat knows the topic area. Dialogue: 0,0:40:52.86,0:40:53.78,Default,,0000,0000,0000,,[Julia] Yes, absolutely. Dialogue: 0,0:40:53.78,0:40:56.52,Default,,0000,0000,0000,,[Scott] That's like \Nif it's a genomics package, Dialogue: 0,0:40:56.52,0:41:00.16,Default,,0000,0000,0000,,then it should be somebody in genomics probably\Nbecause they're going to maybe use it Dialogue: 0,0:41:00.16,0:41:05.13,Default,,0000,0000,0000,,and maybe know the area \Nknow this sort of ins and outs of that type of data. Dialogue: 0,0:41:05.13,0:41:07.18,Default,,0000,0000,0000,,So. Yeah. Dialogue: 0,0:41:07.77,0:41:08.91,Default,,0000,0000,0000,,[Julia] Yeah, all right. Dialogue: 0,0:41:08.91,0:41:13.71,Default,,0000,0000,0000,,Erin, can you reflect on that maybe \Nin the internal package domain. Dialogue: 0,0:41:13.71,0:41:17.25,Default,,0000,0000,0000,,Like what, like, what does it\Ntake to pass things off well Dialogue: 0,0:41:17.25,0:41:22.12,Default,,0000,0000,0000,,because that, actually in my experience, \Nit happens a lot in internal Dialogue: 0,0:41:22.12,0:41:23.75,Default,,0000,0000,0000,,because people change jobs. Dialogue: 0,0:41:24.41,0:41:25.63,Default,,0000,0000,0000,,[Erin] Yeah, exactly. Dialogue: 0,0:41:25.63,0:41:29.70,Default,,0000,0000,0000,,I think one of the major differences \Nthat I've seen with passing an internal package Dialogue: 0,0:41:29.70,0:41:33.78,Default,,0000,0000,0000,,is the like time of notice Dialogue: 0,0:41:33.78,0:41:35.22,Default,,0000,0000,0000,,[Julia] Yeah. Dialogue: 0,0:41:35.22,0:41:38.58,Default,,0000,0000,0000,,[Erin] Someone switching jobs, \Nthey may not tell the other people Dialogue: 0,0:41:38.58,0:41:41.55,Default,,0000,0000,0000,,that there's two things out until \Nthe like two weeks beforehand, Dialogue: 0,0:41:41.55,0:41:46.08,Default,,0000,0000,0000,,in which case they have a lot\Nof other things to offboard. Dialogue: 0,0:41:46.08,0:41:49.89,Default,,0000,0000,0000,,That might not be top priority. Dialogue: 0,0:41:49.89,0:41:56.54,Default,,0000,0000,0000,,So I think it comes to having \Nclear like guidelines Dialogue: 0,0:41:56.54,0:42:00.08,Default,,0000,0000,0000,,around what the package does,\Nthe style of the code, where it's located, Dialogue: 0,0:42:00.15,0:42:06.35,Default,,0000,0000,0000,,where questions and answers happen \Nlike a side effect in Slack Dialogue: 0,0:42:06.35,0:42:11.81,Default,,0000,0000,0000,,or effect in GitHub in a way \Nto sort of pass off everything Dialogue: 0,0:42:11.81,0:42:14.53,Default,,0000,0000,0000,,through written documentation Dialogue: 0,0:42:14.53,0:42:18.83,Default,,0000,0000,0000,,if like in person or \Nover zoom communication Dialogue: 0,0:42:18.83,0:42:24.94,Default,,0000,0000,0000,,like can't happen due to \Nother time commitment or at work. Dialogue: 0,0:42:25.35,0:42:32.25,Default,,0000,0000,0000,,But if like possible, then having \Nlike a real like onboarding experience Dialogue: 0,0:42:32.25,0:42:35.100,Default,,0000,0000,0000,,of walking someone through \Nthe ins and outs of a package, Dialogue: 0,0:42:35.100,0:42:38.06,Default,,0000,0000,0000,,I've found to be very useful. Dialogue: 0,0:42:38.06,0:42:40.72,Default,,0000,0000,0000,,But there's not always \Na lot of time for it. Dialogue: 0,0:42:41.27,0:42:43.14,Default,,0000,0000,0000,,[Julia] Absolutely. Absolutely. Dialogue: 0,0:42:43.14,0:42:47.67,Default,,0000,0000,0000,,All right, one question I'd like to ask\NIs about the decision Dialogue: 0,0:42:47.67,0:42:56.23,Default,,0000,0000,0000,,to submit a package to some kind of like \Ncentralized repository like CRAN or Bioconductor Dialogue: 0,0:42:56.23,0:43:00.76,Default,,0000,0000,0000,,or to do something like peer review, \Nlike rOpenSci, Dialogue: 0,0:43:00.76,0:43:06.62,Default,,0000,0000,0000,,Or just the Journal of Open Source Software \Nversus maybe to say only on GitHub. Dialogue: 0,0:43:06.62,0:43:10.58,Default,,0000,0000,0000,,And Elin, I was wondering, \Nso you know you maybe in the context of Dialogue: 0,0:43:10.58,0:43:12.50,Default,,0000,0000,0000,,you've worked in a lot of \Ndifferent kinds of software, Dialogue: 0,0:43:12.50,0:43:15.97,Default,,0000,0000,0000,,but then you had skimr \Nyou all started it at the unconf Dialogue: 0,0:43:15.97,0:43:20.52,Default,,0000,0000,0000,,and then you know, \Nso it was rOpenSci package Dialogue: 0,0:43:20.52,0:43:22.24,Default,,0000,0000,0000,,and then you did decide \Nto submit it to CRAN Dialogue: 0,0:43:22.24,0:43:27.71,Default,,0000,0000,0000,,like what do you think, how do you, \Nwhat do you think are the right decisions Dialogue: 0,0:43:27.71,0:43:31.56,Default,,0000,0000,0000,,to consider when deciding \Nwhen making those decisions? Dialogue: 0,0:43:32.14,0:43:36.54,Default,,0000,0000,0000,,[Elin] So it's good \Nbecause it's a really good question. Dialogue: 0,0:43:36.64,0:43:42.69,Default,,0000,0000,0000,,We took a while to decide \Nto submit it to CRAN Dialogue: 0,0:43:42.69,0:43:47.18,Default,,0000,0000,0000,,like at first we were just working on \Ngetting the functionality and thinking about it. Dialogue: 0,0:43:47.18,0:43:51.03,Default,,0000,0000,0000,,And we reverted we -- \Nyou know version numbers are really important. Dialogue: 0,0:43:51.03,0:43:55.62,Default,,0000,0000,0000,,And at the conference at the unconf, \Nwe kind of started, we said it's version one Dialogue: 0,0:43:55.62,0:44:01.43,Default,,0000,0000,0000,,but then afterwards, a few weeks later,\Nwe went back and said it was like version 0.5 instead Dialogue: 0,0:44:01.43,0:44:04.71,Default,,0000,0000,0000,,Because once you say it's version one, Dialogue: 0,0:44:04.71,0:44:08.73,Default,,0000,0000,0000,,you really kind of making a promise to people\Nthat it's going to work. Dialogue: 0,0:44:08.73,0:44:13.78,Default,,0000,0000,0000,,And if you, you can always if it's less than one\NKind of, say, it doesn't . Dialogue: 0,0:44:13.78,0:44:15.60,Default,,0000,0000,0000,,'Yeah we're not promising anything.' Dialogue: 0,0:44:15.60,0:44:19.27,Default,,0000,0000,0000,,And you can put that in your README.\NAnd definitely when you're going to CRAN, Dialogue: 0,0:44:19.34,0:44:23.09,Default,,0000,0000,0000,,All of a sudden, it really, you know, \Nthey're going to do what they do. Dialogue: 0,0:44:23.09,0:44:25.100,Default,,0000,0000,0000,,Everybody complains, \Nbut they're maintainers too, right? Dialogue: 0,0:44:25.100,0:44:30.79,Default,,0000,0000,0000,,And so they're going to do what they do\Nto make sure that everything works Dialogue: 0,0:44:30.79,0:44:36.93,Default,,0000,0000,0000,,and they're going to find a million little things\Nthat you didn't really follow the rules on. Dialogue: 0,0:44:38.58,0:44:41.86,Default,,0000,0000,0000,,And then all of a sudden,\Nyou have this world of users Dialogue: 0,0:44:41.86,0:44:45.21,Default,,0000,0000,0000,,and you've kind of made \Nthis published manual on the web Dialogue: 0,0:44:45.21,0:44:48.94,Default,,0000,0000,0000,,that anybody can find and\Nit's just a different feeling Dialogue: 0,0:44:48.94,0:44:52.57,Default,,0000,0000,0000,,when you once you're in one of those repos,\NI think in one of those repository. Dialogue: 0,0:44:52.57,0:44:56.71,Default,,0000,0000,0000,,With just in GitHub, \NI actually sometimes don't even put a license. Dialogue: 0,0:44:56.71,0:45:00.30,Default,,0000,0000,0000,,I mean, I know they get mad \Nbut I just don't put a license sometimes Dialogue: 0,0:45:00.30,0:45:05.32,Default,,0000,0000,0000,,because I'm like, I'm not even sure \NI want people to have that much confidence Dialogue: 0,0:45:05.32,0:45:09.82,Default,,0000,0000,0000,,in this package.\NThat they should be using it. Dialogue: 0,0:45:09.82,0:45:13.41,Default,,0000,0000,0000,,And you know, I do have another one \Nfrom the following year's unconf, Dialogue: 0,0:45:13.41,0:45:15.10,Default,,0000,0000,0000,,which is called qcoder. Dialogue: 0,0:45:15.10,0:45:18.06,Default,,0000,0000,0000,,And we actually have \Nquite a few users of qcoder, Dialogue: 0,0:45:18.06,0:45:21.28,Default,,0000,0000,0000,,but not at the same volume, \Nbecause it's not, you know, Dialogue: 0,0:45:21.38,0:45:25.50,Default,,0000,0000,0000,,It could go on CRAN, you know, probably, \NI could get it ready in a couple weeks. Dialogue: 0,0:45:25.50,0:45:30.55,Default,,0000,0000,0000,,But I just, I don't feel like ready\Nto have a lot of users there. Dialogue: 0,0:45:30.55,0:45:33.78,Default,,0000,0000,0000,,So I just think you're making \Nthat big decision. Dialogue: 0,0:45:33.78,0:45:38.27,Default,,0000,0000,0000,,The other thing is, once you're on CRAN,\Nthat's actually when -- Dialogue: 0,0:45:38.27,0:45:41.92,Default,,0000,0000,0000,,and I'm sure with Bioconductor as well,\Nthen all of a sudden you're going to have Dialogue: 0,0:45:41.92,0:45:47.45,Default,,0000,0000,0000,,other packages using you as a dependency,\Nand especially because they changed, you know, Dialogue: 0,0:45:47.45,0:45:54.100,Default,,0000,0000,0000,,Nobody can use a GitHub package anymore. \NIf you're, you know, in CRAN and so it -- Dialogue: 0,0:45:54.100,0:45:56.11,Default,,0000,0000,0000,,but it has, you know -- Dialogue: 0,0:45:56.11,0:45:59.12,Default,,0000,0000,0000,,once you have those other people out there,\Nthen depending on you, Dialogue: 0,0:45:59.12,0:46:05.36,Default,,0000,0000,0000,,that also creates a level of \Nkind of social obligation, social contract Dialogue: 0,0:46:05.36,0:46:07.42,Default,,0000,0000,0000,,where, you know, you could say: Dialogue: 0,0:46:07.42,0:46:10.11,Default,,0000,0000,0000,,'Okay, I'm just gonna \Nlet my package get archived.' Dialogue: 0,0:46:10.11,0:46:14.11,Default,,0000,0000,0000,,But then all this other stuff breaks \Nand you know you feel bad about that. Dialogue: 0,0:46:14.11,0:46:16.13,Default,,0000,0000,0000,,Well, if you're me anyway. Dialogue: 0,0:46:17.38,0:46:22.15,Default,,0000,0000,0000,,So, you're kind of once you're in, \Nit's there. Dialogue: 0,0:46:22.15,0:46:23.58,Default,,0000,0000,0000,,There's just a snowballing of it. Dialogue: 0,0:46:23.58,0:46:27.60,Default,,0000,0000,0000,,And I feel like in, you know, your GitHub, \Nyou can just say: Dialogue: 0,0:46:27.60,0:46:31.08,Default,,0000,0000,0000,,'Hey, I put it out there.\NFeel free to fork it.' Dialogue: 0,0:46:31.08,0:46:33.79,Default,,0000,0000,0000,,Right, that's another thing, \Nno one mentioned, right? Dialogue: 0,0:46:33.79,0:46:38.68,Default,,0000,0000,0000,,I mean, again in open source, \Nthere is kind of the social contract Dialogue: 0,0:46:38.68,0:46:41.35,Default,,0000,0000,0000,,that a fork is the last resort. Dialogue: 0,0:46:41.35,0:46:49.51,Default,,0000,0000,0000,,But if a maintainer totally ghosts the project,\Nthen they someone else can always work the project Dialogue: 0,0:46:49.51,0:46:53.02,Default,,0000,0000,0000,,and make the fixes and you know,\NI certainly have done that. Dialogue: 0,0:46:53.41,0:46:57.27,Default,,0000,0000,0000,,Not for public consumption \Nbut just for free. Dialogue: 0,0:46:57.27,0:47:02.72,Default,,0000,0000,0000,,Yeah, where there's like I use,\NFor teaching I use RStudio Server a lot. Dialogue: 0,0:47:02.72,0:47:06.34,Default,,0000,0000,0000,,And there's some packages that don't\Nwork well on RStudio Server. Dialogue: 0,0:47:06.34,0:47:08.97,Default,,0000,0000,0000,,And so, you know, I have my little fixes. Dialogue: 0,0:47:08.97,0:47:13.43,Default,,0000,0000,0000,,They know it's like when you're ready for my bug\Nand interested in supporting it, Dialogue: 0,0:47:13.43,0:47:17.15,Default,,0000,0000,0000,,I'll send you my pull request again. Dialogue: 0,0:47:17.15,0:47:20.48,Default,,0000,0000,0000,,But I'm not going to like get into an argument \Nwith a maintainer about that. Dialogue: 0,0:47:20.68,0:47:29.01,Default,,0000,0000,0000,,So it's -- there's just a -- but I do, \NI feel it is this big you are, it's kind of like going public. Dialogue: 0,0:47:29.01,0:47:35.40,Default,,0000,0000,0000,,And now you're out there \Nand you have people depending on you Dialogue: 0,0:47:35.40,0:47:38.73,Default,,0000,0000,0000,,and you said you're ready so... Dialogue: 0,0:47:38.73,0:47:39.50,Default,,0000,0000,0000,,[Julia] Yeah, yeah. Dialogue: 0,0:47:39.50,0:47:45.24,Default,,0000,0000,0000,,No, those are really good thoughts on \Nthose decisions to submit to those central repos. Dialogue: 0,0:47:45.31,0:47:49.68,Default,,0000,0000,0000,,Okay, so now it's time for our last question.\NSo for our last question. Dialogue: 0,0:47:49.68,0:47:52.82,Default,,0000,0000,0000,,I'm gonna -- I want everybody say \Nwhat their response is, Dialogue: 0,0:47:52.82,0:47:59.83,Default,,0000,0000,0000,,maybe just kind of in like one sentence,\Nif at all possible, and just like one sentence. Dialogue: 0,0:47:59.96,0:48:09.16,Default,,0000,0000,0000,,So, for this last question, let's say, let's all say, \Nwhat does someone need to know Dialogue: 0,0:48:09.60,0:48:17.56,Default,,0000,0000,0000,,Like in in terms of like need to know or skills\Nto start maintaining a package? Dialogue: 0,0:48:17.56,0:48:20.76,Default,,0000,0000,0000,,So, Leonardo, can you go first? Dialogue: 0,0:48:20.76,0:48:23.97,Default,,0000,0000,0000,,What does someone need to know\Nto start maintaining a package? Dialogue: 0,0:48:25.10,0:48:28.84,Default,,0000,0000,0000,,[Leo] Okay, so for me it's:\Nyou have to be willing to communicate regularly. Dialogue: 0,0:48:28.84,0:48:32.82,Default,,0000,0000,0000,,So that means responding emails \Nor slack messages in a timely fashion. Dialogue: 0,0:48:32.82,0:48:36.67,Default,,0000,0000,0000,,You have to also learn how to ask questions\Nin such a way that others can help you fast Dialogue: 0,0:48:36.67,0:48:41.52,Default,,0000,0000,0000,,and ultimately need to practice patience \Nand be patient with yourself, Dialogue: 0,0:48:41.52,0:48:44.08,Default,,0000,0000,0000,,be patient with others \Nand practice empathy with others Dialogue: 0,0:48:44.08,0:48:47.63,Default,,0000,0000,0000,,because they're helping you\Nwith their time. Dialogue: 0,0:48:47.71,0:48:49.78,Default,,0000,0000,0000,,[Julia] I love it, I love it. Fantastic. Dialogue: 0,0:48:49.78,0:48:55.72,Default,,0000,0000,0000,,Erin, what do you think people need \Nto know to start maintaining a package? Dialogue: 0,0:48:56.06,0:48:59.73,Default,,0000,0000,0000,,[Erin] Leo stole my answer.\NBut I will reiterate it. Dialogue: 0,0:48:59.73,0:49:03.69,Default,,0000,0000,0000,,What is like really \Ngood communication skills. Dialogue: 0,0:49:04.63,0:49:09.89,Default,,0000,0000,0000,,Both to answer questions \Nand to write up really great documentation Dialogue: 0,0:49:09.92,0:49:15.08,Default,,0000,0000,0000,,that helps to mitigate\Nthe types of questions and issues. Dialogue: 0,0:49:15.08,0:49:16.46,Default,,0000,0000,0000,,[Julia] That's awesome! Dialogue: 0,0:49:16.46,0:49:21.63,Default,,0000,0000,0000,,Elin, what do you think somebody needs\Nto know to start maintaining an R package? Dialogue: 0,0:49:22.29,0:49:25.63,Default,,0000,0000,0000,,[Elin] I think you need to know \Nthat you are really willing to do it. Dialogue: 0,0:49:25.63,0:49:28.42,Default,,0000,0000,0000,,I think you need to know\Nyou really like your package actually. Dialogue: 0,0:49:28.42,0:49:32.34,Default,,0000,0000,0000,,Like you don't put a package out\Nin the in the world Dialogue: 0,0:49:32.34,0:49:36.73,Default,,0000,0000,0000,,because you want other people \Nto maintain it, right? Or give you bug fixes. Dialogue: 0,0:49:36.73,0:49:38.39,Default,,0000,0000,0000,,It's because you want it to work. Dialogue: 0,0:49:38.39,0:49:40.53,Default,,0000,0000,0000,,[Julia] Nice. I love that. I love that. Dialogue: 0,0:49:40.53,0:49:46.36,Default,,0000,0000,0000,,Scott, what do you think someone needs to\Nknow to start maintaining an R package? Dialogue: 0,0:49:48.25,0:49:53.67,Default,,0000,0000,0000,,[Scott] So if you're somebody \Nthat only writes scripts Dialogue: 0,0:49:53.67,0:49:59.57,Default,,0000,0000,0000,,and what -- which I did, you know, \Nthe first probably four years of using R. Dialogue: 0,0:49:59.57,0:50:00.62,Default,,0000,0000,0000,,Learn functions. Dialogue: 0,0:50:00.62,0:50:05.46,Default,,0000,0000,0000,,So you can't really make an R package\Nif you just have scripts. Dialogue: 0,0:50:05.46,0:50:11.82,Default,,0000,0000,0000,,So I would say if that's one thing to learn\Nis to learn how to write functions and use them. Dialogue: 0,0:50:12.22,0:50:17.08,Default,,0000,0000,0000,,[Julia] Nice. I love that too. Awesome. Awesome! \NI love this whole discussion that we have had. Dialogue: 0,0:50:17.08,0:50:22.50,Default,,0000,0000,0000,,And it really aligns so strongly \Nwith the experiences I've had Dialogue: 0,0:50:22.50,0:50:26.22,Default,,0000,0000,0000,,maintaining a couple different packages.\NAnd when I think about -- Dialogue: 0,0:50:26.22,0:50:32.29,Default,,0000,0000,0000,,\NSo, I took on the qualtRics package,\Nwhich is an rOpenSci package Dialogue: 0,0:50:32.29,0:50:39.59,Default,,0000,0000,0000,,for accessing survey data from qualtrics \Nthrough their API. Dialogue: 0,0:50:39.59,0:50:43.48,Default,,0000,0000,0000,,So I took it on from one maintainer \Nfrom before, Dialogue: 0,0:50:43.48,0:50:48.81,Default,,0000,0000,0000,,and now I'm thinking about now, like, what will, \Nlike what happens if I, you know like now Dialogue: 0,0:50:48.81,0:50:50.99,Default,,0000,0000,0000,,I need to find the new maintainer.,\Nas I pass it on too. Dialogue: 0,0:50:50.99,0:50:52.100,Default,,0000,0000,0000,,And as I think about \Nall those things you all said. Dialogue: 0,0:50:52.100,0:50:55.82,Default,,0000,0000,0000,,Like what someone needs to know,\NI agree entirely. Dialogue: 0,0:50:55.82,0:50:58.51,Default,,0000,0000,0000,,And I think about like \Nin that particular -- Dialogue: 0,0:50:58.51,0:51:04.13,Default,,0000,0000,0000,,One thing I'm going to add, \Nas I think through this. Dialogue: 0,0:51:04.13,0:51:09.51,Default,,0000,0000,0000,,Is that, like, really, in an ideal world, \Nlike the person is someone Dialogue: 0,0:51:11.45,0:51:23.87,Default,,0000,0000,0000,,Someone who is like a user of that,\Nlike someone who is kind of the audience. Dialogue: 0,0:51:23.87,0:51:25.40,Default,,0000,0000,0000,,Like you can't -- Dialogue: 0,0:51:25.40,0:51:30.19,Default,,0000,0000,0000,,And it really aligned with what \NElin was saying about you care about that domain. Dialogue: 0,0:51:30.19,0:51:37.26,Default,,0000,0000,0000,,And if you're someone who is the audience for that,\Nthen you're like: Dialogue: 0,0:51:37.40,0:51:44.94,Default,,0000,0000,0000,,'Yep, I'm ready to maintain this because\NI'm actively using it and know how to fix it!' Dialogue: 0,0:51:45.24,0:51:50.08,Default,,0000,0000,0000,,And so that is another --\NLike for example when I'm -- Dialogue: 0,0:51:50.08,0:51:52.83,Default,,0000,0000,0000,,When we're going to be talking about, like, \Nwho's going to take over qualtRics? Dialogue: 0,0:51:52.83,0:51:57.08,Default,,0000,0000,0000,,Like that's going to be --\Nthat's a big part of it, right? Dialogue: 0,0:51:57.08,0:52:03.36,Default,,0000,0000,0000,,Like someone who is a person who uses qualtrics\Nand understands how packages are put together, Dialogue: 0,0:52:03.36,0:52:07.80,Default,,0000,0000,0000,,and has these responsive communication skills. Dialogue: 0,0:52:07.80,0:52:12.86,Default,,0000,0000,0000,,So thank you so much panelists \Nfor that wonderful discussion. Dialogue: 0,0:52:12.86,0:52:16.25,Default,,0000,0000,0000,,I think that Stefanie is going to wrap us up \Nwith a few announcements. Dialogue: 0,0:52:19.12,0:52:24.18,Default,,0000,0000,0000,,[Stefanie] I am, thank you so much. \NMy heart is full today. Dialogue: 0,0:52:24.18,0:52:30.48,Default,,0000,0000,0000,,This was really such a wonderful discussion.\NI love it, particularly because this is we thought: Dialogue: 0,0:52:30.48,0:52:33.57,Default,,0000,0000,0000,,'Oh, sure. Let's do a community call \Nas a panel discussion.' Dialogue: 0,0:52:33.57,0:52:38.78,Default,,0000,0000,0000,,But of course, that could just be \Nso disorganized and people chattering. Dialogue: 0,0:52:38.78,0:52:41.37,Default,,0000,0000,0000,,This was very well planned. \NAnd I thank the panel so much Dialogue: 0,0:52:41.37,0:52:45.25,Default,,0000,0000,0000,,because we all met a week ago\Nto talk about this. Dialogue: 0,0:52:45.25,0:52:47.93,Default,,0000,0000,0000,,So this is not \Nwhat an impromptu panel discussion looks like. Dialogue: 0,0:52:47.93,0:52:51.73,Default,,0000,0000,0000,,A lot of work went into this \Non the part of the panelists. Dialogue: 0,0:52:51.73,0:52:57.12,Default,,0000,0000,0000,,And so I thank all of you sincerely. \NThis could not have been more successful I think Dialogue: 0,0:52:57.12,0:53:00.33,Default,,0000,0000,0000,,We can even function \Nwithout Julia's house having internet. Dialogue: 0,0:53:00.33,0:53:01.71,Default,,0000,0000,0000,,So this is wild. Dialogue: 0,0:53:01.80,0:53:06.96,Default,,0000,0000,0000,,At the peak, we actually had \N90 participants attending this call. Dialogue: 0,0:53:06.96,0:53:12.12,Default,,0000,0000,0000,,So congratulations to everybody for joining. \NWe shared kind of cool thing today. Dialogue: 0,0:53:12.76,0:53:15.46,Default,,0000,0000,0000,,I wanted, especially to thank, Dialogue: 0,0:53:15.46,0:53:18.80,Default,,0000,0000,0000,,I noticed Janani Ravi was taking \Na bunch of notes in responses Dialogue: 0,0:53:18.80,0:53:22.51,Default,,0000,0000,0000,,as the panelists were talking. \NSo thank you very much for capturing that. Dialogue: 0,0:53:23.10,0:53:27.90,Default,,0000,0000,0000,,I also noticed quite a number of people \Nhave been adding their questions Dialogue: 0,0:53:27.90,0:53:31.09,Default,,0000,0000,0000,,and answering a bit in questions Part B. Dialogue: 0,0:53:31.09,0:53:35.04,Default,,0000,0000,0000,,So that's really cool because I didn't notice \Nas the discussion was happening. Dialogue: 0,0:53:35.52,0:53:39.73,Default,,0000,0000,0000,,In this shared Google Doc, \NI'm going to leave this open for editing, Dialogue: 0,0:53:39.73,0:53:42.20,Default,,0000,0000,0000,,at least for another 24 hours, Dialogue: 0,0:53:42.20,0:53:46.80,Default,,0000,0000,0000,,So, if you have to go off to other meetings,\NI'll leave this open for editing for a while Dialogue: 0,0:53:46.80,0:53:50.52,Default,,0000,0000,0000,,so that you can come in, \Nadd additional questions you have, Dialogue: 0,0:53:50.52,0:53:54.76,Default,,0000,0000,0000,,answer each other's questions. \NParticipants here can add their comments. Dialogue: 0,0:53:54.76,0:53:57.49,Default,,0000,0000,0000,,Ideally, if you're willing to put \Nyour name beside that, Dialogue: 0,0:53:57.49,0:54:00.69,Default,,0000,0000,0000,,add your comments to some of the questions \Nthat the panelists were asked, Dialogue: 0,0:54:00.69,0:54:05.52,Default,,0000,0000,0000,,because we really do have such a rich amount\Nof expertise here in the audience. Dialogue: 0,0:54:05.78,0:54:09.78,Default,,0000,0000,0000,,After about 24 hours,\NI'll lock the document to view only. Dialogue: 0,0:54:09.78,0:54:14.42,Default,,0000,0000,0000,,It, along with the video of this call,\Nis going to be posted on the archive page. Dialogue: 0,0:54:14.42,0:54:19.40,Default,,0000,0000,0000,,So it'll ropensci.org/commcalls.\NThis will live there forever. Dialogue: 0,0:54:19.73,0:54:21.29,Default,,0000,0000,0000,,What else do I want to tell you? Dialogue: 0,0:54:21.29,0:54:27.46,Default,,0000,0000,0000,,Please, before you go, please,\Nadd your name to the attendees list in the doc, Dialogue: 0,0:54:27.56,0:54:28.96,Default,,0000,0000,0000,,I don't share that much. Dialogue: 0,0:54:28.96,0:54:31.36,Default,,0000,0000,0000,,Just for us to know what countries \Nyou came from Dialogue: 0,0:54:31.36,0:54:33.75,Default,,0000,0000,0000,,and what organizations...\NThat kind of thing. Dialogue: 0,0:54:34.46,0:54:39.13,Default,,0000,0000,0000,,We have a new discussion category\Nin our public forum. Dialogue: 0,0:54:39.13,0:54:45.99,Default,,0000,0000,0000,,So our public forum is discuss.ropensci.org,\Nand just in the last couple of days, Dialogue: 0,0:54:45.99,0:54:48.77,Default,,0000,0000,0000,,we created a package maintenance category. Dialogue: 0,0:54:49.13,0:54:53.18,Default,,0000,0000,0000,,I encourage anyone, especially people\Nwho have said they're feeling a bit overwhelmed, Dialogue: 0,0:54:53.18,0:54:55.100,Default,,0000,0000,0000,,they're just getting involved\Nin maintaining a package. Dialogue: 0,0:54:55.100,0:54:57.99,Default,,0000,0000,0000,,Please ask your questions there. Dialogue: 0,0:54:59.01,0:55:05.37,Default,,0000,0000,0000,,Some of our, sort of like internal maintainers\Nwill also get a flag when something's posted there. Dialogue: 0,0:55:05.37,0:55:07.57,Default,,0000,0000,0000,,So they may be able to come \Nand answer your questions. Dialogue: 0,0:55:07.57,0:55:09.100,Default,,0000,0000,0000,,You can answer each other's questions.\NSo right now it's empty. Dialogue: 0,0:55:09.100,0:55:12.96,Default,,0000,0000,0000,,It's just a category that exists, \Nand I encourage you to use it. Dialogue: 0,0:55:14.34,0:55:16.77,Default,,0000,0000,0000,,Do I have anything else\NI need to tell you? Dialogue: 0,0:55:17.25,0:55:19.07,Default,,0000,0000,0000,,I think that's it. Dialogue: 0,0:55:19.51,0:55:24.47,Default,,0000,0000,0000,,You really, it's only 10 o'clock in the morning \Nfor me here in Kamloops British Columbia, Dialogue: 0,0:55:24.47,0:55:27.59,Default,,0000,0000,0000,,you set me off to start a wonderful day. Dialogue: 0,0:55:27.59,0:55:31.60,Default,,0000,0000,0000,,I thank you all for joining us \Nwherever you are in the world, Dialogue: 0,0:55:31.60,0:55:38.67,Default,,0000,0000,0000,,and I wish you both a physically \Nand mentally healthy and happy rest of the day. Dialogue: 0,0:55:38.67,0:55:40.66,Default,,0000,0000,0000,,Thanks so much, everyone. Dialogue: 0,0:55:40.66,0:55:41.90,Default,,0000,0000,0000,,Bye bye.