GSoC FAQ

From Audacity Wiki
Revision as of 10:01, 24 March 2008 by James (talk | contribs) (More FAQ answers.)
Jump to: navigation, search
This page answers some questions posted to our Summer of Code e-mail address. 
http://code.google.com/soc/2008/  has comprehensive details of the current GSoC program. Some questions we have been asked are also answered there, though not always on their FAQ pages.


  • What level of technical expertise is required to participate in GSoC?

The level that could reasonably be expected of better than average computer science degree students after their first year. Realistically, given that GSoC is fairly competitive, we'd regard the minimum programming skill to be such that at least one programming project of 1000+ lines should have been completed as part of coursework. Applicants should mention at least one significant program they have completed on their application.

We're not expecting students to already be familiar with the speciality of sound processing for Audacity work. However students should have some familiarity with writing GUI code or they will be at a distinct disadvantage.


  • What sort of projects can be chosen?

The organisations and projects that were offered in 2007 can be found here:

http://code.google.com/soc/2007 

For Audacity we welcome new ideas that may enhance the program's functionality. Some suggestions can be found on our GSoC ideas page.


  • What is the role of mentoring organizations?

See the Google pages for precise details.
- We select the applications we like the best.
- We provide a mentor. The mentor is there to advise on implementation choices, making sure that the student has the information they need.
- We, particularly the mentor, evaluate the work and confirm to Google that the student has done the work satisfactorily, which is the basis on which Google pays the student.


  • How do I make a "good" application?

Whatever mentoring organization you choose, the best way is to get in contact with its developers and discuss what you would like to do as a project with them. Do this well in advance of sending in your application. The results of that discussion will lead to a much stronger application. To discuss your ideas with the Audacity developers, please subscribe to our developers' mailing list .

Your application will also be stronger if you have already tried using the Audacity codebase. If you have compiled Audacity and made some small experimental change, that gives us confidence that you will be able to do more. There's more about writing a good GSoC application here


Audacity Devel

These questions have been answered on audacity-devel mailing list. If someone has time to do it, it may be helpful to have fuller answers here too. However, you can just look at the recent archives on sourceforge and the brief answers here may well suffice.

  • Q: What is Cleanspeech?
  • A: Google is your friend :-)
  • Q: Where can I find out about the Architecture of Audacity?
  • A: Look on this wiki in ArchitecturalDesign and then perhaps at the {Category:For Developers}
  • Q: I don't know wxWidgets. Is that a problem?
  • A: wxWidgets can be learned very quickly. The documentation is excellent. If you've not used it before, you're advised to spend some time getting familiar with it so that that knowledge shows in your application. If you're unsure, talk it over with us.
  • Q: Am I good enough for GSoC?
  • A: Convince us you are! If you give us evidence that you've compiled Audacity and then made some modification to Audacity you're ahead of most people.
  • Q: I want to tackle this HARD problem from your ideas list. Is it too hard for me? Is it even possible?
  • A: Only you can tell if its too hard for you. We believe the basic idea is perfectly doable by an advanced student. Talk it through with us, and spend time understanding the problem. Convince yourself you can do it, so you know how much to offer to do, and then convince us you can. Beware of not giving us evidence that you can compile and modify Audacity whilst you focus on the harder stuff. Beware of not giving us evidence that you can interact with our community.
  • Q: I've not written a program with more than 1000+ lines before. Is that a problem?
  • A: Yes it is. Talk it over with us. There may be a way forward all the same. It's harder for less experienced people to get a slot, but it still should be possible. If you're relatively inexperienced and also leaving contacting us to the last possible moment too, there's no chance at all.
  • Q: I'm a graduate student and I'm doing research in Audio/Dsp. Can I propose this extension to Audacity which sounds awfully like the brief for my academic research project?
  • A: We don't have a problem with that. If it progresses your research and at the same time does enough good for general users of Audacity, that can be win-win. You will need to contact us early. You will need a very clear focus on things that benefit users. If you're in the 'research stratosphere' beware of not giving us evidence that you can compile and modify Audacity. Beware of not giving us evidence that you can interact with our community.
  • Q: I want to send in some source code too, along with my application. Do I send it with the application or do I link to it?
  • A: Clear bullet points are often better than pseudocode to specify what the code will do. Real code should usually be hyper-linked to, and in your application make sure to tell us if it already runs in Audacity or is a separate program. We currently have some questions for google about content that is linked to - e.g. if we can't access it when we browse the mentor app, or if it changes after the application deadline, so generally use it for evidence to back up your claims on your proposal, rather than for content that absolutely has to be read for your proposal to have a good chance.
  • Q: How do I fix this compiler error that I see....
  • A: Talk with us on audacity-devel. ASKing questions about getting the Audacity compiler going won't harm your chances. It shows we don't need to worry about you getting stuck and not letting us know.