git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* My GSoC2014 retrospective
@ 2014-09-08 21:10 Matthieu Moy
  2014-09-08 21:16 ` Junio C Hamano
  0 siblings, 1 reply; 2+ messages in thread
From: Matthieu Moy @ 2014-09-08 21:10 UTC (permalink / raw)
  To: git
  Cc: Jeff King, Junio C. Hamano, Ramkumar Ramachandra, Thomas Rast,
	Michael Haggerty

Hi,

So, GSoC 2014 is over, and it's time for me for a retrospective too.

As a reminder, Git participated in GSoC a number of times, but we were
not happy enough with how it went and did not apply in 2013. This year,
we thought we would hopefuly be better at mentoring students, and gave
one more try. It was my first experience as a GSoC mentor, although I
supervised students my engineering school contributing to Git as a
school project several times.

On overall, Git selected 3 students, one of them did not send anything
to the list and failed the mid-term. Fabian worked on rebase -i
improvements, send several versions of his patch series, but the code
did not reach pu (yet?). I mentored Tanay, who worked on git_config
improvements with the help of Ram. As Tanay wrote in his retrospective
[1], there's a reasonable amount of code merged (next or pu). All the
objectives of the project have not been reached, but I still consider it
as a relative success. I prefer by far having this situation than having
everything half-done and nothing merged.

  [1] http://permalink.gmane.org/gmane.comp.version-control.git/256458

I think the following contributed to this (I'll talk about my
experience, don't try to see a comparison with others or any
over-generalization):

Microprojects
-------------

Microprojects were a really, really good idea. Far better than selecting
students only based on their proposal on melange and a superficial
discussions in the comments below the proposals. And not only for
selection: students learnt the contents of SubmittingPatches before
starting the project, so that was one less thing for me to teach as a
mentor, and less opportunities for mistakes in the first iterations.

On-list interaction
-------------------

According to my email archives, there are 106 threads where I sent an
email to Tanay, 83 of which happened on-list (and 64 are followups to a
PATCH). The off-list exchanges were essentially quick reviews of draft
series, and short messages to give an advice.

I think its very important to have this on-list interaction for many
reasons. It's good, make sure everybody has an opportunity to give his
or her opinion about the project soon (as a mentor, I can obviously be
wrong, and the sooner someone notices it, the less time lost). It's good
for the student, because GSoC is all about interacting with a community,
not just with a mentor. And, well, it has to be good because this is
how we usually work here.

OTOH, we should probably have exchanged a few emails in private between
GSoC mentors and admin. I wasn't really aware of what other students
were doing except what they sent to the list, and it could have helped
to know a bit more about how others were doing.

Also, I insisted with Tanay that he should introduce himself on the
list, and remind people that he was working as a GSoC student when he
sent his first patch. I realized how much this was important when I
discovered in a private conversation that Junio did not know that
Fabian's series was sent as a GSoC project. While I don't think "I'm
sending this patch as part of my GSoC" should be equivalent to "please,
merge this even if the code is not good, I'm still a student after all",
I think is helps reviewers to know about GSoC, if only to better advise
the student.

Code merged ASAP
----------------

I think Tanay and I did a good job at getting some code merged early. We
did bother Junio a bit with series depending on each other, but we could
send code by relatively small series, and prioritized "finish first
series" over "start new ones". Of course, reviews take time, so we still
had several series in parallel, but splitting the work like this allowed
some code to reach master early, while part of the work is still
unfinished.

We all hope that GSoC students will remain part of the community, and
it's tempting to think that unfinished code isn't a problem because we
will have time to finish it later, but I think it's risky. My motto for
this kind of projects (I do the same with Ensimag students): hope that
students will keep contributing after the end, but don't rely on it.

Mentoring takes time
--------------------

I knew it (and actually, I was initially reluctant to be a mentor for
this reason), but I did enjoy the experience and happily spent a lot of
time and energy on it.

Most series needed many iterations, and we couldn't have reached the
quality required to get in git.git without fast and detailed reviews. I
did my best to review the code ASAP when a series was sent, and
fortunately the list, and Junio in particular, was very supportive.
Thanks a lot to everybody who contributed!

Still, I think it should have taken less iterations to get the final
result. But I do not know what we could have done better for that.

In the end ...
--------------

My goals with the GSoC were essentially (unordered):

* Teach cool stuff to a student (for those who missed it, I'm a teacher
  in another life ^^)

* Get useful code in git.git

* Attract new long-term contributors

* Have fun

I think each of them is satisfied. The future will tell us if the third
one is actually reached, but Tanay's motivation was also to start
contributing on a regalar basis, and I hope we all motivated him to do
so!

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: My GSoC2014 retrospective
  2014-09-08 21:10 My GSoC2014 retrospective Matthieu Moy
@ 2014-09-08 21:16 ` Junio C Hamano
  0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2014-09-08 21:16 UTC (permalink / raw)
  To: Matthieu Moy
  Cc: git, Jeff King, Ramkumar Ramachandra, Thomas Rast,
	Michael Haggerty

Thanks for a write-up. FWIW, I also did enjoy interacting with your student.

On Mon, Sep 8, 2014 at 2:10 PM, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:
> Hi,
>
> So, GSoC 2014 is over, and it's time for me for a retrospective too.
>
> As a reminder, Git participated in GSoC a number of times, but we were
> not happy enough with how it went and did not apply in 2013. This year,
> we thought we would hopefuly be better at mentoring students, and gave
> one more try. It was my first experience as a GSoC mentor, although I
> supervised students my engineering school contributing to Git as a
> school project several times.
>
> On overall, Git selected 3 students, one of them did not send anything
> to the list and failed the mid-term. Fabian worked on rebase -i
> improvements, send several versions of his patch series, but the code
> did not reach pu (yet?). I mentored Tanay, who worked on git_config
> improvements with the help of Ram. As Tanay wrote in his retrospective
> [1], there's a reasonable amount of code merged (next or pu). All the
> objectives of the project have not been reached, but I still consider it
> as a relative success. I prefer by far having this situation than having
> everything half-done and nothing merged.
>
>   [1] http://permalink.gmane.org/gmane.comp.version-control.git/256458
>
> I think the following contributed to this (I'll talk about my
> experience, don't try to see a comparison with others or any
> over-generalization):
>
> Microprojects
> -------------
>
> Microprojects were a really, really good idea. Far better than selecting
> students only based on their proposal on melange and a superficial
> discussions in the comments below the proposals. And not only for
> selection: students learnt the contents of SubmittingPatches before
> starting the project, so that was one less thing for me to teach as a
> mentor, and less opportunities for mistakes in the first iterations.
>
> On-list interaction
> -------------------
>
> According to my email archives, there are 106 threads where I sent an
> email to Tanay, 83 of which happened on-list (and 64 are followups to a
> PATCH). The off-list exchanges were essentially quick reviews of draft
> series, and short messages to give an advice.
>
> I think its very important to have this on-list interaction for many
> reasons. It's good, make sure everybody has an opportunity to give his
> or her opinion about the project soon (as a mentor, I can obviously be
> wrong, and the sooner someone notices it, the less time lost). It's good
> for the student, because GSoC is all about interacting with a community,
> not just with a mentor. And, well, it has to be good because this is
> how we usually work here.
>
> OTOH, we should probably have exchanged a few emails in private between
> GSoC mentors and admin. I wasn't really aware of what other students
> were doing except what they sent to the list, and it could have helped
> to know a bit more about how others were doing.
>
> Also, I insisted with Tanay that he should introduce himself on the
> list, and remind people that he was working as a GSoC student when he
> sent his first patch. I realized how much this was important when I
> discovered in a private conversation that Junio did not know that
> Fabian's series was sent as a GSoC project. While I don't think "I'm
> sending this patch as part of my GSoC" should be equivalent to "please,
> merge this even if the code is not good, I'm still a student after all",
> I think is helps reviewers to know about GSoC, if only to better advise
> the student.
>
> Code merged ASAP
> ----------------
>
> I think Tanay and I did a good job at getting some code merged early. We
> did bother Junio a bit with series depending on each other, but we could
> send code by relatively small series, and prioritized "finish first
> series" over "start new ones". Of course, reviews take time, so we still
> had several series in parallel, but splitting the work like this allowed
> some code to reach master early, while part of the work is still
> unfinished.
>
> We all hope that GSoC students will remain part of the community, and
> it's tempting to think that unfinished code isn't a problem because we
> will have time to finish it later, but I think it's risky. My motto for
> this kind of projects (I do the same with Ensimag students): hope that
> students will keep contributing after the end, but don't rely on it.
>
> Mentoring takes time
> --------------------
>
> I knew it (and actually, I was initially reluctant to be a mentor for
> this reason), but I did enjoy the experience and happily spent a lot of
> time and energy on it.
>
> Most series needed many iterations, and we couldn't have reached the
> quality required to get in git.git without fast and detailed reviews. I
> did my best to review the code ASAP when a series was sent, and
> fortunately the list, and Junio in particular, was very supportive.
> Thanks a lot to everybody who contributed!
>
> Still, I think it should have taken less iterations to get the final
> result. But I do not know what we could have done better for that.
>
> In the end ...
> --------------
>
> My goals with the GSoC were essentially (unordered):
>
> * Teach cool stuff to a student (for those who missed it, I'm a teacher
>   in another life ^^)
>
> * Get useful code in git.git
>
> * Attract new long-term contributors
>
> * Have fun
>
> I think each of them is satisfied. The future will tell us if the third
> one is actually reached, but Tanay's motivation was also to start
> contributing on a regalar basis, and I hope we all motivated him to do
> so!
>
> --
> Matthieu Moy
> http://www-verimag.imag.fr/~moy/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-09-08 21:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-08 21:10 My GSoC2014 retrospective Matthieu Moy
2014-09-08 21:16 ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).