Friday, June 22, 2012

How to be a better GSOC Student : A list of helpful tit-bits from my GSOC experience



Its been over an year since I started work on my first GSOC project. Over the past year, I’ve been lucky enough to get a first hand insight into how Open Source works, and how we may benefit from it.
Looking back at what i’ve learnt, I want to list down a set of helpful titbits which might improve your GSOC experience.

Here goes,

  • Don’t limit your GSOC experience to your mentor and backup mentor only. Try to make as many friends as possible.

  • Don’t keep your mentor in suspense. Update him regularly, even if you have not made any progress. “I could not do anything over the weekend because I was stuck with this problem” is better than hiding from you mentor until you have something positive to report. Furthermore, updating your mentor may help him resolve your problem.

  • Some people are really busy, and may not respond to your emails promptly.  Keep this in mind, and plan for it.

  • Document everything – user requirements, problems you encountered and solutions you used to fix them. Someone is going to be very thankful to you several year later. And after all, Open source is supposed to be ‘Open’.

  • We can accept failure, but we can't accept not trying. Not trying is a definite no -no.

  • Don't come up with problems. Come up with potential solutions. Don’t say “I’m getting this exception”. Say “ i’m getting this exception which I think can be solved via the following changes...” Having a potential solution in mind tells us that you’ve done your homework.

  • Never assume anything. Always ask and confirm.

  • let's admit it, a lot of you (myself included) initially applied for GSOC because of the money. The financial rewards are attractive, but never ‘work’ for the money. Work to impress people. Think of the money only as an additional benefit.

I’ll wrap up my ‘insights’ with something really important my mentor Glen McCallum said. ToQuote,

In my opinion, successful working code is not the only objective (of GSOC). Integration to the community is the primary objective with the students having a positive real-world experience.
Is it possible to have a project that meets all functional objectives but I still consider the project unsuccessful? Definitely, yes.
Is it possible to have a student project that does not accomplish the functional objectives but still I consider the project a huge success? Yes, absolutely.”

Some of you may be worried about the progress of your project. If so, don't forget that your coding output may amount to only a part of the evaluation. The remainder of the evaluation goes into how well you have worked with others, and become part of our community !