I love a good briefing. So, going into this next leg of NASA-funded work on The Zooniverse mobile app, when I learned that I’d get to bring some new PR reviewers into the dev team, I got to planning a briefing for them.
The result is a useful introduction fo the project for:
- PR Reviewers on this app (of course)
- Also, open source contributors to this app, who want to submit PRs that get accepted and receive thoughtful reviews!
This is also a useful resource for maintainers on any open source project (I hope).
This talk covers what will form the core of our contributor guidelines, and I’d argue that most contributor guidelines—things like “your work must have a test”, “your work must have been run in such-and-such a way”, et cetera—are tactics that point toward, but do not directly state, the underlying goal of transferring context. This meeting covers:
- What we mean by “context”
- What happens to context when pieces of code change hands
- The difference between slinging code and building a community in open source maintenance
- Sharing context while submitting a pull request
- Creating a valuable pull request review
Numbers 4 and 5 include a video expression of many of the ideas covered in Submitting Pull Requests and Reviewing Pull Requests. So if you liked those pieces, or you haven’t read them but you’re interested in the titles and you’d prefer a video version, this is the vid for you.*
* I’ll note: There are no visual aids, so you can get 98% of the information from this meeting in an audio-only format. I’ll be uploading the audio track for this meeting to my Patreon, so folks can listen to it on the Patreon audio player. Patrons also get other goodies: for example, so far they have received 2 of 3 videos in a “Not your Daddy’s Introduction to Git” series and audio versions of several posts in the “Leveling Up” series. So, y’know, if you wanted to toss a girl a coin, you wouldn’t regret it ;).
Agenda with Time Stamps:
0:19 – The History of Development on this App: If you’re interested in this app specifically, you’ll like this section. If you’re here for the general info, skip it.
6:19 – Why Open Source Makes Sense for The Zooniverse: This section covers what I see as a fundamental mismatch between the advice we give developers to “Make open source contributions!” and the realities of what most open source code actually is. This app might give us an opportunity to address that mismatch in our own small way.
8:16 – What is Context, and What Happens to Context when Code Changes Hands? I happen to believe that context, and the impacts of our actions on app context, are critical concepts for software engineers (and maybe anyone) who are working with a team on a long-running project to understand. If you are going to listen to one part of this video, let it be these four minutes.
12:38 – How Writing Code is Different from Building a Community: And maintaining a successful open source project requires both, so it’s important to have a useful mental model for each!
14:40 – Two Ways to do Code Review. Why one of them is, in my experience, better, why it doesn’t have to be, and how I think code review done the second way needs to be done to work as well as the first way.
16:02 – How I Submit Pull Requests. If I were to give this section of the video a clickbaity title, it would be “One weird trick for pull request submission—pair programming zealots HATE it!”
20:09 – My Expectations for Pull Request Review. If you are going to listen to two parts of this video, let it be the four minutes starting at 8:16 and then these four minutes :).
27:46 – Briefing Moves into Questions. I have been blessed with introspective and thoughtful colleagues who ask great questions. Here are the questions they asked:
- How will we coordinate the timeline for changes in the face of competing priorities, to indicate what needs immediate review and what can wait?
- We’re looking, with this project, to build engagement. What do we mean by that?
- (Well, I asked this one) – Is it okay if we put this conversation on YouTube? (Always ask people’s permission before doing this, of course :).
So, in my experience, folks who are interested in The Zooniverse (and especially the mobile app) are also fans of pretty space images, and frankly, having an image in each blog post makes my blog homepage look nicer. So, apropos of nothing except to make both of us happy, I’ll conclude this piece with the following image of NEOWISE zooming over a Falcon 9 rocket, captured by Ben Cooper.
If you liked this piece, you might also like:
Lessons from Space – Why Delay a Launch? Believe it or not, this post is for software engineers!
Some of the Live Coding on the Zooniverse Mobile App and NASA Landsat Data Processing Pipeline – With more to come, don’t worry 🙂
Skills for working on distributed teams (including communication skills that will make your job easier)