Simon Willison’s Weblog


Open source projects: consider running office hours

19th February 2021

Back in December I decided to try something new for my Datasette open source project: Datasette Office Hours. The idea is simple: anyone can book a 25 minute conversation with me on a Friday to talk about the project. I’m interested in talking to people who are using Datasette, or who are considering using it, or who just want to have a chat.

I’ve now had 35 conversations and it’s been absolutely fantastic. I’ve talked to people in Iceland, Burundi, Finland, Singapore, Bulgaria and dozens of other places around the world. I’ve seen my software applied to applications ranging from historic cemetery records to library collections to open city data. It’s been thrilling.

I’d like to encourage more open source project maintainers to consider doing something similar.

(“Office hours” is a term used at some universities for periods of time when you can drop in to talk with a lecturer. In Germany they use the term “Sprechstunde” for “speaking hours” which I think is better!)

Reasons to do this

A challenge of open source is that it’s easy to be starved of feedback. People might file bug reports if something breaks, but other than that it can feel like publishing software into a void.

Hearing directly from people who are using your stuff is incredibly motivational. It’s also an amazing source of ideas and feedback on where the project should go next.

In the startup world “talk to your users and potential customers” is advice that becomes a constant drumbeat… because it’s really effective, but it’s also hard to bring up the courage to do!

Talking to users in open source is similarly valuable. And it turns out, especially in these pandemic times, people really do want to talk to you. Office hours is an extremely low-friction way of putting up a sign that says “let’s have a conversation”.

How I do this: 25 minute slots, via Calendly

I’m using Calendly to make 20 minute slots available every Friday between 9am and 5pm Pacific Time (with 12:30-1:30 set aside for lunch), with a ten minute buffer between slots.

In practice, I treat these as 25 minute slots. This gives me five 5 minutes break in between conversations, and also means it’s possible to stretch to 30 minutes if we get to a key topic just before the time slot ends.

I configured Calendly to allow a maximum of five bookings on any Friday. This feels right to me—conversations with five different people can be pretty mentally tiring, and cutting off after five still gives me a good chance to get other work done during the day.

I use Calendly’s Zoom integration, which automatically sends out a calendar invite to both myself and my conversation partner and schedules a Zoom room that’s linked to from the invite. All I have to do is click the link at the appropriate time.

About one in fifteen conversations ends up cancelled. That’s completely fine—I get half an hour of my day back and we can usually reschedule for another week.

How about making some money?

I’ve been having some fascinating conversations on Twitter recently about the challenges of taking an open source project and turning it into a full-time job, earning a salary good enough to avoid the siren call of working for a FAANG company.

People pointed me to a few good examples of open source maintainers who charge for video conference consulting sessions—Graphile’s Benjie and CSS Wizardry’s Harry Roberts both let you book paid sessions with them directly.

I really like this as an opportunity for earning money against an open source project, and I think it could complement office hours nicely: 25 minutes on a Friday free on a first-come, first-served basis could then up-sell to a 1.5 hours paid consulting session, which could then lead to larger consulting contracts.

Try this yourself

If you’re tempted to try office hours for your own project, getting started is easy. I’m using the Calendly free plan, but their paid plans (which include the ability to attach Stripe or PayPal payments to bookings) are reasonably priced. I’ve been promoting my sessions via Twitter, the website and the Datasette Newsletter.

This is one of those ideas I wish I’d had sooner. It’s quickly become a highlight of my week.

Update 5th March 2021: The original headline of this piece was “Open source projects should run office hours”. This was being misinterpreted as yet another demand for free labor from open source maintainers, so I changed it to “Open source projects: consider running office hours”—less pithy, but it better reflects my actual message here.

This is Open source projects: consider running office hours by Simon Willison, posted on 19th February 2021.

Part of series My open source process

  1. Documentation unit tests - July 28, 2018, 3:59 p.m.
  2. How to cheat at unit tests with pytest and Black - Feb. 11, 2020, 6:56 a.m.
  3. Open source projects: consider running office hours - Feb. 19, 2021, 9:54 p.m.
  4. How to build, test and publish an open source Python library - Nov. 4, 2021, 10:02 p.m.
  5. How I build a feature - Jan. 12, 2022, 6:10 p.m.
  6. Writing better release notes - Jan. 31, 2022, 8:13 p.m.
  7. Software engineering practices - Oct. 1, 2022, 3:56 p.m.
  8. … more

Next: Cross-database queries in SQLite (and weeknotes)

Previous: Weeknotes: Finally, an intro video for Datasette