Ask HN: I want to contribute to an open source project. Where do I begin?
I'm a graduating CS student and I've always wanted to contribute to a cool open source project. There are languages I really like writing (python in particular) and I think contributing to an open source project would be a good way to do that. I have experience writing relatively high quality code (a couple internships at Google, etc.) but I find it difficult contributing to open source projects. I feel like the barrier to entry on most projects is too high. Any suggestions?
7 comments
[ 2.9 ms ] story [ 28.9 ms ] threadNot only would you be helping build a platform that many people in our industry use to fund their projects and sustain a living, but you can also choose to take your own share of money that Gittip earns through the site.
[1] https://github.com/gittip/www.gittip.com
[2] http://www.opencompany.org/
Ok, chosen a project, lets assume it's pyMusicExample on github. It has over 300 issues, most of which have not been touched in months as the main devs are busy at the day jobs.
So, drop them a mail, introducing yourself and start triaging the bugs. Don't go crazy, see recent HN article
Documentation - Sphinx is a fantastic piece of work, as is readthedocs, but most of us do not use it as well as we should. PyMusicExample has code examples in their docs that no longer work. So make a branch and get the docs running doctest / coverage and get the examples upto date.
Learn software that you need to use, for example, if you're a web developer, learn one of the popular frameworks. Once you've mastered it you'll see where the problems are and what you can do to improve it, and then contribute patches.
Basically just find and fix problems with things that you actually use.
The biggest thing that will improve the site is having people write up projects they are interested in. For example, someone recently requested a project that shows how to build maps that show changing data, such as traffic around a city on a road map.
Writing up a project is easy. Clone the project, make a new notebook for your project, and submit a pull request. If you are interested let me know, and I'll be happy to help you get started.
https://github.com/avinoth/OpenSourceForBeginners
only problem, don't know what to do next.. let me know what i could do next..
For example, since I write Rails and Django apps, the first place I'd look to contribute would be on a popular open source plugin/gem/app for Rails or Django that I use in my projects.