some guidelines about diving into open source
![](https://secure.gravatar.com/avatar/8c39cd5003f4366e048764fb7a8900fb.jpg?s=120&d=mm&r=g)
Hi, I'm a student developer interested in getting some open source experience and I was wondering if anyone could suggest some bugs that are suitable for a beginner in this project?"
![](https://secure.gravatar.com/avatar/7840b7a3579d2a7065d5c0aa804b5b92.jpg?s=120&d=mm&r=g)
On Mon, Jul 27, 2015 at 2:37 PM, Piyush Sinha <sinha.piyush0609@gmail.com> wrote:
Hi, I'm a student developer interested in getting some open source experience and I was wondering if anyone could suggest some bugs that are suitable for a beginner in this project?"
Most Github libraries you tags to organize their issues. Often there's a tag that indicates that the problem is minor and perhaps a good place for new devs to look. In scipy's case, that tag is "easy-fix": https://github.com/scipy/scipy/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy-fi...
![](https://secure.gravatar.com/avatar/658220d79992bca8c0dc20a7d886bc27.jpg?s=120&d=mm&r=g)
Hi, As someone who was recently in your shoes (three or four months ago), here are my pointers and suggestions: 1. Before anything, you should get your development environment up and running. Fork scipy and clone it into a virtual environment (I use virtualenvwrapper <http://virtualenvwrapper.readthedocs.org/en/latest/>) and make sure you are able to run the regression tests (i.e. `runtests.py`). You can find some information on setting up your environment here <http://docs.scipy.org/doc/scipy/reference/hacking.html>. I would pay special attention to `python runtests.py -v` and `python runtests.py --ipython`. 2. Pick a topic where you feel you are most qualified to contribute (e.g. if you have some good statistics background, `scipy.stats` might be the best place to start). Getting acquainted with the code is also a good source of confidence. 3. Do search for some of the issues labeled 'easy-fix' but give special consideration to the issues that have an ongoing discussion (even if they are not labeled as 'easy-fix'). It is usually easier to understand what needs to be done once the problem has been discussed. This also ensures that there are some people interested in the issue. Those people are valuable; you can learn from them. 4. When you have found a problem that you understand and feel like you can contribute, just work on it, do a Pull Request (PR), and ask for feedback (via a comment in the discussion). The community is quite welcoming and they will let you know their point of view and guide you in the right direction. Here are some other things you might find useful: - Development workflow <http://docs.scipy.org/doc/numpy-dev/dev/gitwash/development_workflow.html#wr...> (I review the part about writing commit messages almost every time I do a PR) - My first PR <https://github.com/scipy/scipy/pull/4619> (You can see the back and forth of feedback and improvements until it was ready to merge) If you find yourself stuck at some point, don't be afraid to ask questions, just make sure you have tried a few things so you can have a conversation about the problem you are facing. Most people (maybe everyone) here contributes voluntarily, which means they have a day job and so they appreciate when they can see someone who has taken the time to do his research, is able to ask thoughtful questions and give examples of what he is trying to convey. I hope this helps you get started. Welcome to the community. Cheers, Abraham. 2015-07-27 19:17 GMT-05:00 Paul Hobson <pmhobson@gmail.com>:
On Mon, Jul 27, 2015 at 2:37 PM, Piyush Sinha <sinha.piyush0609@gmail.com> wrote:
Hi, I'm a student developer interested in getting some open source experience and I was wondering if anyone could suggest some bugs that are suitable for a beginner in this project?"
Most Github libraries you tags to organize their issues. Often there's a tag that indicates that the problem is minor and perhaps a good place for new devs to look.
In scipy's case, that tag is "easy-fix":
https://github.com/scipy/scipy/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy-fi...
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-dev
![](https://secure.gravatar.com/avatar/b4929294417e9ac44c17967baae75a36.jpg?s=120&d=mm&r=g)
Hi, On Tue, Jul 28, 2015 at 3:07 AM, Abraham Escalante <aeklant@gmail.com> wrote:
Hi,
As someone who was recently in your shoes (three or four months ago), here are my pointers and suggestions:
Before anything, you should get your development environment up and running. Fork scipy and clone it into a virtual environment (I use virtualenvwrapper) and make sure you are able to run the regression tests (i.e. `runtests.py`). You can find some information on setting up your environment here. I would pay special attention to `python runtests.py -v` and `python runtests.py --ipython`. Pick a topic where you feel you are most qualified to contribute (e.g. if you have some good statistics background, `scipy.stats` might be the best place to start). Getting acquainted with the code is also a good source of confidence. Do search for some of the issues labeled 'easy-fix' but give special consideration to the issues that have an ongoing discussion (even if they are not labeled as 'easy-fix'). It is usually easier to understand what needs to be done once the problem has been discussed. This also ensures that there are some people interested in the issue. Those people are valuable; you can learn from them. When you have found a problem that you understand and feel like you can contribute, just work on it, do a Pull Request (PR), and ask for feedback (via a comment in the discussion). The community is quite welcoming and they will let you know their point of view and guide you in the right direction.
Here are some other things you might find useful:
Development workflow (I review the part about writing commit messages almost every time I do a PR) My first PR (You can see the back and forth of feedback and improvements until it was ready to merge)
If you find yourself stuck at some point, don't be afraid to ask questions, just make sure you have tried a few things so you can have a conversation about the problem you are facing. Most people (maybe everyone) here contributes voluntarily, which means they have a day job and so they appreciate when they can see someone who has taken the time to do his research, is able to ask thoughtful questions and give examples of what he is trying to convey.
I hope this helps you get started. Welcome to the community.
Wow - what an excellent summary! Thanks very much, Matthew
participants (4)
-
Abraham Escalante
-
Matthew Brett
-
Paul Hobson
-
Piyush Sinha