git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Google Summer of Code 2013 (GSoC13)

From
CNCarlos Martín Nieto <cmn@delego.de>
Date
Feb 21, 2013, 14:29 UTC
Message-ID
<87wqu1zqn4.fsf@centaur.cmartin.tk>
In-Reply-To
<51252877.5000808@schu.io>
Michael Schubert <schu@schu.io> writes:
Show 23 quoted lines
> On 02/18/2013 06:42 PM, Jeff King wrote:
>> 
>> I will do it again, if people feel strongly about Git being a part of
>> it. However, I have gotten a little soured on the GSoC experience. Not
>> because of anything Google has done; it's a good idea, and I think they
>> do a fine of administering the program. But I have noticed that the work
>> that comes out of GSoC the last few years has quite often not been
>> merged, or not made a big impact in the codebase, and nor have the
>> participants necessarily stuck around.
>> 
>> And I do not want to blame the students here (some of whom are on the cc
>> list :) ). They are certainly under no obligation to stick around after
>> GSoC ends, and I know they have many demands on their time. But I am
>> also thinking about what Git wants to get out of GSoC (and to my mind,
>> the most important thing is contributors).
>
> Speaking of libgit2:
>
> Git provided the libgit2 project with a slot each of the last three GSOC.
> The contributions made by the former students (Disclaimer: one of them
> speaking) have been quite important for libgit2 and all three students
> are still involved. Each project was an important push towards building
> a new, feature complete Git library.

Right, speaking of libgit2. GSoC has been very successful (as Michael, I'm also somewhat biased) for libgit2. This happens outside of the git ML so it probably hasn't gotten as much visibility here.

I believe it's partly because there were still larger parts where most of the work was technical and the goal was quite clear, as git had already set the standard and expectations and the decisions had to be mostly about how to implement it in a way that makes sense for a library, rather than it living inside of git, which is not always easy, but you can experiment with different uses of it.

It's also possible that part of the success was the fact that we were already acquainted with the "release often and early" policy, as we'd been involved with FLOSS for a while already.

The current gaping hole in libgit2 is the lack of merge support, which is the last hurdle to a stable 1.0 release. There is already some work by Edward Thomson that needs to be reviewed and merged. I'm not sure that there's enough for a whole summer there, but you could throw in the review and merge of another missing feature, which is making the reference storage generic, as it currently only supports the git-compatible file-based one. There's other nice-to-have things like thin-pack support that you could use to fill up a summer, though I'm not sure that goes with the spirit of the programme.

Something else that needs love is Git for Windows. I believe both git and libgit2 would benefit a lot from a project to take some parts of git that are implemented in a scripting language and port them to use libgit2. As Git for Windows needs to ship a ton of dependencies anyway, using a pre-1.0 library wouldn't be an issue and it can be used to experiment with an eventual porting of git to be one user of libgit2 rather than a completely different implementation. The more immediate benefit for Git for Windows would be less reliance on languages that are awkward to use on Windows and need their own environment. Mentoring from the libgit2 probably wouldn't be much of an issue to organise, though I'm not sure if the GfW team would have time for the part that involves its peculiarities.

So there's a couple of projects that could be done with some realistic chance of being merged upstream, as they'd be technical, as long as we do tell the student to send small units of work to be reviewed often.

Cheers,
   cmn
Previous: Michael SchubertNext: Florian Achleitner
Message 38 of 47 in “Google Summer of Code 2013 (GSoC13)”
  1. Thomas RastFeb 18, 2013
  2. Jeff KingFeb 18, 2013
  3. Ramkumar RamachandraFeb 18, 2013
  4. Jeff KingFeb 18, 2013
  5. Ramkumar RamachandraFeb 18, 2013
  6. Jonathan NiederFeb 18, 2013
  7. Thomas RastFeb 18, 2013
  8. Ramkumar RamachandraFeb 19, 2013
  9. Jeff KingFeb 18, 2013
  10. Ramkumar RamachandraFeb 19, 2013
  11. Thomas RastFeb 18, 2013
  12. Jens LehmannFeb 18, 2013
  13. Junio C HamanoFeb 18, 2013
  14. Ramkumar RamachandraFeb 19, 2013
  15. Jonathan NiederFeb 19, 2013
  16. Ramkumar RamachandraFeb 19, 2013
  17. Thomas RastFeb 19, 2013
  18. Junio C HamanoFeb 19, 2013
  19. Thomas RastFeb 19, 2013
  20. Junio C HamanoFeb 19, 2013
  21. Ramkumar RamachandraFeb 19, 2013
  22. Junio C HamanoFeb 19, 2013
  23. Jonathan NiederFeb 18, 2013
  24. Jens LehmannFeb 18, 2013
  25. Christian CouderFeb 20, 2013
  26. Ramkumar RamachandraFeb 18, 2013
  27. Jeff KingFeb 18, 2013
  28. Junio C HamanoFeb 18, 2013
  29. Potential GSoC13 projects (Re: Google Summer of Code 2013 (GSoC13))Jonathan Nieder, Feb 18, 2013
  30. Duy NguyenFeb 19, 2013
  31. Jeff KingFeb 18, 2013
  32. Jonathan NiederFeb 18, 2013
  33. Shawn PearceFeb 20, 2013
  34. Christian CouderFeb 20, 2013
  35. Matthieu MoyFeb 20, 2013
  36. Thomas RastFeb 21, 2013
  37. Michael SchubertFeb 20, 2013
  38. Carlos Martín NietoFeb 21, 2013
  39. Florian AchleitnerFeb 25, 2013
  40. Junio C HamanoFeb 25, 2013
  41. Thomas RastFeb 18, 2013
  42. Ronan KeryellFeb 18, 2013
  43. Thomas RastFeb 18, 2013
  44. Ramkumar RamachandraFeb 18, 2013
  45. Thomas RastFeb 18, 2013
  46. Duy NguyenFeb 19, 2013
  47. Jaseem AbidFeb 26, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.