Beyond code: the social side of open source

When you think about contributing to open source, you might assume the biggest hurdle for newcomers is technical–learning Git, using GitHub, and/or writing code. Most contribute to open source guides focus on technical skills. But for many new contributors, the challenge isn’t only technical—it’s social too.

Receiving open feedback on your contributions in the form of code review, whether code or documentation, creates anxiety for many.

  • Joining an unfamiliar community: Understanding who to reach out to and how the project operates can feel intimidating.
  • Understanding unspoken norms: Every project has its own culture, from how discussions happen to how decisions are made. And these norms are not always well-documented.
  • Building confidence in a new space: Many contributors worry about making mistakes, be it while using GitHub or submitting a Pull Request or even in the content updates themselves.
  • Navigating constructive feedback – Open source is built on open peer review; however, receiving public feedback on a contribution can be intimidating.

In my 10+ years of building and maintaining software, contributing to projects, and running beginner-friendly sprints, I’ve seen firsthand that communication, collaboration, and project culture are just as—if not more—important than technical skills. I’ve also experienced the imposter syndrome first-hand. I was nervous about my first contributions and wasn’t sure how to start contributing in a meaningful way.

Technical and social skills go hand in hand. Open source communities are most productive when contributors and maintainers recognize this balance between the technical and social skills associated with contributing. In most cases, all of the people involved in the project are volunteers with varying priorities, skillsets, and motivations to participate.

Developing our contribute to open source lessons

This past year, with support from the Better Software for Science (BSSw) Fellowship, I developed lessons shaped by insights gained from the pyOpenSci contributor community. Our lessons are now freely available as open educational resources designed to help contributors and maintainers foster a more welcoming, collaborative and productive open source community.

Check out our lessons now.

BSSw is a unique partnership between the National Science Foundation (NSF) and the Department of Energy (DOE) that provides small grants to advocates in the scientific open source space.

A community-driven approach to open source

Over the past two years, pyOpenSci has welcomed over 300 contributors, with more than 120 issues and pull requests submitted during our beginner-friendly sprints. These experiences reinforced what we already knew—technical skills are just one part of people successfully contributing to open source.

Through our sprints, we saw firsthand how clear guidance, supportive communities, and transparent contribution processes helps newcomers gain confidence. Often, they stick around our community after the events. These insights shaped our Contribute to Open Source lessons.

Beyond code: The social skills of open source

Our lessons address both the technical and social aspects of contributing to open source.

For contributors: how to navigate your first contribution

For contributors, we focus on:

  1. Understanding the technical steps surrounding making your first contribution
  2. Signals that tell you that a project welcomes newcomers and,
  3. What to expect as they navigate their first contributions.

A few highlights include:

  • Get to know a repository: Learn how to look for documentation files like CONTRIBUTING and DEVELOPMENT guides that will become your guiding light in making your first contributions. These files should help you understand whether new contributions are welcome, what the contribution process is, and what types of contributions are welcome.
  • Find and understand issues: Explore how to search and create GitHub issues as you begin the process of finding a task to work on. Learn how to communicate effectively with maintainers who you may have never interacted with before.
  • Create effective pull requests: Learn how to open a pull request, write clear pull request messages titles and descriptions. Also, learn how to make the pull request process more efficient by reviewing your own work and linking your PR to an issue to streamline maintainer review.

For Maintainers: Creating a contributor-friendly repository

While these lessons are focused on contributing, we also provide some maintainer tips to help set clear expectations for contributors:

  • Communicate your availability: Let contributors know if you have time to support them. It’s okay if you’re busy—just set clear expectations!
  • Provide clear guidelines: Add CODE_OF_CONDUCT, CONTRIBUTING, and DEVELOPMENT files to define what contributions you welcome and how contributors should engage with your project.
  • Use automation to support contributors: Tools like pre-commit.ci help automate formatting and linting, reducing friction for new contributors.

Co-Creating open source contribution lessons

Our Contribute to Open Source lessons, like all pyOpenSci resources, are co-developed collaboratively. By bringing together contributors with different backgrounds and skill levels, we ensure our materials are clear, accurate, and welcoming.

A diverse contributor base makes our lessons stronger:

  • Experts provide technical accuracy.
  • Beginners ensure content is approachable.
  • Everyone in between help refine and improve the content.

This same community-driven approach shaped our packaging guide, which covers packaging tools and tutorials. Like our lessons, it was co-developed and openly reviewed to ensure accessibility and clarity.

A diagram illustrating the co-development of open lessons by pyOpenSci. The diagram consists of a circular section divided into five segments labeled ‘Maintainers,’ ‘Beginners,’ ‘Experts,’ ‘Researchers,’ and ‘Contributors,’ surrounding a central section labeled ‘Moderation.’ An arrow extends from the circle to the right, labeled with key moderation activities such as ‘Listen,’ ‘Moderate,’ ‘Facilitate,’ ‘Structured review,’ and ‘Code of Conduct,’ leading to ‘Accessible Lessons.’ The background features a subtle floral pattern.

By openly co-developing and refining these resources together, we’re making scientific open source more accessible for everyone.

What’s next? Broadening participation in open source

With PyCon US and SciPy on the horizon, we’re excited to put these lessons into action. At our upcoming sprints, we’ll work together to refine these resources—improving the lessons and packaging guide to make participating open source even more accessible. If you plan to be at either meeting, keep an eye out for pyOpenSci events!

Connect with us!

There are lots of ways to get involved if you are interested!

You can also:

  • Keep an eye on our events page for upcoming training events.

Follow us on social platforms:

If you are on LinkedIn, check out and subscribe to our newsletter, too.

Categories: blog-post , community , contribute-to-open-source

Updated:

Leave a comment