This is a comprehensive, yet not definitive, collection of verified resources that we put together in an attempt to help anyone wanting to get started in the amazing world of Open Source.
If you know of any more great resources for this purpose please feel free to add them here. To make it easier for you to contribute to this repo we have some Contributing Guidelines, make sure to read them first.
- List of curated resources to get started in Open Source
- List of Open Source Projects
- Filter Projects by Language & Skill Level
- How to find issues targeted at first timers in github
- Getting Started with Code Collaboration
- Getting Started with Contributions
- Programs for Contributors
- Why Contribute?
- Community
- Personal Stories
- Advanced Resources
- How to Overcome Imposter Syndrome
- A list of projects sorted by project type
- A github repo listing projects and the labels they have created to specify which issues are targeted for beginners. Projects with these labels are indicating that they would like beginners to help out. Awesome for beginners
- List of Projects we have contributed to
- Apache Project List
Find open-source projects that match your programming language, skill level, and contribution interests. All projects listed below have active "good first issue" labels and welcome new contributors.
| Language | Skill Level | Contribution Type | Project Name | Description | Good First Issue Link |
|---|---|---|---|---|---|
| Python | Beginner | Documentation | Scrapy | Fast high-level web crawling & scraping framework | Issues |
| Python | Beginner | Code | OMRChecker | Grade exam sheets using scanner or phone with image processing | Issues |
| Python | Intermediate | Code | Pandas | Powerful data analysis/manipulation library with labeled data structures | Issues |
| Python | Intermediate | Documentation | Matplotlib | Comprehensive library for creating visualizations | Issues |
| Python | Advanced | Code | Jupyter Notebook | Interactive computational environment for notebooks | Issues |
| Python | Advanced | Code | MindsDB | Open source AI layer for existing databases | Issues |
| JavaScript | Beginner | Documentation | Awesome for Beginners | Curated list of beginner-friendly projects | Issues |
| JavaScript | Beginner | Code | First Contributions | Hands-on tutorial for making your first contribution | Issues |
| JavaScript | Intermediate | Code | Opsdroid | Open source chat-ops bot framework | Issues |
| JavaScript | Intermediate | Testing | Jest | Delightful JavaScript testing framework | Issues |
| JavaScript | Advanced | Code | Storybook | UI component development & testing tool | Issues |
| TypeScript | Beginner | Documentation | TypeScript | Typed superset of JavaScript | Issues |
| TypeScript | Intermediate | Code | Stirling-PDF | Powerful locally hosted web-based PDF manipulation tool | Issues |
| TypeScript | Intermediate | Code | Refine | React framework for building internal tools and admin panels | Issues |
| TypeScript | Advanced | Code | SigNoz | Open-source observability platform with logs, traces & metrics | Issues |
| React | Beginner | Documentation | React | JavaScript library for building user interfaces | Issues |
| React | Intermediate | Code | Gutenberg | Block editor for WordPress and beyond | Issues |
| Rust | Beginner | Code | Rust-Clippy | Lints to catch common mistakes and improve Rust code | Issues |
| Rust | Intermediate | Code | Rustfmt | Tool for formatting Rust code according to style guidelines | Issues |
| Rust | Advanced | Code | Servo | Browser engine designed for embedded use | Issues |
| Go | Beginner | Documentation | Gitea | Painless self-hosted Git service | Issues |
| Go | Intermediate | Code | Kubernetes | System for managing containerized applications | Issues |
| Go | Advanced | Code | Prometheus | Monitoring system & time series database | Issues |
| Java | Beginner | Code | RipMe | Downloads albums from various websites for archival | Issues |
| Java | Intermediate | Code | OpenMetadata | All-in-one platform for data discovery & governance | Issues |
| C++ | Intermediate | Code | Godot Engine | Cross-platform game engine for 2D and 3D | Issues |
| C++ | Advanced | Code | MoveIt | Robotics manipulation platform for commercial applications | Issues |
| C# | Beginner | Documentation | Files | Modern file manager for Windows | Issues |
| C# | Intermediate | Code | Uno Platform | Cross-platform native apps with C# and XAML | Issues |
| Ruby | Beginner | Code | Up For Grabs | Curated tasks for new contributors | Issues |
| HTML/CSS | Beginner | Design | Developer Roadmaps | Community-driven roadmaps and guides | Issues |
| Multiple | Beginner | Documentation | Awesome | Curated list of awesome lists | Issues |
| Multiple | All Levels | Translation | FreeCodeCamp | Learn to code for free | Issues |
- Find Your Match: Look for projects that align with your programming language and current skill level
- Check the Label: Click on "Good First Issue Link" to see available beginner-friendly tasks
- Read Project Guidelines: Visit the project's repository and read their CONTRIBUTING.md file
- Start Small: Begin with documentation or small code fixes to get familiar with the workflow
- Ask Questions: Don't hesitate to ask for clarification in the issue comments
- Good First Issue - Curated list sorted by language
- Up For Grabs - Projects with tasks specifically for new contributors
- CodeTriage - Subscribe to repos and get issues in your inbox
- First Timers Only - Friendly projects for new contributors
- Some issues are better suited to new contributors to an Open Source project. To make these easier to find, they are often tagged with some of the following labels
first-timers-only,good first issue,good first task,beginners welcome,up-for-grabs,hacktoberfest,codeheat - Github search for first-timer labels
- Git and GitHub Video for Beginners
- Friendly GitHub Intro
- Introduction to Shell
- Introduction to Github
- Choosing an Organization
- Making First Contact
- How To Contribute
- Getting Started in Open Source
- How to Start Contributing to Open Source
- First Timers Only
- 24 Pull Requests
- Hacktoberfest
- Google Summer of Code
- GirlSript summer of Code
- MLH Open Source fellowship
- Outreachy
- Season of KDE
- FOSSASIA codeheat
- Open Summer of Code
- Linux Kernel Mentorship Program
- Julia Evans - Contributing to Open Source
- remember that maintaining an open source project is super hard
- start by making a tiny pull request
- read way more code than usual
- don't be scared to share a work in progress
- write really detailed PR descriptions
- smaller pull requests are better
- close the PR if nobody replies
- Vaibhav Sagar - Easy Pull Request
- Documentation and typo fixes
- Linter suggestions
- Automated testing
- Lindsey Kuper - http://composition.al/blog/2013/05/31/one-character-patches/
- Fixing typos in documentation
- Fixing typos in usage commands
- Fixing typos in scripting commands