Open Source Contributions - what I’ve collected so far.
So, I recently received my first “Can you help me?” mail. I am usually on the other side of that mail, and I knew that person might have sent the same mail to other people too, but it was a good feeling when I received that mail, I felt like I’m doing something good with my life, okay I’m just exaggerating. But anyway, the person who sent me the mail wanted some tips on getting started with Open Source, so here are some links and tips that I think might be useful to anyone who wants to get started.
- Finding an organization with small and easy tasks.
There are few organizations like Pagure, Cadasta and Mozilla which I know about.
- Every organization have issues, which are marked with labels such as “security”, “high priority”, “needs discussion”, “bug”, “feature” and many more. Take an issue that has a label such as “low hanging fruit”, “easyfix” or “First Contribution Friendly”. Cadasta labels it’s issues as “First Contribution Friendly”. Pagure has easy issues labelled as “easyfix”. Find this issues and try solving them.
Pagure “easyfix” issues: https://pagure.io/pagure/issues?status=Open&tags=easyfix
Cadasta “First Contribution Friendly” issues: https://github.com/Cadasta/cadasta-platform/issues?q=is%3Aopen+is%3Aissue+label%3A%22First+Contribution+Friendly%22
- You can also open up an issue suggesting a bug or feature.
Finding a bug or suggesting a new feature is also not so difficult task, just find something that irritates you. Try finding solution to things that irritate you.
For example, When you are trying to clone a repo in Github, it has this “copy-to-clipboard” feature, you can click on the copy button, and text gets copied. Pagure is missing that feature. I find it a little irritating to double-triple click on the link, till it gets copied. I think having a “copy-to-clipboard” button would be helpful. I can contribute to Pagure by implementing that feature.
Although I haven’t been able to implement it, and also if it hasn’t been implemented on the site, you can make your first contribution by opening up an issue suggesting the “copy-to-clipboard” feature, and also submitting a PR/patch with that feature.
- Get in touch with the community. Most of them are on IRC, few of them are on Gitter. Django, Cadasta, Gitter, etc uses Gitter to communicate. So find a community you're interested in, and introduce yourself there, most of the communities are very friendly, Cadasta is one such community. I have made my contributions to this organization so I know that Cadasta is as friendly as any community should be.
- If you like documenting, you can contribute to a community by writing Documentation. Documentation sounds less cool, but it has its own importance.
I recently attended PyCon Pune, and had the opportunity to listen to a talk given by Vidya Iyengar & David Michael on Creating good impact with good Documentation
Link to the talk : https://www.youtube.com/watch?v=gJCmhSTAYh4
- These are few articles I found helpful.
- Github Repositories.
There is repo by Shmavon Gazanchyan (MunGell) which is a collection of all awesome beginner friendly projects, and to add to the awesomeness, all projects are divided categorically on the basis of languages!
There is a repo by Karan Goel which is a collection of all practical projects you can solve to enhance your programming skills.
- There is this website which has a collection of Friendly Open Source projects which is helpful to newbies, and you can also see tweet about first-timers-only Github issues by following them on twitter, how cool is that!
- Another website I found good was up-for-grabs. It has a list of projects with curated tasks specifically for new contributors. I think it’s a must visit if you’re seriously looking for making a contribution.
So that’s it for now. It was too much information, and you might have heard about most of them, but this are my all time favorite. I hope you find them useful :)