======= Summer Of Code 2017 Information for Students ======

Thanks for your interest in Summer of Code with CMUSphinx!

Summer of Code (SoC) is a program promoting open source software development by sponsoring students to work on open source projects from the comfort of their home. If you are a student interested in developing open source software, this program is for you! We do have strong requirements and huge expectation. But we sure you are capable of doing that.

Students who successfully complete SoC will receive USD $5000 for their work.

How to Apply

To participate in SoC as a student, you must be an individual enrolled in an accredited post-secondary institution. Sorry, no group applications are allowed. Please check Google SoC ‘s eligibility section for more details.

Please be sure you are familiar with answers to GSoC’s frequently asked questions

If you are interested in details, feel free to ask on mailing list or on IRC channel #cmusphinx on freenode.

Also note that there are many places in the net related for GSOC. For example check GSoc student Do’s and Don’ts

Project Ideas

A good place to look for project ideas is projectideas. (This page is being updated constantly during the application period - Please check it frequently.) It is important to note that this list is not exclusive: if you have a good idea that is not listed, don’t hesitate to apply for your project. It’s probably a good idea to ask people in the CMUSphinx community if they think your idea is good, though. Note that we are accepting coding projects only, sorry, no translation or documentation projects are allowed.

It’s a good idea to take the time to interact with the CMUSphinx and discuss your ideas. Hanging on irc channel #cmusphinx at freenode is a good way to get in touch with potential mentors.

Make A Small Contribution

Once you decide on the project you are proposing, to get a feel of the project try to fix a small bug in CMUSphinx. You can ask on irc or mailing list for a suggestion for what a suitable bug can be or find one in the project’s tracker and double check about it with the mentor. You will need to download and run the code for the project and create a patch that fixes the bug. Your patch may end up being just a few lines of code, but this demonstrates a willingness to learn and get involved.

While working on your contribution, you should feel free to ask for help from the mentor or from other people in the project’s IRC channel. You will need to upload your patch to the corresponding bug in the project’s tracker page. It is typical that once you submit your patch, the mentor or another person who reviews it will have some feedback about what you can improve in it. Please be sure to follow up on the reviewer’s feedback by attaching an updated patch until your contribution is ready to be included in the project. This kind of review process is standard for many of the changes that go in, so please don’t be deterred by it. It’s best to allocate time over at least a week for this process and to start as early as possible.

To warm up and learn about the project go through the

The Application

The student application period opens on March 20th at 16:00 UTC and closes April 3rd at 16:00. You have to submit your application on Google’s Summer of Code website. It should contain a detailed description of your project proposal. Please follow the following plan in your proposal:


There are 3 evaluation periods this year where mentors are required to complete an evaluation of their student. After the first 4 weeks of coding, after 8 weeks of coding and then at the end (after 12 weeks of coding). The evaluation forms are shorter than previous years so they should take less time to complete.

  • March 20 - April 3 16:00 UTC: Students will submit their draft proposals through the program website for you to give solid feedback on.

  • April 3 - 16: Review all submitted student proposals with your org and consider how many you want to select and how many you can handle. Decide on the minimum/maximum number of student slots to request.

  • April 17, 16:00 UTC: Deadline to submit slot requests (OAs enter requests)

  • April 19, 16:00 UTC: Slot allocations are announced by Google

  • April 19 - 24 16:00 UTC : Select the proposals to become student projects. At least 1 mentor must be assigned to each project before it can be selected. (OAs enter selections)

  • April 24 - May 4: Google Program Admins will do another review of student eligibility

  • May 4: Accepted GSoC students/projects are announced

  • May 4 - 29: Community Bonding Period

  • May 29: Deadline to notify Google Admins of an inactive student that you wish to be removed from the program

  • May 30: Coding begins

  • June 26-30: First evaluation period - mentors evaluate their students and students evaluate mentors

  • July 24 - 28: Second evaluation period - mentors evaluate students, students evaluate mentors

  • August 21- 29: Students wrap up their projects and submit final evaluation of their mentor

  • August 29 - September 5: Mentors submit final evaluations of students

  • September 6: Students passing GSoC 2017 are announced

    Personal information

  • Name

  • Email

  • Country, city during summer period

  • Current university and course, year started, length, expected completion date.

  • IRC nick on freenode

  • Are you subscribed to cmusphinx-devel mailing list

  • Google talk ID (optional)

  • Phone number (optional)

  • Provide a link to your CV (optional)

  • Provide a link to your personal blog/homepage (optional)

    Project proposal

This is the most important part

  • Project title

  • Then, a description of the project in your own words. Do not copy the description from the project page

  • Why did you choose this idea?

  • Show us that you’ve thought about (and/or discussed) what would really be involved in your chosen project

  • Research papers on the project you have read (Titles and short resume)

  • What are the goals of your project?

  • What is the measure of success for each goal?

  • Milestones (at least 3)

  • What is your planning schedule for completing these goals? (preliminary, for further discussion)

  • What are your plans after the project


  • We expect you to work on the project 30 hours per week. Are you ready for that?

  • Do you have any committments during the summer?

  • Exams or other events you expect to have to deal with during the GSOC period

  • How you plan to juggle the competing demands on your time

  • Note that we require a minimum of weekly contact from all our students, unless forewarned

  • We expect you to blog about project success each week. Are you ready for that?

  • Will you have an Internet access during the summer


  • Programming languages you have learnt, and how many lines of code, approximately, you have written in each

  • Have you ever involved in scientific research? Do you read scientific papers?

  • Describe your math experience

  • Describe your machine learning experience

Up and running

  • Have you succeeded pocketsphinx from subversion

  • If not, did you report a bug or request support on our mailing list?

  • Provide a link to the log of pocketsphinx speech recognition session on your computer (THIS IS A STRONG REQUIREMENT)

  • Provide the link on the patch you created to solve CMUSphinx problem (see above)

Open source development experience

  • Is this your first contact with the CMUSphinx project?

  • List or link to any code, patches, or bug reports contributed to other projects

  • List or link to any code, patches, bug reports contributed to the CMUSphinx project

  • Why CMUSphinx

Don’t just answer these questions, use your imagination and try to be clear.
Don’t forget to show enthusiasm.

It is never too early to start working on your SoC application! Note that SoC’s positions are extremely competitive. There were several projects that were on the cusp of being accepted but were not. Make sure you research the potential projects and write up a strong application. Your SoC application should be specific to your project. Potential SoC applicants may also want to read Google’s advice for SoC students . Please see “Selection Process” section below for specific details of our project.


Here is one of this year’s co-mentors’ successful student application for 2012: https://docs.google.com/document/d/1fymC4ta29apKZDtx4mkWx1t0L58XbV_FYmlIWcDiVLo/ edit

Here is what one of the org admins’ successful student application looked like last year: https://docs.google.com/document/d/1NIYgCbklTCxBjk8r_NcVMzdZ-KGH1D4OtCbJiX-6H0I/ edit

That may give you some idea of what to include. This time though, we ended up with a lot of extra work done early by volunteers, so we need to refactor a lot of the project ideas. Please do that in your draft applications. Don’t forget to allow time to test and document your code.

Selection Process

We will carefully review your project, we do require some basic skills from you to be accepted. Please make sure you estimate your project properly. If you don’t it’s probably not worth to try. We will require you to get very deep into CMUSphinx project, think beforehand if you need it.

How you will work

If your application is accepted, here are some information about how you’ll integrate with our community, and what we’d like you to do:

  • You will be assigned a mentor, (s)he will provide guidance throughout the project and will judge your achievements

  • You will have access to a svn repository where you’ll put your code

  • You will be subscribed to the developer mailing list

  • You will have to create blog where you will announce your work

  • You will hang on #cmusphinx irc channel on freenode

  • We’d like you to send a weekly summary about your progress

  • It’d be great if you could try as much as possible to integrate with the community in all possible ways! That’s the most important part of Summer of Code.

  • We will closely track your plan progress

  • We will make sure that the code you wrote will be integrated into main codebase

  • We will be pleased to work with your after project ends

Licensing and Attribution

SoC requires any code and other contributions you provide to be given under an OSI approved license, to ensure your work is available for use by anyone in the world. We will require you to use BSD license.

We are very pleased to have your help and as a courtesy are happy to attribute your work in various places, for example in blog posts. We will assume you want your name mentioned unless you suggest an alias, or the desire to remain anonymous.

Who will be my mentor

Our mentors are very very experienced speech developers:

James Salsman http://www.talknicer.com/about/

Dr. Bhiksha Raj http://www.cs.cmu.edu/~bhiksha/homepage.html

Arseniy Gorin https://github.com/gorinars