Open Up to Open Source Contributing
Tags: beginners, opensource, contributorswanted
Published: 2020-01-29 21:25:30

### What is Open Source

>Open source software is software with source code that anyone can inspect, modify, and enhance. [*reference*](https://opensource.com/resources/what-open-source)

### Why Open Source
Allowing everyone to modify and enhance provides an environment that allows collaboration and continued improvement. Open Source gives more people more access to make more impact.

## What could I possibly contribute?
There are tons of ways to contribute. Yes, you can contribute code, but there are many other ways to get involved.

 - Weird spacing? you can fix that 
 - Messed up syntax? you can fix that 
 - Noticed some typos? you can fix that
 - Subpar documentation? you can fix that
 - Know a cool bit of trivia? you can add that
 - Wording doesn't make sense? you can fix that

## How do I get involved?
*Disclaimer: this example is from my own project. contributions are welcome and I'm happy to help* 

### GitHub

Before you start:
 1. Read the `README.md`
 2. Read `contributing.md`, if there is one
 3. Look at the Issues tab

#### Read the `README.md`
The `README.md` will often answer the questions: who, what, when, where, why, and how. It may also tell you how you can contribute to the project. Here's a screenshot of what the readme looks like for [Code Questions Bot](https://github.com/VickiLanger/code-questions-bot).

Once you've read this, you should take a look at the issues tab. For [Code Questions Bot](https://github.com/VickiLanger/code-questions-bot), you can just click the link in the `README`.

![Screenshot from readme at https://github.com/VickiLanger/code-questions-bot](https://dev-to-uploads.s3.amazonaws.com/i/yesdoyz0vqtep8jgca45.png)

#### Look at the Issues tab
![Screenshot from issues at https://github.com/VickiLanger/code-questions-bot/issues](https://dev-to-uploads.s3.amazonaws.com/i/v3uaz1nwbjr28958lna4.png)

It looks like a lot, but let's break it down. Each row is an issue. It has a name and a number. It may or may not also have labels*, a progress bar**, and a picture of who is assigned***.

*Labels make it easier to see if there is something that pertains to you
**Progress bar means there is a checklist in the issue and shows the progress
***Assignee is someone who intends to do resolve the issue

![Screenshot from issue #2 at https://github.com/VickiLanger/code-questions-bot/issues/2](https://dev-to-uploads.s3.amazonaws.com/i/ro1f0uwyrjzwspg2i0y9.png)
If you have questions about an issue, want clarification, or just want to provide more info, you can click on an issue and leave a comment. If the issue isn't labeled as such, this is also a good place to ask if help is wanted.

---
#### Making a Contribution
Now that you've got the basics, would you like to make your contribution? Here's how. 

![Screenshot from issue #2 at https://github.com/VickiLanger/code-questions-bot/issues/5](https://dev-to-uploads.s3.amazonaws.com/i/2m6y02o4a019my7gtm4r.png)
In the case of [Code Questions Bot](https://github.com/VickiLanger/code-questions-bot), I've already set up the issue to guide you through what to do with the code. You don't even need to know the language to make a contribution. 
```python
'question goes here',  # short answer goes here, add a link if it's not a short answer
```
All you need to do is add the above code to `questions.py`. Oh yeah, and fill in the new question and answer you're adding.

Here's how to add it. We'll do it all in the browser to make it as easy as possible.
Back on the code tab, find and click `questions.py`. Then click the pencil in the upper right. This will allow you to edit the file. 

Next, go ahead and add your question. Make sure to follow the notes in the [issue](https://github.com/VickiLanger/code-questions-bot/issues/5).

![added "'some question you want to add',  # whatever the answer is" to questions.py](https://dev-to-uploads.s3.amazonaws.com/i/zjzr0z1vhf1gdhz623rn.png)
Once you've added your change, click the 'preview changes" tab. In green, it'll show you what you added. In red, it'll show you anything you've removed. If you're satisfied, scroll down. 
![screenshot of GitHub commit changes section](https://dev-to-uploads.s3.amazonaws.com/i/8oq8nctn7852qep2anpr.png)
You'll need to give a commit message and choose the option to `Create a new branch for this commit and start a pull request`.

Now you're pretty much done. You can add comments to your Pull Request, if needed. Otherwise, you wait for the owner of the project to accept your change or ask questions

Now you can do it again! Go forth and conquer.

## Other References

{% post https://dev.to/vardhanapoorv16/making-contributing-to-open-source-easy-through-a-simple-repo-162l %}
{% post https://dev.to/sigje/contribute-beyond-code-open-source-for-everyone-593j %}
 - https://opensource.com/resources/what-is-git
 - https://github.com/firstcontributions/first-contributions