Newbie's Guide to Starting with Open Source Contributions

Metta SurendharMetta Surendhar
4 min read

Entering the world of open source can be both exciting and a bit scary. As a newcomer, I often wondered how to find the right project, what to do if I didn't know how to code, or what to do if something went wrong. Don’t worry! There are many ways to contribute to open source projects, and with a few tips, you can really enjoy the experience.

What It Means to Contribute

Contributing to open source isn't just about writing code. There are many important parts of projects that often get overlooked. By helping out with these areas, you can really make a difference and build great connections within the community.

You Don’t Have to Contribute Code

A common misconception is that contributing to open source means writing code. However, there are many other ways to contribute that are equally important and impactful:

Event Planning

  • Organize workshops or meetups.

  • Plan the project’s conference.

  • Assist community members in finding the right conferences and submitting speaking proposals.

Design

  • Enhance project usability by restructuring layouts.

  • Conduct user research to improve navigation or menus.

  • Develop a style guide for visual consistency.

  • Design artwork for t-shirts or logos.

Writing

  • Improve project documentation.

  • Curate examples of how the project is used.

  • Start a newsletter or curate highlights for a mailing list.

  • Write tutorials or translate documentation.

Organizing

  • Link duplicate issues and suggest new labels.

  • Review open issues and recommend closing outdated ones.

  • Ask clarifying questions on open issues to move discussions forward.

For the Coders

If you enjoy coding, there are many ways to contribute:

  • Address open issues.

  • Help develop new features.

  • Automate project setup.

  • Improve tooling and testing.

Helping People

If your strength is in assisting others, consider these contributions:

  • Answer questions on forums like Stack Overflow or Reddit.

  • Moderate discussion boards or conversation channels.

Mentoring and Code Review

  • Review code submissions.

  • Write tutorials.

  • Mentor new contributors.

Beyond Software Projects

OOpen source isn't just about software. There are books, recipes, lists, and even fun facts about puffins that are created as open source projects. Contributing to these non-software projects can be a fantastic way to get started and build your confidence.

Opening an Issue

Opening an issue is an excellent way to contribute. You can do this to:

  • Report errors you cannot solve.

  • Discuss high-level topics or ideas.

  • Propose new features or project ideas.

Tips for Opening Issues

  • Comment on an issue to let others know you are working on it.

  • Confirm if an old issue is still relevant before starting work.

  • Document solutions and close issues once resolved.

Opening a Pull Request

Submit a pull request for:

  • Small fixes like typos or broken links.

  • Contributions discussed or requested in an issue.

Open pull requests early to get feedback and track progress. Here’s a basic guide to submitting a pull request on GitHub:

  1. Fork the repository and clone it locally.

  2. Create a branch for your edits.

  3. Reference relevant issues or documentation in your PR.

  4. Include screenshots if your changes affect HTML/CSS.

  5. Test your changes to ensure they do not break the project.

  6. Contribute in the project’s style to maintain consistency.

For beginners, resources like Make a Pull Request and First Contributions can help you practice.

Open Source Programs

Participating in open source programs can help you upskill and get rewarded for your contributions. Some notable programs include:

Beginner-Friendly Repositories

Here are some beginner-friendly repositories to get you started:

Learn Git and GitHub

Understanding Git and GitHub is essential for open source contribution. Here are some helpful resources:

Conclusion

Contributing to open source is a fantastic way to grow your skills, meet like-minded people, and give back to the community. Whether you code, write, design, or organize, there's a spot for you in open source. Don't hesitate—jump in and start contributing!

0
Subscribe to my newsletter

Read articles from Metta Surendhar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Metta Surendhar
Metta Surendhar

Platform Engineer specializing in Observability and Gen AI, passionate about open-source contributions and real-world solutions. Currently pursuing an MSc in Integrated IT at CEG (2024-26), SAASCEG'24, CTF'24. I'm exploring LLMs, Haystack, Retrieval-Augmented Generation (RAG), and Gen AI, focusing on building conversational AI bots. Diving into new tools to enhance chatbot performance and interaction quality!