# Contributing to Open Source Project as a Beginner

As the  [Hacktober Fest](https://hacktoberfest.digitalocean.com/profile) has just begun organizations and individuals are inviting contributors to contribute to their projects for roles. If you want to contribute an Open-Source project you create a role either as: 
- Designer
- Developer
- Technical writer 
- Translator
- User 
- Product Manager
- Donor
- Q/A Tester
- Researcher

To contribute look for the GitHub repository of projects that are calling for contributors. For example [vimcolorschemes](https://github.com/reobin/vimcolorschemes/)

1. Visit their repository and check the issues page:- for them they have 19 issues. Target the Hacktober fest issues

![Screenshot_2020-09-24 reobin vimcolorschemes.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1600937105126/fNH4LruL0.png)
 
If you're a newbie to open-source projects click on good first issues since they selected specifically those that are good for beginners; 
![Screenshot_2020-09-24 reobin vimcolorschemes.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1600937275926/d90fBPTYb.png)

3. If you find an issue you feel comfortable with and can contribute to click on the issue and write a comment on it.

 - This will show the maintainer that you're interested in it. He/she might give you an okay or invite you to join their discord channel or guide you on how to set up a project.

- The open-source community is so supportive do not fear trying out making your contributions or asking for help.

once you've chosen to contribute to a given issue:
1. fork the GitHub repository
2. you'll have an option to:

```
git clone 'Link to the forked repo that has your username'
``` 

```
use the GitHub CLI
``` 

```
download as a zip file
``` 
I prefer the git clone since I haven't tried the GitHub CLI yet. Then you run the following commands:

3. git checkout -b branch name 
4. git remote add upstream link-to-the-main repo
5. git pull upstream master
6. git commit -m "commit message"
7. git push -u origin HEAD

then you can create a pull request(PR). The maintainer will either merge the PR or close it if it has conflicts that have to be resolved. 

If you have or know of a beginner-friendly open-source project that one can contribute to you can share the link in the comments below.

Here's is few I have come across:
- https://github.com/emmalearnscode/guide-to-HF/issues
-https://github.com/oscafrica/oscafrica.org/issues
- search [hacktoberfest issues](https://github.com/search?q=hacktoberfest&type=issues) look through it










