1. Google Summer of Code -- 2006
    1. Ideas
    2. Notes on applying
    3. If selected...

Google Summer of Code -- 2006

Google is organizing a fantastic opportunity for students to help out with FLOSS development this summer, and get paid for doing it. More information is available on their site.

Monotone is a version control system, and we're one of the mentoring organizations for SoC 2006. The rest of this page contains information for students considering applying to the monotone project.

What makes us excited about working on monotone? We're trying to change how software development itself works -- to make it more pleasant, more productive, less frustrating, and more plain fun. Work on tools has a multiplicative effect -- your work can make ''everyone else's'' work more effective. We're pushing the boundaries of technology, inventing new methods for building distributed p2p systems, and robustly solving complex real world problems. Our history representation has become the de facto standard for new tools; the best existing merge algorithm was co-invented by a Monotone SoC 2005 student. We have a few more ideas up our sleeves still... if all this gets you excited too -- maybe this is a project for you :-)

For more information on monotone in general, the comprehensive manual has details on how monotone works, and the wiki (FrontPage) is used for scratch work about various work in progress.

Monotone is written in clean and straightforward C++. A number of the projects below do not require C++ knowledge.

Ideas

Here are some example ideas for projects. Feel free to suggest others.

Largish projects

Smaller projects

"Buy two, they're cheap"

Integration

A VCS is only one piece of the development ecology -- at least as important as the VCS itself is how it fits into the other tools people use. Examples:

Ambitious

These are probably too big for someone who doesn't have familiarity with monotone already to do in a summer, but throwing them out there anyway:

Oddballs

A few funky things, that are not strictly related to monotone at all:

Notes on applying

So you're thinking of applying? Great! Here are some more general tips on what we're looking for:

Different orgs will be looking for different things, but here are some other good hints on writing a good SoC app that seem compatible with how we like to do things:

If selected...

To give you some idea of how we like to run things, and what to expect: