|Google Summer of Code (GSoC) is Google's program for promoting Open Source Software development. Audacity was a mentoring organization for five students for Google Summer of Code 2008, and mentored two students in 2009. This page outlines the technical and other skills required by our GSoC students. Suitably qualified applicants are then rated according to certain selection criteria.|
|For information about our future plans and about Audacity software development, please join our developers mailing list|
- Tip: Subscribe to audacity-devel if you want to get involved in the development process right now.
For nearly all GSoC project ideas, wxWidgets and C++ programming are essential. Students who show that they have experience with wxWidgets will generally be at a considerable advantage to those who don't. Some projects need additional skills too. Audacity makes extensive use of CVS, mailing lists and MediaWiki, so all students will need to get to grips with these.
Whilst Audacity is cross-platform, it isn't necessary to have programming experience on all three platforms (Windows, Mac and Linux/Unix), but some familiarity with all three will make things go more smoothly.
We expect students to have compiled Audacity from our CVS HEAD development code, and to at least have attempted a simple bug-fix, before they will be considered. See this FAQ for details.
Difficulty of Projects
We have rated the GSoC projects 'Easy', 'Moderate' or 'Hard'. We want to ensure that students do a project that matches their experience and ability. We're more concerned with having a successful outcome than getting the most technically challenging problems tackled. If a very experienced student wants to do an 'easy' project, but add to the specification to make it more challenging for them, then that's fine by us. If a fairly new student can see a way to simplify a 'Hard' project so that it's a realistic goal for them, we'd be delighted.
We'd like to get the matching right so that:
- Students are tackling problems they have excellent prospects of completing
- Students enjoy the challenge and get experience and real satisfaction from it, and not just the stipend from Google
Good communication skills, being ready to pick up relevant points from related development issues, and clearly and concisely getting your own point across, are important.
We do require as a minimum weekly status e-mails to the audacity-devel mailing list, once coding starts. This goes for both mentor and student alike. In practice, you'll be in contact much more often. See our GSoC Student Guidelines. We must know how your work is progressing over time. If there are problems with your mentor, or if CVS won't accept any of your check-ins, we need to know that you will communicate this to us promptly.
There are many ways to communicate:
- e-mails to mentors
- e-mails to the audacity-devel mailing list
- reading and contributing to this Wiki
- conversations on Internet Relay Chat (IRC)
- monitoring audacity-cvs to keep up to date with changes in the code.
In 2008 we had an "open house" on IRC every Friday during GSoC. It's important to try and keep up with all the ways we communicate with each other - this is how open source projects coalesce and get things done. It's especially important to read and take part in audacity-devel. Of course, there are a lot of messages there, but good skim reading skills will help here.