The Essential Cheat Sheet for Open Source Projects #ALXLevelUp
Open Source Projects: A Beginner’s Guide
- What is Open Source?
Open source software is a software with source code that anyone can inspect, modify, and enhance. Anyone who has Internet access can benefit from Open Source Software.
- Basics of Open Source Projects
Popular Open Source Platforms - GitHub - GitLab - Bitbucket
Keywords when starting with Open Source - (e.g. forking, cloning, committing, pushing, opening pull request)
Open Source Communities: groups of developers and non-coders who collaborate on open source projects
Source Code: The original code which can be viewed, modified and distributed under an open source license
License: Terms under which Open Source Software can be used, modified, and distributed
Contribute: it can acquire the form of debugging, fixing codes, making corrections to project's documents. Anyone can contribute to Open Source Projects regardless of their coding skills
Forking: it is a copy of a repository owned by an organization, community or user: it allows the user to experiment, make changes in the forked repository and then make a pull request to the original project for your changes to be included
Cloning: creates a copy of a repository from a remote server to a local one
Tag: key word through which to look for projects
Key components of Open Source Projects (e.g. Maintainers, contributors, source code repository, project license!)
- Exploring Open Source Projects
Finding Projects:
Choose a project based on your skill level and interests: you can search them by programming language, category, or tags:
List of categories to begin looking for your next project:
Programming Languages, Frameworks and Libraries, Data Engineering, DevOps and Cloud, Web Development, Mobile Development, Game Development, Security, Miscellaneous
List of tags you can use to look to exercise:
‘good-first-issue’ ‘beginner-friendly’ ‘first-timers-only’ ‘easy-pick’ ‘starter-project’ ‘newbie-friendly’ ‘intermediate’ ‘medium-difficulty’ ‘improvement-needed’ ‘enhancement’ ‘feature-request’ ‘bug-fix’ ‘up-for-grabs’ ‘help-wanted’
Explore curated lists
- Getting Started
Creating a https://github.com account
Familiarizing with Git and Version Controlling
Getting Involved with Open Source
You can either:
Creating your own Open Source Project
Contributing to existing Open Source Project
As soon as you land to an Open Source Project. Make sure to check out:
The README file: it contains all you need to know about the project, and where to find the information
The Code of Conduct: it includes all the rules that the Community will abide by
The CONTRIBUTING.md: all you need to know before you start contributing in a project. In this document you normally find out if the project accepts contributions, how project's maintainers prefers Commit Messages and Pull Requests to be formulated.
LICENSE
Now, you should be clear on the project’s goals and components, teams, and rules of behaviour and contribution.
Where to go next?
Land on “Issues” and browse through them to understand where you can help the project with - issues that need immediate help are usually tagged with the tag help-wanted . Once you find the issue you are interested in solving, you can start interacting with the Maintainer to take up the issue, as well as asking all the questions you need.
Explore some of the most commonly types of Contributions
Reporting bugs and issues
Writing documentations
Fixing bugs
Adding features
Leading development efforts
Documentation and translations
Design and user interface
Organizing and event planning
Code review and testing
- How to make a contribution?
Follow these steps

image from https://skillcrush.com/blog/what-is-open-source/
What can you do to keep a respectful and inclusive environment?
Read and abide by project’s documentation, coding standards, and contribution process. Respect the existing community’s norms and etiquette, including how to report, respond to comments, making commits and pulling requests
Open Source is about collaborating with others: Be polite, constructive, and responsive to feedback from maintainers and other contributors
Start small—keep doing it—think big: Start by tackling small tasks and making small pull requests, then make incremental changes. Keep your documentation clear, preferably by using markdowns
- Benefits of Contributing to Open Source
Enhance your coding skills and learn from experienced developers by:
Understanding of Git and GitHub
Getting familiar with other version controll systems (e.g. SVN, Mercurial
Understanding of software development processes and concepts and datastructures
Increase knowledge of common programming concepts and data structures
Improve your communication skills and problem solving
Get confident in working in teams and collaborate with others, possibly through digital collaboration tools (e.g., Slack, Trello, Asana)
Understanding of project management and issue tracking
Build a strong portfolio and showcase your work to potential employers
Gain valuable experience in collaboration and communication
Become part of a global developer community
Give back to the software development world