Cultivating Community around software and data

Scott Chamberlain (@sckottie/@ropensci)

UC Berkeley / rOpenSci

hemlsley foundation


Open science ecosytsem















rOpenSci &
data providers

After working with A LOT of data providers

  1. API first! GUI website after (if ever)
  2. see #1
  3. see #2
  4. Think about data size/use cases/how often updated/etc.
  5. Clients, clients, clients - users may use website, but reproducbility should be paramount
  6. Reach out to rOpenSci - we can help

for any 1 resource, work can be distributed among groups

  • e.g., Fishbase - rOpenSci built/maintains API
  • e.g., SeaAroundUs - rOpenSci took over maint. R pkg
  • e.g., BIEN - rOpenSci working on building API

ropensci &
software makers

How to nurture comm. around software?

  • software review!*

  • nurture comm. members at all entry points (code, docs, bug reports, use cases, etc.)

  • hire specifically for comm. management (shutout to ours: Stefanie Butland)

  • helps to have people in many time zones

  • empower people to do what they love that helps build community *

*: will talk more about these

rOpenSci Software Review


rOpenSci Software Review

  • Completely open source tools

  • Free to run

  • All reviews/conversations in the open

  • Reviews are/can be linked to code changes

  • Paired with submission to a journal - JOSS (more to come ...)

what it looks like


empower people to help build community

Lessons learned - nurturing communities around software

how to make a large and resilient contributor base?

  • be really nice!!!

  • > 1 contributor

  • give direct access to contributors

  • contributor diversity

  • turn users into contribs

make software work easier

  • make software count for tenure/grad school decisions

  • more

  • more academic software jobs!!!!

  • drop "novel" work req.(~software maintenance)

  • provide (at least facilitate) software training (don't make people learn on their own)

Open Questions

in the face of dwindling budgets, academia not valuing software, etc., how do we:

  • maintain software through time, while people come and go?

  • attract at least 2 people to all software projects, no matter how small?

  • incentivize users and contributors to engage more?

  • connect users to data through software in a way that facilitates reproducble science?

  • minimize bad actors from spoiling communities?

Made w/: reveal.js v3.2.0

Some Styling: Bootstrap v3.3.5

Icons by: FontAwesome v4.4.0