Top tips for GSOC applications

From Apertium
Revision as of 05:38, 19 March 2018 by Firespeaker (talk | contribs) (→‎Other tips: sourceforge → github)
Jump to navigation Jump to search

Writing your GSOC application

Here are the main tips to help you in writing your GSOC application with Apertium.

  • Be realistic
    • We're more likely to accept ideas which are realistic than ones which are "way out there". But if you have a "way out there" idea, don't panic! We're still interested, but we'll try to find a subset of it which is achievable in the time scale available.
  • Be appropriate
    • Demonstrate you have a knowledge of Apertium, how it works and the problem it has that you'd like to solve.
  • Have a plan
    • Three months may seem like a long time, but it isn't. Show you have a definite plan with dates and deliverables, split into weeks is probably best. Don't forget to leave time for getting familiar with the platform — this should be ideally before, or in the community bonding period — and for documentation. Anyone thinking of working on a language pair should make sure that they read about testvoc and other quality controls, and factor those in. If you know of any breaks or absences beforehand, be upfront about them and plan around them.
  • Get in contact ASAP!
    • We get a lot of proposals: some good, most bad. Get in contact with your potential mentor as soon as possible by sending your proposal to the mailing list, and asking for feedback. Be responsive to feedback. Refine your application based on feedback. If the mentors remember you, your chances of being picked are higher.
  • Read the Ideas Page!
    • If you find yourself asking 'do you have any Java/Python/Fortran/x86 assembler projects...' -- you didn't read the ideas page. Read the ideas page.
  • Do the coding challenge
    • Every idea will have a coding challenge to perform, this is basically a test to see if you have the required skills to do the project or if you can acquire them in a short amount of time.

Other tips

We're not saying that following the advice below will automatically get you a mentor, but going through it will give you a pretty good chance!

  • Join IRC: even if you're idling or don't say anything, you'll discover more about how Apertium works.
  • Subscribe to the apertium-stuff mailing list.
  • Create a github username (if you don't already have one).
  • Ask for an account on the Wiki.

Then:

  • First install Apertium and a language pair; read through the new language pair HOWTO. This might even give you some more ideas!
    • You typically want language data from GitHub, core tools from our repo (official Debian packages are out of date though). See Installation.
  • When you think of Apertium, think Wikipedia (Be bold!) or think Nike (Just Do It!). Preferably, both.
  • Rule 1 here: Ask questions! Keep asking. The more you ask, the better.
  • Rule 2: No questions are stupid. We have all been new to Apertium once, we have all needed to ask questions. Asking them is proof to us that you are serious.
  • Even better: Write your questions, and a summary of the answers you get, on this wiki. A good summary shows us that you have understood what we told you.
  • Browse the wiki again, especially Apertium New Language Pair HOWTO.
  • Update the wiki so the next reader won't encounter the same problems as you did.
  • Play with some language pairs.
  • In a language pair of your own choice, try to edit the files, break stuff, and then make it work again — and then tell us about it.
  • If you think you know the problem better than the mentor does, it could be that you have misunderstood it. Read more about Apertium before making assumptions based on your existing experience.
  • While your code is compiling, look through the GsoC student guide from FLOSS manuals
  • Ask for an account on this Wiki, that way we can work collaboratively on applications. You should ask on our mailing list or on the IRC channel you just joined and an admin will create it for you.

Frequently asked questions

Do I first have to do the coding challenge and only then I get selected?

The way it works is this: First you need to find a mentor, then you need to write a proposal, then you need to submit the proposal to the Google Mélange site. After this, we read and evaluate the proposals, and we rank them. Then Google tells us how many slots we got, and we take the top n ranked slots, where n is the number of slots we got.

You don't have to do the coding challenge, but it will help you with (a) finding a mentor, and (b) writing your proposal. You are unlikely to be able to write a good proposal without knowing something about Apertium -- which the coding challenge will help you with. And by asking questions, hanging out on IRC, you will get to know the mentors, increasing the chances of finding one who is interested in your proposal.

Is it possible to see applications from previous years?

Some of the applications from previous years are available on our Wiki under the category Category:Student proposals for the Google Summer of Code.

How can I get an account on the Wiki?

There are a couple of options, either email our mailing list (apertium-stuff@lists.sourceforge.net) or come on IRC and ask one of the mentors to add you an account. In both cases you will need an email address and a username.

Template

Name:
E-mail address:
Other information that may be useful to contact you (e.g. IRC):

Why is it that you are interested in Apertium?

Which of the published tasks are you interested in? What do you plan to do? 

Include a proposal, including 
    * a title,
    * reasons why Google and Apertium should sponsor it,
    * a description of how and who it will benefit in society,
    * and a detailed work plan (including, if possible, a schedule with milestones and deliverables).

=== Work plan ===

* Week 1: 
* Week 2:
* Week 3:
* Week 4:

* '''Deliverable #1'''

* Week 5: 
* Week 6:
* Week 7:
* Week 8:

* '''Deliverable #2'''

* Week 9: 
* Week 10:
* Week 11:
* Week 12:

* '''Project completed'''

Include time needed to think, to program, to document and to disseminate.

If you are intending to disseminate to a conference, which conference are you intending to submit to. Make sure
to factor in time taken to run any experiments/evaluations and write them up in your work plan.

List your skills and give evidence of your qualifications. Tell us what is your current field of study, 
major, etc. Convince us that you can do the work. 

List any non-Summer-of-Code plans you have for the Summer, especially employment, if you are applying for 
internships, and class-taking. Be specific about schedules and time commitments. we would like to be sure you have 
at least 30 free hours a week to develop for our project.