Skip to content

Maintainer spotlight: William Shepherd

In the spirit of Black History Month, throughout February we’re featuring Black maintainers who are making impactful contributions to the world through open source. William is the maintainer of GitHub…

Maintainer spotlight: William Shepherd

In the spirit of Black History Month, throughout February we’re featuring Black maintainers who are making impactful contributions to the world through open source. William is the maintainer of GitHub Desktop, a project designed to simplify your GitHub workflow and provide a unified experience across platforms. Will also has a background in Computer Science and has worked as an engineer for 8 years.

Tell us about the project you maintain.

Our goal with GitHub Desktop is to remove frustration, awkward interactions, and “oh no” moments for as many people as possible. We aim to make common workflows so simple that beginner and experienced developers alike are productive in working with Git and GitHub. Git can be intimidating, and we want GitHub Desktop to make interactions with Git easier and more approachable. GitHub Desktop is not a replacement for the functionality of Git, but a tool to enable you and your team to be more productive.

How did you get involved in the project as a contributor?

I got involved in the project when I joined GitHub as a software engineer.

How did you first spread the word about your project?

Since GitHub Desktop is a mature product that has existed in several forms over the years, there was no need for me to personally get the word out about it, but I do refer people to our website and repository.

How has your involvement in this project helped you grow, personally or professionally?

Since a good portion of my work involves collaborating with people across all skill levels, I’ve learned to tailor my communication to suit the needs of the person I’m working with. I’ve found that being able to effectively convey technical details, empathize with user frustration, or explain why we [Desktop] won’t do something plays an important role in how our project is perceived by potential contributors.

What’s one of your favorite moments as a maintainer of this project?

One of my favorite moments was when we were able to allow several community members to iterate on a roadmap feature. The team worked hard to ensure the scope of work was well defined and that they felt well supported. Ultimately, this was a huge win for the team because it was the first time we collaborated on feature work with the community, and it showed that our contributors care just as much about the product as we do. My team and I were so proud of the accomplishments of the two contributors that we gave them a shoutout on our company blog!

What’s challenging about maintaining a project, that people don’t necessarily realize?

The biggest challenge for me was overcoming my fear of reviewing the code of people I’ve never met. It turns out that many people in the open source community share some version of that sentiment. I think it’s important to understand that maintainers are just normal people, too. We don’t know everything and we make mistakes just like everyone else. It took me over a year working full-time as a maintainer to get comfortable with all the things that come along with being a maintainer. My best advice is to remember that we all started out as beginners.

Are you looking for contributors? What types of contributions does your project welcome?

My team is always open to receiving contributions. We are looking for kind people who are empathetic and have a collaborative mindset. We are open to all types of contributions, but we are very interested in getting more people from non-technical backgrounds involved. A few of the things that we’d love help with are:

  • Improvements to project documentation
  • Making the application more accessible
  • Assuring quality of the application
  • Improvements to our design
  • Identifying and reporting pain points in the application
  • Bug fixes

What advice would you give someone who wants to run an open source project?

  • Have a clear vision of what you’d like your project to accomplish and be open to refining it when it makes sense.
  • Have a detailed README that includes information on how to contribute to the project, submit bug reports, and a code of conduct
  • Work hard to make your project inclusive of all people from the start
  • Make your project easy to implement by eliminating the amount of work potential contributors have to do to build and run your project.
  • Don’t put the needs of your project ahead of your own.

Want to learn more about featured maintainers for Black History Month? Read about:

Stay tuned, we’ll be posting this series every Friday throughout February.

Explore more from GitHub



See what’s happening in the open source community.
GitHub Universe 2024

GitHub Universe 2024

Get tickets to the 10th anniversary of our global developer event on AI, DevEx, and security.
GitHub Copilot

GitHub Copilot

Don't fly solo. Try 30 days for free.
Work at GitHub!

Work at GitHub!

Check out our current job openings.