Summer of Code chat FAQ

From OLPC
Jump to: navigation, search

Note: This is an edited version of a SoC chat on #olpc that was held Saturday, March 22, 2008. This transcript is posted in roughly chronological order - some overlapping dialogues have been restructured to separate out different conversation threads (you can see where this has been done from the timestamps). Thanks to Chris and Chris for the log from which this was generated! Mchua 08:41, 25 March 2008 (EDT)

Introduction

17:03 <_sj|> mburns, bobMini, crazy-chris, all : summer of code discussion for
      potential mentors
17:03 <_sj|> (and students and anyone else who has questions about the
      process)
17:08 <mchua> (for all: please see http://wiki.laptop.org/go/Summer_of_Code
      and http://wiki.laptop.org/go/Summer_of_Content for the two programs
      running this summer)

Past students share their experiences

Rafael (dirakx)

17:05 <_sj|> are there past GSoC students who could share a bit of their
      experience with the project?
17:07 <dirakx> _sj yes, for me it was quite an experience i learnt a lot
      ..although i couldn't finish the proyect in the right time, because i
      went to boston to do the intership with OLPC ..but overall it was a
      really good thing..
17:09 <mchua> dirakx: could you give a brief synopsis of your project, how you
      got started, what you would do differently if you were to go back and do
      it again?
17:09 <mchua> dirakx: and for the potential mentors here, what was the most
      useful thing your mentor did to help you out?
17:09 <dirakx> mchua: yep  i guees my advice for all the new students is work
      hard..and try the best to finish your projects..
17:10 <dirakx> mchua: my project was about the EC..
17:10 <dirakx> the embedded controller of the XO..
17:10 <dirakx> as some of you may now it is closed source and one of the ideas
      was to open it up..
17:12 <dirakx> in my case i was really close to my mentor because i was
      sitting besides him..and when i had a question or something, all that i
      had to do is only ask..
17:14 <dirakx> anyway the project is in it's beginnings and as i said before
      we have to do some other stuff at boston and  we couldn't work to much
      on it..so it is not finished yet..
17:13 <shikhar> dirakx: are you participating as a mentor this year?
17:14 <dirakx> shikhar: mm i really don't know i think i have not enough
      experience to do so..
17:15 <Prakhar> hey, nobody is born with experience!
17:16 <shikhar> i'm looking forward to learning a lot as well, since i haven't
      engaged in something i would consider 'significant'... other than things
      like firefox extensions and class projects!
17:16 <shikhar> i like the fact that i could work full time from home on an
      OSS project
17:17 <Prakhar> yeah thats a big advantage
17:17 <dirakx> other advice i can make is that is really necesary to read all
      the gsoc mail list and keep informed with all the possible changes,
      payments etc etc..
17:18 <dirakx> but the primary thing is doing a good work in your proyect and
      have a good comunication with your mentor..
17:18 <dirakx> my two cents  :) 
17:21 <mchua> dirakx: thanks! one question... after you left Boston, how did
      you stay in contact (did you keep on working on your project then)?
17:22 <dirakx> mchua: yep! i still work as a volunteer..

Roberto (robertofaga)

17:20 <mchua> robertofaga: would you like to chime in and share what you did
      last summer, and advice for this year's students (and mentors)?
17:21 <robertofaga> ok, but sorry if I repeat anything that dirakx said before
       :) 
17:22 <robertofaga> I applied to one of wiki's suggestion, a game project
17:22 <robertofaga> after I got selected I got three mentors
17:22 <robertofaga> hehe
17:23 <robertofaga> so in the interim phase (until the start of coding phase)
      I discussed with them, and I must say before it I hadn't any experience
      with FOSS communities, only using them
17:24 <robertofaga> in this discuss I changed some of the original plan: My
      original plan was to build a generic engine, to build games in many
      genres
17:24 * |sj| thinks roberto's generic engines are almost metageneric
17:25 <robertofaga> and we changed to ISIS, which means only one genre,
      because I had something that I didn't think in the concept of the plan:
      who will use the XO

What experience level are we looking for?

17:25 <Prakhar> robertofaga, does it leave some adverse effect if i'm first
      time developer in FOSS
17:25 <Prakhar> ?
17:26 <|sj|> not necessarily
17:27 <hemantg> Prakhar: although not entirely related but I was a Summer of
      Content intern, and had very limited knowledge.. but you can mostly find
      your way once you get comfortable discussing things on the irc, mailing
      lists
17:28 <Prakhar> hey, that was some wise words from you, hemantg. thanks
17:29 <|sj|> as far as the gsoc list is concerned
17:29 <|sj|> everyone interested in discussing summer of code, including
      applying next week to be a student, mentoring or commenting on your past
      experiences
17:29 <|sj|> you can sign up for the mailing list here:
17:29 <|sj|> http://lists.laptop.org/listinfo/gsoc
17:29 <robertofag1> Prakhar: I think being developer for first time in FOSS
      hasn't any problem, perhaps it's better as you learn very quickly
17:30 <robertofag1> continuing, I think the most important think is to
      understand the OLPC philosophy and the aim of them: education to
      children
17:31 <Prakhar> that has really elevated my confidence. thanks
      robertofaga. two pennies more  :) 
17:32 <robertofag1> so reading the wiki, the most important source of
      information about OLPC project, you can check most of projects work with
      construction
17:46 <Prakhar> i'm beginner of Python. is it scary?
17:46 <crazy-chris> Prakhar: if you know other languages, it will be a easy
      step into python  :) 
17:44 <ericburns> how skilled are the student applicants to be? what kind of
      experience are you looking for?
18:04 <clover2203> looking through all the discussion above.. ive got more
      confused... what exactly is the prerequsite ?? i mean im free for the
      whole summer and i am proficient in C/C++ coding.. am i good eneough to
      contribute to OLPC ??
18:04 <clover2203> being free for the summer means ( >10 hours/day)
18:04 <shikhar> clover2203: http://wiki.laptop.org/go/Summer_of_Code/Ideas has
      ideas for things you could work on
18:05 <mchua> clover2203: apply and find out.  ;)  don't worry about being
      qualified - you can code, and you can learn; it's more important to be
      smart and open-minded and keen on Making Something Happen than it is to
      have 5 years of RPM packaging experience or anything like that.
18:08 <|sj|> this is an internship, you are expected to be learning new things

How projects get proposed (short answer: you!)

17:32 <crazy-chris> how many olpc related projects will take place?
17:32 <Prakhar> yes, how many slots are we expecting?
17:32 <|sj|> last year we had offers for over a dozen
17:33 <|sj|> but didn't have that many good applicants / projects
17:33 <shikhar> how exactly does mentor-student matching happen...
17:34 <|sj|> there are three steps to the SoC process
17:34 <|sj|> there is the project statement
17:34 <|sj|> which is a combinatino of existing project ideas submitted by
      anyone, often by the proejct community
17:35 <|sj|> (in this case our sumer of code/Ideas page is the core place for
      discussion, though there are many other places where projects have been
      discussed online)
17:35 <|sj|> then there is the student application
17:35 <|sj|> which either defines a new poject or links to an existing
      suggestion, with a description of what specifically the student wants to
      do / how s/he wants to approach a problem
17:35 <|sj|> and there is a pool of mentors with a certain amont of time to
      engage with students over thec ourse of the project.
17:36 <|sj|> scorche notes it is good to have at least two mentors per student
17:36 <|sj|> the mentors have their own preferences for projects they are
      familiar with / competent to mentor
17:36 <|sj|> but one of their functions is to help students get involved with
      the active developers,
17:36 <|sj|> get feedback on their direction, and stay on track to finish
      their own project
17:37 <|sj|> (the studetns make up and purseut heir own projects
      independently)
17:37 <|sj|> there are regular reviews; at least a midterm andf inal review of
      how each entire gsoc-project is coming
17:37 <|sj|> and at the end of the summer, even some opportunities to show off
      at gatherings of gsoc participants

Who can apply?

17:38 <ericburns> if i am not a student this semester, however, i'm enrolled
      for fall at a university - can i still apply?
17:39 <|sj|> to be eligible, the student must be currently enrolled.
17:41 <|sj|> ericburns, "Accepted into" a program suffices as well.
17:39 <dirakx> ericburns: you have to send to google some papers that verifies
      your status as student..
17:39 <shikhar> ericburns: i believe the GSOC FAQ states that if you are
      enrolled by a certain date, you are eligible... you should check it out
17:41 <|sj|> applications must be for individual people -- a single student.
      however you are welcome to work with others while carrying out your
      project; if you are already engaged with a group related to the work you
      want to do you should carve out something you yoursefl can accomplish
      with that support.
17:41 <Prakhar> i have got a link for student registration
      http://code.google.com/soc/2008/student_signup.html
17:42 <Prakhar> but it seems its not on the home page of GSoC
17:42 <crazy-chris> and a link for mentor signup:
      http://code.google.com/soc/2008/mentor_step1.html

We're looking for mentors - here's what we need.

17:42 <|sj|> At the moment, we are looking most actively for mentors from the
      community
17:43 <|sj|> you do not have to be a student to mentor; it is best if yo have
      experience with software design and development, but it does not have to
      be experience hacking parts of Sugar, for instance
17:43 <itai1> how are mentoring offers processed/accepted/discarded?
17:43 <|sj|> and as students are applying to taking on projects in education,
      toolkit design, interface and accessibility, media processing, and more
17:43 <|sj|> the qualities of a good mentor may have little to do with current
      or past sugar/xo development
17:45 <|sj|> we are looking for people with time to commit to their students,
      above all; being a good mentor takes more than a couple hours a week
      throughout the process
17:45 <itai1> so, a mail to the list is also requested, isn't it?
17:46 <|sj|> itail, mentors certainly have to be signed up to the list to be
      eligible, so it doesn't hurt to say hello  :-)   you can simply point
      people to the wiki entry you made
17:46 <itai1> I'm interested only in mentoring squeak/debian -olpc projects,
      is a problem if I prefer to focus on those items?
17:47 <|sj|> that's perfect
17:47 <|sj|> it is better for mentors to have a specific focus -- if you are
      already dedicating a few hours a week to mentoring the world at large on
      a devel mailing list,
17:47 <|sj|> mentoring individual students isnot a stretch.
17:47 <|sj|> the biggest concern is that students get stuckor busy, don't know
      to ask for help
17:48 <|sj|> or don't konw how, and the mentors are too busy to notice.
17:48 <|sj|> so we try to have a surplus of mentors checking in, giving code
      reviews (or recommending them), reminding students to publish early and
      often, &?c.
17:48 <shikhar> code reviews: i like
17:49 <itai1> ok, it's perfect for me as long as it's on the topics I'm
      usually working on
17:48 <crazy-chris> maybe a bi-weekly newsletter of the mentors to the mailing
      list
17:55 <|sj|> chris : a biweekly newsletter would be quite nice.
17:56 <|sj|> of course SoC is limited to people who we accept through the
      vetting and application process, but there are also others who are
      working on their own efforts in a slightly less formalized way...

Working in Boston, and other SoC-like programs

17:55 <mchua> |sj| - some of last year's interns came to Boston for the
      summer... are there plans to do the same this year?
17:56 <|sj|> mchua, it's actually not cool with Google to have SoC interns
      working /at/ the sponsor organization's place of business
17:56 <|sj|> they are worried about related liability, apparently.
17:58 <|sj|> so if you want to work @ 1CC in Cambidge, you have to apply for
      an OLPC paid or volunteer internship (send resume / cover letter to
      info@laptop.org or volunteer@laptop.org)
17:39 <|sj|> for high school students, there is a separate and
      separately-scheduled "GHOP" program
17:39 <|sj|> http://code.google.com/opensource/ghop/
17:40 <|sj|> here's the general faq
17:40 <|sj|> http://code.google.com/opensource/gsoc/2008/faqs.html
17:59 <shikhar> santiago: you might also be interested in
      http://season.openusability.org/index.php/projects/2008/olpc
18:07 <|sj|> there wa a post recently about a university of rochester group
      that is trying accessibility and user interface design review over the
      spring term
18:07 <|sj|> they are looking for people interested in olpc to work with

What makes a good project proposal

Good project proposals make a good application

18:08 <|sj|> to clover and others asking about what is required to be "good
      enough" -- this is as much a function of having a well-defined project
      and a clear idea of what you want to accomplish
18:08 <bemasc> |sj|: that's backwards from how everyone else does SoC.
18:09 <bemasc> |sj|: if you look through the ideas pages of the other SoC
      projects, you'll see that their strategy is for the current developers
      to write project proposals and offer to be mentors for their proposals.
      Applicants are then expected to choose from among the proposals.
18:10 <bemasc> |sj|: the problem is, the people applying don't know what
      projects OLPC thinks are important, but you're judging them on the basis
      of the project.
18:10 <|sj|> bemasc, you're expected to propose a project in line with their
      current projects.
18:10 <|sj|> but you are expected to set your own goals and deadlines and
      implementation
18:10 <|sj|> GSoC isn't about carrying out someone else's design spec for a
      project that they haven't gotten around to finishing.  it's about
      contributing to an ongoing project with your own ideas and enthusiasm
18:10 <|sj|> at least as far as I'm concerned...
18:11 <mchua> (and getting involved in an open source community, *especially*
      if you haven't before)

What are the priorities to work on?

18:11 <bemasc> |sj|: sure.  I just think you may reject a lot of proposals
      because you don't think it's a useful/good project, from people who
      would've happily worked on something OLPC really wants done.
18:12 <|sj|> but you're right, when I say "have an idea of what you are going
      to do" I don't mean some arbitrary project unrelated to our current
      work; I mean have a good idea of how you would aproach one of our open
      problems.  There are open problems that we are addressing that aren't
      currently on the Ideas page; if you /really/ want to do one of those,
      you are welcome to propose that, or to edit the page
18:13 <shikhar> i think working on an open problem requires a very good idea
      of the background and experience that not most applicants would have
18:13 <bemasc> |sj|: right, but the Ideas page is crowded with things written
      by outsiders that the core OLPC team probably would not support
18:13 <|sj|> <mstone and blaketh and I have been looking at it with that in
      mind...>
18:14 <|sj|> help revising that page to better reflect our priorities would be
      appreciated.

Who to get feedback from

18:14 <|sj|> the 'core OLPC team' is largely composed of people in this
      channel.  projects that our active commnity members think are especially
      imnportant to olpc /are/ important.
18:17 <mchua> |sj|: we need a more persistent way of tracking what the "core
      community" deems important... perhaps "core OLPC people" could thumbs-up
      on proposals that they like - send out a call for comments on proposals
      on the lists, perhaps?
18:17 <|sj|> mchua, sure.  we're having a discussion here, since this chan is
      full of core olpc people
18:18 <mchua> |sj|: aye, and this is awesome, but not everyone is in this
      channel, especially students who might want to do olpc soc
18:18 <|sj|> likewise, the posters on devel and sugar and schoolserver lists
      make up most of the active dev and design community.
18:18 <|sj|> from the wiki perspective, we ned a page with the various
      overlapping priorities by group
18:19 <|sj|> so far individual groups are wary about expressing their own
      priorities because they think there must be some other larger group
      whose capital Priorities are mort important... or something.
18:19 <|sj|> when people should just express more plainly what they see as
      critical.  having a single "priority" field in trac isn't enough
18:22 <mchua> |sj|: another thing is that even if more active community
      members comment on proposals on the wiki and give them thumbs-ups, it's
      hard for newcomers to tell who people are, and whether they're "core" or
      not (which is an arbitrary distinction, at some point).
18:23 <mchua> (as in, how does somebody know that I'm an actual active olpc
      community member as opposed to Random Person Who Wandered In On Tuesday?
      how do they know that my suggestions "align with the community's?")
18:26 <|sj|> mchua, being a core community member isn't a useful distinction.
18:26 <|sj|> I cringe every time someone talks about the 'core' community.
18:27 <|sj|> what is important is defining a good and consented-to set of
      priorities.
18:27 <|sj|> we don't currently have rogue factions of active contributors,
      participants, and conversation leaders whose opinions are objected to by
      the rest of the community.
18:28 <|sj|> so if the collection of people reviewing and organizing our
      roadmaps and project needs comes to agreement on a set of priorities for
      projects, that will be representative of what is most important to
      address first
18:27 <bemasc> |sj|: for SoC, what's important is for people to know which
      projects you (the people approving applications) are likeliest to accept
18:28 <bemasc> not providing that information makes SoC into a guessing game
18:28 <|sj|> bemasc: that is correct.  every accepted mentor will have a say
      in how we rate proposals.
18:31 <|sj|> mchua, if we actually start reviewing and organizing those needs
      more aggresively, the individuals doing it don't matter.
18:32 <|sj|> it won't help you to try to game the system by figuring out who
      is contributing those reviews and assessing their personal opinions.
18:32 <|sj|> just look at their work
18:32 <|sj|> their reviews
18:32 <|sj|> their assessments
18:32 <|sj|> who they came from is much less important.
18:33 <|sj|> we're not currently in the position where there are lots of
      strongly held and differing opinions about priority and one has to know
      who to listen to and who to ignore.  it's more a matter of looking at
      what is in the criticla path of the posted roadmaps and what is not;
      what could b reasonably implemented in a short period of time and what
      could not.

Where to suggest proposals

18:20 <|sj|> you should always suggest proposals even if they don't turn out
      to be good soc proposals.
18:21 <|sj|> I would suggest them on the wiki, and simply point to them from
      the soc application.;
18:21 <|sj|> don't try to cram lots of info into the soc application text
      itself -- that's closed, never seen by the rest of the world, and
      constrained to certain form fields anyway

Interested? Here's what to do.

18:42 <|sj|> please remember to sign up, those who just joined the discusion :
      gsoc@lists.laptop.org
18:51 <|sj|> alright, we now have 30 people on the mailing list, I'm sending a
      quick hello world post
18:51 <|sj|> please reply with an intro of yourself and your ideas
19:05 <|sj|> we should wrap up the meeting for now; it's been a while
19:05 <|sj|> everyone's encouraged to keep talking about soc and coming up
      with good ideas for it, of course  :) 
19:05 <|sj|> though doing some of this on the mailing list is a sure way to
      get more people to see it...
19:06 <Prakhar> thanks
19:06 <|sj|> for all : aside from getting good potential mentors to sign up
19:07 <|sj|> please review and help clean up the Ideas page ; ad your own
      comments and questions on the talk page if you're not sure about
      something
19:07 <|sj|> and flag projects that look interesting so that others can help
      update them or review them if they haven't received much attention yet.
19:30 <shikhar> |sj|: a problem i have right now with the wiki page i'm
      working on right now for my idea is seperating what i think is best from
      other approaches?
19:31 <|sj|> shikhar, try to spearate the project idea from the approach
19:31 <|sj|> the idea should be a problem that needs to be solved.
19:32 <|sj|> if you can separate the concept and use case from the
      implementation, it will be easier for others to collaborate with you and
      easier to separate out your own ideas