GSoC Results: Open Letter to Leslie and Google Team

10 September 2007

Introduction

VideoLAN was selected as one of the mentoring organization, on one of my proposition, and we have had seven slots and seven students.

Our experience is kind of interesting, because we have faced not-showing students, disappearing student, disappearing mentor, successful students and very successful students.

Our experience might also be interesting, because VideoLAN and VLC media player are very near to the bazaar in the [http://catb.org/~esr/writings/cathedral-bazaar/](Cathedral and the Bazaar) Spectrum. In fact, unlike KDE, MoFo or Debian, we have no leader, no formal meetings, no scheduled regular IRC meetings, no foundation, and not a lot of money. Most of the development is done on the free time, and there is no actual guru acknowledging all the patches.

However, the source code of VLC is not that small ( around 300,000 lines, for all the modules, and 200,000 lines for the core, libvlc, and the various bindings and a lot more of external libraries) and VLC is quite popular with millions of downloads. Moreover, the ambiance in the Team is quite nice and the IRC channel has a lot of developers laying around all days (since this is the main synchronization way for the project ). Moreover, entering the VLC codebase is not that easy compared to other projects.

Google Summer of Code

So this was the first year of our participation to the Google of Code project, and we worked a bit to welcome the students, we have had a lot more candidature than we thought at the beginning, and the choice was difficult, but we finally choose a few ones, that seemed good folks and good workers. It took me a lot of time on that, but well, we thought that this would be ok.

In my opinion, some of the biggest problems of VLC are the audio part ( not enough filtering and no gapless sound ), the absence of fullscreen controller, and subtitles support. We wanted to address that in this SoC.

Work and results.

So we have had a few surprises, some good, some a lot less good.

Richard Guo

This student had a great resume and proposed us a great technical solution to our fullscreen controller project. The code wasn’t the most difficult one, so that would be an easy project. He had a very good mentor, in a technical point of view. So we thought that all would be good.

However, this student never coded anything. Because of his San-Francisco-Area based University, he thought he could just ignore us, ignore our mentor and lie during the first two weeks by mail. A disappearing student! We have mailed him, welcomed him as all the other ones, but he did not do anything…

I am really clueless about what we could have done with this one. So he did not fail, he did not start at all. Very sad :'(

Pierre d’Herbemont

Only his work and collaboration in the team made the whole VideoLAN GSoC a great success. He worked on a hard subject (a MacOS-X Framework so other applications in OS-X can now use VLC), that he succeeded very brilliantly. But he also worked at the same time on the Symbian port of VLC, he rewrote some part of libvlc and has began a rework of the playlist. His code is great, he is nice ( he came to one of our dinner ) and did not need a mentor at all… He is now full part of the project and will go on with us.

All the code has been merged with the trunk of VLC.

Philip-David Lamparter

He did work on the implementation of ASS/SSA subtitles in VLC using an external library that he had to develop and finish.

He was late because of several problems, and some timing not very synchronized with the SoC, but he did some great work and his work was very good. His library supports a lot more formats than it used to when we first met him and the integration to VLC, not perfect is quite good.

The work has not yet been merged to the trunk, but should be soon integrated.

Biodun Osunkunle

Biodun is a student in audio and sound effects. His skilled in coding were not that good at the starting of the project, but he had great ideas and a lot of will, and was very nice. Therefore, we trusted him and gave him a great mentor. Anyway, his project was not easy, because we have not good skills in audio filtering. A lot of work was to compare the different algorithms and choose them. Before implementing them.

However, the mentor had to go and disappeared… I took the mentoring of the student ! Me ! I have just finished my studies ! I could have worked as a student in the SoC ! Waouw.

So, he was a bit late, but he managed to make the first half ( a spatializer filter, with strange effects ) quite nice, and we did merge it already in the trunk.

He also made a good part of the virtual surround and upmixing ( dolby prologic 2 like ) filters, but the implementations are not ready to be merged in the trunk yet. All the matlabs files for the algorithm have been committed. However, he had some fun, and I am quite sure he will finish this part of the work, and will stay on the team to code new funny things!

Sourav Pal

This is a deception. He had to work on a very difficult part of the code (RTSP/RTCP, etc…) but he was a PhD student, and he knew a lot of things on the different RFC. We were impressed and he was granted the part.

The thing is that he interacted very little with us, and he started in a wrong way, but never sent us code, nor use git, nor SVN and did not answer correctly our mails that asked code, so we couldn’t correct him.

After the mistakes been seen, we review the objectives and re-put him back on tracks, with new schedule. But he did not interact more, and finished just before the deadlines saying that he had been sick for some time, which may be right.

However, the code was not enough functional, he hadn’t warned us when he fell sick, and this was a problem since the beginning so we decided to fail the student. On this case, I think that we could have asked some weekly updates, but I am unsure that this would have changed anything.

Søren Bøg

This student was chosen because he came with his own funny idea of overlay video filter. The project was cool, he was nice and skilled. He worked with dionoea, and almost all went very good, except the fact that some of the extra tasks weren’t done. The code is not committed yet in the trunk for performance reasons, but this might change very soon.

Hugo de Jesús Garza Gómez

This student had to work on a Matroska muxer, which is not a very easy task, but far from being the most difficult, when we compare to Pierre, or even Biodun or Søren. He was working with one of the best guy from matroska…

He was late at the beginning, but this did not worry us too much, since the start was the difficult part, then it should be quite straightforward.

However, he almost disappeared after the midterm payment, and left the work at a 40% completion… We mailed him a lot and offered him some help, he worked a bit more on it but the school started again, and he was unseen. We failed the student.

Conclusion

We are a bit so-so in the results of this project.

At one hand, we have had some very successful students that made some great things and that did join the team and will work with us.

At the other hand, two students did not finished the code and their code won’t be integrated and left in the middle of the work. One said that he was very sick, I can’t check that. However this is a bit of a shame.

Some more code need to be integrated in trunk, and will be inside VLC before next release. This is very good news.

We are waiting for our T-shirts. I haven’t had any confirmation about the payment, so I hope the tax form was correctly set, but I am not sure, and this worries me a bit, since I wasn’t the one doing it.

We did not get invited to the mentor summit, which is quite normal according to our size. However, I may be in SF at that time, maybe I can grab an invitation, right? I’ll ask the team. If I can, I’ll blog that. If I can’t, I’ll cry alone in my room :D

KTHXBYE

Jean-Baptiste Kempf

Comments

  1. On 22 May 22220, 8:14 by E-bola

    Great and interesting read, A pretty fair “review” of the whole process in my own oppinion as well. Great work jb

  2. On 1 May 1010, 8:40 by JD

    Very interesting to learn what actually goes on during SoC.

    Thank you and all the other contributors for your time and contributions. VLC is a wonderful program that helps many people around the world :-)

  3. On 14 May 14140, 2:08 by orsenthil

    Good review of the program, Jean. Helps us understand what goes in and went in during SoC at VLC project.

    Thanks.