Google SoC Guidelines
So you've just been accepted as a student for one of wxPython's Google Summer of Code projects. Now what? This page will give you a few pointers on things you should do to get started, and also a few guidelines for while the project is running. Also, if you are a mentor rather than the student then you should also study this page as it is for you just as much as the student.
Getting started
The GSoC program is all about introducing students into the world of Open Source development, and the IMO the biggest part of what makes Open Source successful is the community around each project. The user community is important, but for the main developers and contributors, the subset of the community that goes beyond just using the project and actively works on making it a living, breathing thing is most important of all. So since you are becoming developers on this project you should also plan on taking an active part in the community. So most of these things deal with communication with the community in one way or another:
- Students, contact your mentor and introduce yourself. Mentors, get to know your student. Give each other your electronic contact information (email, IM, Skype, etc.)
Subscribe to the wxPython-users and wxPython-dev mail lists if you haven't already.
- Send a message to wxPython-dev and introduce yourself and tell the group a bit about your project. There will be others besides your mentor who will likely be willing to help you so this is a good time to catch their interest.
- Learn how to use this wiki. (See below.)
- Contact Robin about getting access to the subversion repository. You will likely be working on your own branch in the repository namespace which will then be merged into the main code at the end of the project. Depending on your project your branch may be a copy of the whole wxPython source tree, or just some subset of it. Your mentor can help you learn about how to use SVN and how to deal branches and such if you are unfamiliar with it.
During the project
- Communicate often with your mentor, not just when you have problems. He is there to guide you and help you stay on the right path.
- Send a short status message to wxPython-dev at least once per week. If you and your mentor feel it is appropriate you can do much of your student/mentor communication via the wxPython-dev list too. That way others on the list will be able to make suggestions if they have experience or ideas that may help you.
- Maintain a page or set of pages in this wiki that documents your project. I'd like to have it include basic project design information, class documentation, and also progress milestones and when the milestones are reached. It doesn't have to be super detailed, or low-level. Just enough to let people know what you are doing, how you are doing it, and why you are doing it that way. I've added a link below for each project, just click the link and create a new page when prompted.
Most of all, have fun. Don't think of this project as a job or a chore. It's an experience and it should be enjoyable. If it ever gets to the point of not being fun or it is causing too much stress then talk to your mentor. He's probably been in the same situation a few times and can give you some tips. Unlike some other GSoC stories I've heard we all want you to succeed, and we hope that in the process you'll become a new member of our family and stick around the project for a long time to come.
Other Info
The PSF has a good set of guidelines here that may give you some other ideas as well.
GSoC 2008
GSoC2008/AddMVCFriendliness -- Keith Holman
GSoC2008/RecognizingPythonCallbackExceptions -- Christopher Davis
GSoC2008/FloatCanvasRefactor -- Matthias Kesternich