I went to the second ever SustainOSS conference on October 25th, 2018 in London near St. Pancras International Station.
The agenda: gather a bunch of maintainers, companies, and sponsors, and talk about how to sustain open source.
There were no keynotes, slides, or expo halls. After breakfast, we gathered in a circle in two rows of chairs, and the room looked like this:
Meta thoughts about the event
- For an unconference, it was extremely well organized and sessions were kept on time, thanks in large part to the team of organizers and the decision to hire an amazing facilitator, Gunner, who had an impressive knack for remembering on-the-fly session topic proposals and people’s names.
- Loved that the event was intimate, everyone turned their phones off, and because of the very nature of the event (“unconference” = no pre-designated “speakers”), everyone came in as equals with potential knowledge to share. Reportbacks from each session were brief, and people were encouraged to connect with as many other people as possible without being self-promotion-y. I jotted this down: it was a “day to honor constructive selfishness.”
- Nice touches: there was a film crew recording interviews for about two hours during the event, and the after-party was on the 7th floor at Google/Youtube UK with a great view of London.
- Travel scholarships and childcare during the event were offered. (PS If the idea of this event appeals to you at all but you may need travel or Visa assistance, look on sustainoss.org for a link to apply to a scholarship next year! SustainOSS was held in San Francisco last year and London this year. The location is TBD next year.)
General challenges/trends reported by OSS projects
Whether they were the maintainer of a small OSS project or maintaining a project with thousands of contributors and hundreds of thousands of users, everyone faced very similar challenges. And that was amazing to see.
Here are some of the challenges and trends I heard echoed by a number of maintainers:
- Hard to find designers
- Hard to find documentation contributors, and contributors willing to take on “easier” maintenance issues (not the coding ones).
- Given a budget, how do we spend it?? Most often it is developer time, not money, that projects need the most. Maybe a bit of money could help buy some developer time, but most projects do not have enough to work with.e
- Developer attention is a scarce resource.
- Give contributors time to vote. The Apache project historically gave members a 72-hour window in which to vote, accommodating for the fact that people were from around the world.
- Historically, most OSS projects were built by people from around the world, and they’d be friends for years online before meeting for the first time at conferences.
- Maintainer burnout often happens when there are not enough core contributors to respond to opened issues and un-reviewed PRs.
- Sometimes the least fundable projects are the OSS tools that sit in infrastructure — that plenty of companies use, but are unwilling to pay for upgrades
- Microsoft becoming an OSS champion makes a lot of sense, actually; it was easier for developers to onboard on open source projects rather than have to learn proprietary software
- Product management/project management skills are often the most valuable (and the most underestimated) skills in OSS projects
- Turnover/churn in OSS projects is good. Mentees must be ready to step up.
- The question core maintainers must ask and prepare for: can the project be sustainable without me?
Questions I would love to read summaries of in the 2018 reportback
The recap from last year’s Sustain OSS summit can be found here: https://sustainoss.org/assets/pdf/SustainOSS-west-2017-report.pdf
I would love to see the full notes from some of the session topics I didn’t get a chance to fully sit in on this year, like:
- What is “fair compensation” for contributors?
- How do we lower the barrier for new contributors to join?
- How do we get more upstream labor into OSS projects from companies already benefiting from those OSS projects, e.g. VueJS, Webpack, Django, or Babel? (Or is it even a thing that OSS projects want and could benefit from, vs. getting contributors motivated more by pure passion/interest?? Is it easier to simply pay designers, and pay students to come to sprints?)
Top 20 Actions an OSS project maintainer can take
In one of the group sessions, I decided to join a topic proposed by Martin, the maintainer of a clojure docs project, who wanted to discuss the “lifecycle of a contributor” — and the Top 20 Best Things Maintainers Could Do to Improve the Experience of Contributors.
Here is the list we ended up curating:
- Have a Code of Conduct
- Express gratitude
- Have documentation about the architecture
- Display contributor GitHub avatars on README.md
- Use issue templates or PR templates (Github)
- Give contributors discount on swag in shop
- Give away stickers
- Document the process for getting out of the community (maintainers stepping down)
- Recognize status (maintainer vs. collaborator)
- Communicate roles
- Value equally different contributors over the scale of a project
- Train maintainers on people management
- Choose a community tool for hanging out / synchronous chat
- Create a social space (“what did you work on last month?”)
- Treat newcomer contributors like future core maintainers
- Label issues
- Have a fast build
- Have good test coverage
- Use linters/autoformatters
- Pick a source management system (may not be GitHub)
- Have an “offboarding” plan for key contributors who would like to step down
- Have an open source license.
My personal next steps
I walked away with a sense of community, the urge to recommend this event to my OSS maintainer friends, and the funny understanding that all OSS projects — no matter big or small, commercial or non-commercial — all really kinda face the same issues and questions.
I also walked away with an urge to try to help improve the new contributor onboarding experience for awesome OSS projects out there.
On CB Connect, an experiment I started a few months ago (but running slowly, because I haven’t had a lot of time to work on it), the top choices picked were surprisingly from people looking for OSS projects to contribute to. And both in the CB community and at local meetups I volunteer for, I’ve heard echoes again and again of people looking for projects to contribute to — but having a tough time getting set up, finding issues to work on, and finding mentors willing to help.
I want to help produce a video series connecting OSS project maintainers with new contributors: 1-hour hangouts where the project maintainer would walk the new contributor through the project codebase, and record it for future contributors*.
If you think this idea might be cool, and if you are:
- a maintainer of an OSS project
- a new contributor interested in getting a codebase walkthrough
… let me know by filling out this form.
*The biggest risk with this idea: I won’t have time to edit these videos (I am already sitting on some videos I still haven’t finished editing for CB, from September). So I am hoping that if the planning/outlining of the screencast was planned right, there would be very little (if any) editing that I would actually have to help do.