You will probably also find our tips for students applying to work with us helpful.
See the ideas list for some suggested project ideas. You are also most welcome to suggest your own ideas.
The GSoC website steers students towards creating proposals in Google Docs, but we've found this sub-optimal when it comes to reviewing proposals to offer feedback.
We currently use a reStructured Text template in a git repo which you can clone. This seems to have worked well for the students who tried it, but if you have difficulties please get in touch with us. This involves tools which you'll need to be familiar with to successfully complete a project working on Xapian, such as a text editor, git, sphinx-doc and make. We can comment on proposals in the same way we review code submissions, and you can make changes in response to that and we can easily see what you've changed. The repo includes a makefile with a target to create a PDF version. Please use this approach instead of Google Docs.
Quick walk-through:
- Fork https://github.com/xapian/xapian-gsoc-proposal to your own github account; you'll need a github account to do this (as you will for the rest of GSoC with us).
- Clone your fork to your local machine.
- Open
proposal.rst
in a text editor and fill it in - there are instructions in comments. - Commit your changes and push them. (It's a good idea to make sure you're writing good commits while doing this -- it helps get into the habit, which is important for code contributions later.)
- Open a pull request (there'll be a convenient button on the main page of your repo).
- Point us at the pull request and we can review your proposal and offer feedback. Probably the best way to do this to create an application on the GSoC website and put the URL of your pull request as the URL for the draft application. You'll need to submit a draft at least a few days before the deadline to give us a chance to review and you time to revise in response to that feedback. The earlier you submit a draft, the more we can help you get it into shape. Particularly if you're not used to planning and proposing complex long-term projects, this can be the difference between a great application and one that isn't good enough.
- To generate a PDF for submitting on the GSoC website, run
make pdf
. You'll need some tools (such as sphinx-doc and LaTeX installed - you should already have installed if you've managed to build Xapian from git). You can upload a revised "final PDF" at any point before the deadline, so don't leave your initial submission until the last minute.