Summer of Code chat FAQ
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)
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
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..
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 firstname.lastname@example.org or email@example.com) 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 : firstname.lastname@example.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