
Ask HN: I want to contribute to an open source project. Where do I begin? - SeanA208
I&#x27;m a graduating CS student and I&#x27;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?
======
japhyr
Are you familiar with IPython Notebook? If so, you could jump right in on
[http://introtopython.org](http://introtopython.org). It's a fully open
resource for people interested in teaching and learning Python. I started it
last fall, and it is slowly building critical mass. The main parts of the site
are Python Essentials and Python Projects.

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.

------
lifeisstillgood
To be honest it depends on _your_ interests. I would start out with what
floats your boat - you did a _couple_ of Google internships - what were they
on? DevOps? Big Data Analysis? Do you love maths or music? Build something
that you will use each day.

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.

------
kyllo
You say you have experience writing high quality code, what frameworks and
tools did you use in your code projects? It is likely that a lot of those
frameworks you used and libraries you imported for your project are themselves
open source projects in need of contributors, and you have experience using
them, so you would be a good candidate to contribute to them as well.

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.

------
eswat
Take a look at Gittip[1]. It’s a Python-based, crowd funding platform that’s
also open source and part of the Open Company Initiative[2].

Not 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](https://github.com/gittip/www.gittip.com)

[2] [http://www.opencompany.org/](http://www.opencompany.org/)

------
bluerail
Actually, seeing this post and also that I ve struggled in finding those
resources, I have created a github repo yesterday which can be used by the
repo owners to post the contribution required and the contributors can take a
look at it..

[https://github.com/avinoth/OpenSourceForBeginners](https://github.com/avinoth/OpenSourceForBeginners)

only problem, don't know what to do next.. let me know what i could do next..

------
readme
Don't just pick a random project to contribute to.

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.

------
nyddle
[https://github.com/nyddle/pystash](https://github.com/nyddle/pystash) You're
welcome!

