Open source software is software with source code that anyone can inspect, modify, and enhance. reference
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.
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
Disclaimer: this example is from my own project. contributions are welcome and I'm happy to help
Before you start:
- Read the
contributing.md, if there is one
- Look at the Issues tab
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.
Once you've read this, you should take a look at the issues tab. For Code Questions Bot, you can just click the link in the
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
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.
Now that you've got the basics, would you like to make your contribution? Here's how.
In the case of 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.
'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.
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.
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.