[Haskell-beginners] Google Summer of Code

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Wed Dec 24 07:51:51 UTC 2014


On 12/22/2014 03:03 PM, Njagi Mwaniki wrote:
> Which books or resources or libraries should one read to get ready for
> the Google summer of code? Also which projects would be easiest to work
> on for beginners?
> 
> Anything that would make one ready for Google summer of code and
> complete their project with ease.
> 
> I'm currently taking cs194 from upenn online
> http://www.seas.upenn.edu/~cis194/lectures.html
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
> 

What matters the most[†] is the project you pick (in respect of how
useful to the Haskell community it is), what you promise to do with it
and how likely it is that you can fulfill your promise. Notably, GSOC is
not a project that aims to teach you (Haskell|C|Python|LISP|pick your
poison). For this reason your question about books to read on beginners
mailing list seems slightly misguided to me. I do not think you are
expecting there to be a ‘How to prepare for GSOC’ book ;). By no means
do I hope to discourage you somehow of course but if you hope to have a
serious chance at having an idea accepted, you need to start gaining
some expertise in the area ASAP. I commend you on sending out your
e-mail before 2015!

It is of course best to find a project you are interested in: you
probably don't want to dive into linear algebra package for GSOC if you
have 0 interest or previous exposure to the topic.

It is also unlikely that a brand new project will be accepted unless it
offers great benefits and is likely to do great things after GSOC is
over. It seems difficult to imagine, especially for a beginner.

My advice is that you should start looking at existing projects *now*
and see if you can't start committing straight away while having a
grander scheme in mind: you are much more likely to get accepted if your
proposal says ‘I have already been committing to this project for past 3
months’ than ‘I will spend first two weeks familiarising myself with the
codebase’. It's favourable if you already have some rough idea how you
would go about hacking your project rather than having to investigate
once the project starts.

The project you will work on has to somehow benefit Haskell community.
‘I will write a game and people will have fun hour playing it’ is
probably not good. ‘I will improve Hackage/cabal/Haddock/GHC’ is much
more likely to make it through. You are meant to have a pretty good idea
of what you will doing: ‘I will fix whatever issues I can for 3 months’
is probably not good but ‘I will fix X, Y, Z tickets which currently
hinder the community/will allow the community to become a better place
because ABC’ seems much more likely to be accepted. The project has to
be reasonable for your skillset: do not try to promise to do work which
is obviously out of your ability (Haskell or otherwise) or one that you
can do but will simply take too long.

Your proposal and subsequent 3 months of work need a mentor: this is
most likely going to be someone involved with the project already. If
you have an idea of what project you would like to help out, you should
by all means seek out people involved earlier than later. They can most
likely advise you on your proposal, say how viable your ideas are and
probably mentor it.

Lastly, remember that you are competing with other people. I believe
there were some ~30 proposals submitted last year for only 15 or so slots.

I recommend you try to find past proposals. There is usually a template
you are asked to fill out and the questions there should help you form
the idea of what you're expected to write down.

Hopefully this helps somehow. There is #haskell-gsoc on Freenode where a
few people are idling and it gets much busier closer to the proposal
deadlines.

PS: Shameless plug time! Haddock is a pretty core tool and we could
always use some helpers! If you end up looking at Haddock as one of the
possible projects, I could advise you and probably mentor it. A weaker
candidate is the Yi text editor: it's not exactly a core tool but there
is quite a bit of interest in it. I hear that it has very nearly made it
into GSOC last year! I could probably also mentor this if need be. I
don't know if I'm eligible to take part myself this year or if I will
even have time so if you're interested in either of these you should let
me know sooner than later.

†: In my opinion, based on having taken part, including one successful
completion and one failure to get in.

-- 
Mateusz K.


More information about the Beginners mailing list