-
Notifications
You must be signed in to change notification settings - Fork 0
GCI 2011 Organization Application
SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries, which makes it available everywhere Python can be used. It also has a liberal BSD license allowing other open source projects and commercial companies to make use of SymPy in their own projects.
SymPy has a vast array of potential applications, from theoretical physics (atomic physics, quantum field theory, general relativity, classical mechanics, quantum information...), applied math (solving algebraic and differential equations, ...), teaching (calculus, integrals, derivatives, limits, ...), web (it runs on the Google App Engine), and it can also be included as a library in any scientific code.
SymPy has a large, active development team that has increased non-stop since 2007 (ref: http://www.ohloh.net/p/sympy) thanks to an extensible architecture that enables features to be added easily and in a modular way.
It is built and tested regularly on all major platforms and all major architectures to ensure that it can reach the widest possible audience.
We believe that Google Code-in is a great opportunity to get some fresh blood into our project, from students who would not otherwise participate or even find SymPy. We think that we can get some good contributions this way and some students might even stick around (that would be the ideal situation). Every outreach that we do with SymPy, be it GSoC, or conferences and other talks or getting mentioned on the Google Open Source blog, usually brings us some new users, and generally brings new developers, even if it's just someone who submits a patch every once in a while.
Another reason is that it allows us to collaborate more with other SymPy mentors and recruit new ones, and so the participation in Google Code-in helps the whole SymPy community. We have usually been quite efficient in accepting lots of patches from a lot of people, but every such opportunity is great to streamline our review/merge process even more and force us to think how we can lower the entry barrier for new contributors.
Please tell us about how your organization has prepared for Google Code-in, including what (and how many) mentors and organization administrators have agreed to help, what your schedule and response time will be during the holidays (and otherwise during the contest period) and how you plan to deal with unresponsive mentors.
People in this thread on the mailing list (http://groups.google.com/group/sympy/browse_thread/thread/8d99ab98d7af607a) have committed to helping out.
Admins: Aaron, Ondřej
Mentors: Mateusz, Hector, Stefan, Joachim, Matthew, Chris, Vladimir
These are the people who have committed so far, but it is likely that others will help out too. For example, we had nine Google Summer of Code students, and only two have committed to helping out so far (Matthew and Vladimir). So we may be able to recruit some more of them. Also, two or three core developers have not responded yet, but they will no doubt help out here and there with reviewing stuff.
Here is a schedule of some of the core mentors (who have told us when they can help): till December 16 (Ondřej +Aaron full, Mateusz might skip a few days here and there), after December 16 (Aaron+Mateusz full time, Ondřej might skip a few days here and there). Vladimir can help on US and religious holidays.
Here is a detailed page with photos and short bios: https://github.com/sympy/sympy/wiki/GCI-2011-Mentors
SymPy doesn’t have any mentor specific areas, so all mentors will have access to Melange to approve a task, and any trustworthy mentor will have push access to SymPy. As such, if some mentor becomes unresponsive, some other mentor will step in. So far, we never had any problem with disappearing mentors in GSoC. We have also participated in GHOP previously, and it seems we were able to handle things just fine.
We will require all students to submit patches through GitHub's pull request system (except for those for which this is not relevant, such as the tasks to improve the wiki). We have been using GitHub's pull request system since it's inception last August, and it has greatly increased our productivity with respect to reviewing patches and pushing them in. Because of the high efficiency of this system, combined with a test running bot that we have been developing to run the unit tests on pull requests, we believe that we can handle the increase in pull requests that Google Code-In would produce. Also, all of our core developers would put priority on reviewing Google Code-In pull requests.
We have already created over 130 tasks for Code-In (see the link to the Google Docs spreadsheet). We have used our already existing issue tracker at Google Code (http://code.google.com/p/sympy/issues/list), creating labels for the various Code-In categories and difficulties. For our tasks, we will direct the students to the respective issue in the issue tracker, where there may already be some discussion about how to fix the issue.
Please provide a link to your task ideas page. This is much like the ideas page for Google Summer of Code but must include at least 5 tasks in all of the 8 categories sorted by difficulty level.*
https://docs.google.com/spreadsheet/ccc?key=0AiMKW-ZM-_fedFpSWm51VFBFZkdTRnh3WkhYRndSVXc
What is the main development mailing list for your organization? This question will be shown to students who would like to get more information about applying to your organization for Google Code-in 2010-11. If your organization uses more than one list, please make sure to include a description of the list so students know which to use.
Our main development list is [email protected]. You can subscribe at http://groups.google.com/group/sympy. All of our main communication goes through this list. If you have any questions, or just want to introduce yourself there, this is the place to go. We are very friendly and helpful on this list, so don't be afraid to post.
We also have an IRC channel at irc://irc.freenode.net/sympy. You may be able to find help there. If no one on the IRC channel can help you, try asking on the mailing list.
The main people who will be helping out with Google Code-In are at https://github.com/sympy/sympy/wiki/gci-2011-mentors. Note that it is preferable to contact the mailing list than a specific mentor, as a specific mentor may not be able to help you with your specific problem, or at that given time.
Our issue tracker is at http://code.google.com/p/sympy/issues/list. All of our Google Code-In tasks are issues in the issue tracker.
All patches to SymPy should be submitted as a pull request to our GitHub organization at https://github.com/sympy/ (except for those where this is not relevant, such as improvements to the wiki). We have an extensive guide on how to do this at https://github.com/sympy/sympy/wiki/Development-workflow. (Note to Google: we will probably convert this into a more friendly page for the Google Code-In students).