{"thread":{"id":"37518","subject":"My GSoC2014 retrospective","startedAt":"2014-09-08T21:10:30Z","lastAt":"2014-09-08T21:16:46Z","messageCount":2,"participants":["Matthieu Moy","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"249062","messageId":"vpqsik1yg1l.fsf@anie.imag.fr","threadId":"37518","inReplyTo":null,"subject":"My GSoC2014 retrospective","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2014-09-08T21:10:30Z","receivedAt":"2014-09-08T21:10:30Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Hi,\n\nSo, GSoC 2014 is over, and it's time for me for a retrospective too.\n\nAs a reminder, Git participated in GSoC a number of times, but we were\nnot happy enough with how it went and did not apply in 2013. This year,\nwe thought we would hopefuly be better at mentoring students, and gave\none more try. It was my first experience as a GSoC mentor, although I\nsupervised students my engineering school contributing to Git as a\nschool project several times.\n\nOn overall, Git selected 3 students, one of them did not send anything\nto the list and failed the mid-term. Fabian worked on rebase -i\nimprovements, send several versions of his patch series, but the code\ndid not reach pu (yet?). I mentored Tanay, who worked on git_config\nimprovements with the help of Ram. As Tanay wrote in his retrospective\n[1], there's a reasonable amount of code merged (next or pu). All the\nobjectives of the project have not been reached, but I still consider it\nas a relative success. I prefer by far having this situation than having\neverything half-done and nothing merged.\n\n  [1] http://permalink.gmane.org/gmane.comp.version-control.git/256458\n\nI think the following contributed to this (I'll talk about my\nexperience, don't try to see a comparison with others or any\nover-generalization):\n\nMicroprojects\n-------------\n\nMicroprojects were a really, really good idea. Far better than selecting\nstudents only based on their proposal on melange and a superficial\ndiscussions in the comments below the proposals. And not only for\nselection: students learnt the contents of SubmittingPatches before\nstarting the project, so that was one less thing for me to teach as a\nmentor, and less opportunities for mistakes in the first iterations.\n\nOn-list interaction\n-------------------\n\nAccording to my email archives, there are 106 threads where I sent an\nemail to Tanay, 83 of which happened on-list (and 64 are followups to a\nPATCH). The off-list exchanges were essentially quick reviews of draft\nseries, and short messages to give an advice.\n\nI think its very important to have this on-list interaction for many\nreasons. It's good, make sure everybody has an opportunity to give his\nor her opinion about the project soon (as a mentor, I can obviously be\nwrong, and the sooner someone notices it, the less time lost). It's good\nfor the student, because GSoC is all about interacting with a community,\nnot just with a mentor. And, well, it has to be good because this is\nhow we usually work here.\n\nOTOH, we should probably have exchanged a few emails in private between\nGSoC mentors and admin. I wasn't really aware of what other students\nwere doing except what they sent to the list, and it could have helped\nto know a bit more about how others were doing.\n\nAlso, I insisted with Tanay that he should introduce himself on the\nlist, and remind people that he was working as a GSoC student when he\nsent his first patch. I realized how much this was important when I\ndiscovered in a private conversation that Junio did not know that\nFabian's series was sent as a GSoC project. While I don't think \"I'm\nsending this patch as part of my GSoC\" should be equivalent to \"please,\nmerge this even if the code is not good, I'm still a student after all\",\nI think is helps reviewers to know about GSoC, if only to better advise\nthe student.\n\nCode merged ASAP\n----------------\n\nI think Tanay and I did a good job at getting some code merged early. We\ndid bother Junio a bit with series depending on each other, but we could\nsend code by relatively small series, and prioritized \"finish first\nseries\" over \"start new ones\". Of course, reviews take time, so we still\nhad several series in parallel, but splitting the work like this allowed\nsome code to reach master early, while part of the work is still\nunfinished.\n\nWe all hope that GSoC students will remain part of the community, and\nit's tempting to think that unfinished code isn't a problem because we\nwill have time to finish it later, but I think it's risky. My motto for\nthis kind of projects (I do the same with Ensimag students): hope that\nstudents will keep contributing after the end, but don't rely on it.\n\nMentoring takes time\n--------------------\n\nI knew it (and actually, I was initially reluctant to be a mentor for\nthis reason), but I did enjoy the experience and happily spent a lot of\ntime and energy on it.\n\nMost series needed many iterations, and we couldn't have reached the\nquality required to get in git.git without fast and detailed reviews. I\ndid my best to review the code ASAP when a series was sent, and\nfortunately the list, and Junio in particular, was very supportive.\nThanks a lot to everybody who contributed!\n\nStill, I think it should have taken less iterations to get the final\nresult. But I do not know what we could have done better for that.\n\nIn the end ...\n--------------\n\nMy goals with the GSoC were essentially (unordered):\n\n* Teach cool stuff to a student (for those who missed it, I'm a teacher\n  in another life ^^)\n\n* Get useful code in git.git\n\n* Attract new long-term contributors\n\n* Have fun\n\nI think each of them is satisfied. The future will tell us if the third\none is actually reached, but Tanay's motivation was also to start\ncontributing on a regalar basis, and I hope we all motivated him to do\nso!\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"249064","messageId":"CAPc5daU-1WWFWJkq=rsFU7bPJnn22QTb-ADz_ehMTAcCyJ7CyA@mail.gmail.com","threadId":"37518","inReplyTo":"vpqsik1yg1l.fsf@anie.imag.fr","subject":"Re: My GSoC2014 retrospective","fromName":"Junio C Hamano","fromEmail":"junio@pobox.com","sentAt":"2014-09-08T21:16:46Z","receivedAt":"2014-09-08T21:16:46Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thanks for a write-up. FWIW, I also did enjoy interacting with your student.\n\nOn Mon, Sep 8, 2014 at 2:10 PM, Matthieu Moy\n<Matthieu.Moy@grenoble-inp.fr> wrote:\n> Hi,\n>\n> So, GSoC 2014 is over, and it's time for me for a retrospective too.\n>\n> As a reminder, Git participated in GSoC a number of times, but we were\n> not happy enough with how it went and did not apply in 2013. This year,\n> we thought we would hopefuly be better at mentoring students, and gave\n> one more try. It was my first experience as a GSoC mentor, although I\n> supervised students my engineering school contributing to Git as a\n> school project several times.\n>\n> On overall, Git selected 3 students, one of them did not send anything\n> to the list and failed the mid-term. Fabian worked on rebase -i\n> improvements, send several versions of his patch series, but the code\n> did not reach pu (yet?). I mentored Tanay, who worked on git_config\n> improvements with the help of Ram. As Tanay wrote in his retrospective\n> [1], there's a reasonable amount of code merged (next or pu). All the\n> objectives of the project have not been reached, but I still consider it\n> as a relative success. I prefer by far having this situation than having\n> everything half-done and nothing merged.\n>\n>   [1] http://permalink.gmane.org/gmane.comp.version-control.git/256458\n>\n> I think the following contributed to this (I'll talk about my\n> experience, don't try to see a comparison with others or any\n> over-generalization):\n>\n> Microprojects\n> -------------\n>\n> Microprojects were a really, really good idea. Far better than selecting\n> students only based on their proposal on melange and a superficial\n> discussions in the comments below the proposals. And not only for\n> selection: students learnt the contents of SubmittingPatches before\n> starting the project, so that was one less thing for me to teach as a\n> mentor, and less opportunities for mistakes in the first iterations.\n>\n> On-list interaction\n> -------------------\n>\n> According to my email archives, there are 106 threads where I sent an\n> email to Tanay, 83 of which happened on-list (and 64 are followups to a\n> PATCH). The off-list exchanges were essentially quick reviews of draft\n> series, and short messages to give an advice.\n>\n> I think its very important to have this on-list interaction for many\n> reasons. It's good, make sure everybody has an opportunity to give his\n> or her opinion about the project soon (as a mentor, I can obviously be\n> wrong, and the sooner someone notices it, the less time lost). It's good\n> for the student, because GSoC is all about interacting with a community,\n> not just with a mentor. And, well, it has to be good because this is\n> how we usually work here.\n>\n> OTOH, we should probably have exchanged a few emails in private between\n> GSoC mentors and admin. I wasn't really aware of what other students\n> were doing except what they sent to the list, and it could have helped\n> to know a bit more about how others were doing.\n>\n> Also, I insisted with Tanay that he should introduce himself on the\n> list, and remind people that he was working as a GSoC student when he\n> sent his first patch. I realized how much this was important when I\n> discovered in a private conversation that Junio did not know that\n> Fabian's series was sent as a GSoC project. While I don't think \"I'm\n> sending this patch as part of my GSoC\" should be equivalent to \"please,\n> merge this even if the code is not good, I'm still a student after all\",\n> I think is helps reviewers to know about GSoC, if only to better advise\n> the student.\n>\n> Code merged ASAP\n> ----------------\n>\n> I think Tanay and I did a good job at getting some code merged early. We\n> did bother Junio a bit with series depending on each other, but we could\n> send code by relatively small series, and prioritized \"finish first\n> series\" over \"start new ones\". Of course, reviews take time, so we still\n> had several series in parallel, but splitting the work like this allowed\n> some code to reach master early, while part of the work is still\n> unfinished.\n>\n> We all hope that GSoC students will remain part of the community, and\n> it's tempting to think that unfinished code isn't a problem because we\n> will have time to finish it later, but I think it's risky. My motto for\n> this kind of projects (I do the same with Ensimag students): hope that\n> students will keep contributing after the end, but don't rely on it.\n>\n> Mentoring takes time\n> --------------------\n>\n> I knew it (and actually, I was initially reluctant to be a mentor for\n> this reason), but I did enjoy the experience and happily spent a lot of\n> time and energy on it.\n>\n> Most series needed many iterations, and we couldn't have reached the\n> quality required to get in git.git without fast and detailed reviews. I\n> did my best to review the code ASAP when a series was sent, and\n> fortunately the list, and Junio in particular, was very supportive.\n> Thanks a lot to everybody who contributed!\n>\n> Still, I think it should have taken less iterations to get the final\n> result. But I do not know what we could have done better for that.\n>\n> In the end ...\n> --------------\n>\n> My goals with the GSoC were essentially (unordered):\n>\n> * Teach cool stuff to a student (for those who missed it, I'm a teacher\n>   in another life ^^)\n>\n> * Get useful code in git.git\n>\n> * Attract new long-term contributors\n>\n> * Have fun\n>\n> I think each of them is satisfied. The future will tell us if the third\n> one is actually reached, but Tanay's motivation was also to start\n> contributing on a regalar basis, and I hope we all motivated him to do\n> so!\n>\n> --\n> Matthieu Moy\n> http://www-verimag.imag.fr/~moy/\n"}]}