Difference between revisions of "SoC 2009 Rules"

From VideoLAN Wiki
Jump to navigation Jump to search
Line 26: Line 26:
 
* Join the mailing lists (x264-devel or vlc-devel, according to your project),
 
* Join the mailing lists (x264-devel or vlc-devel, according to your project),
 
* Say hello to the potential mentor and admin.
 
* Say hello to the potential mentor and admin.
 +
  
 
* Learn about the code you should modify (where in the source, what is the idea...),
 
* Learn about the code you should modify (where in the source, what is the idea...),
 
* Be able to compile a VLC or x264 for your platform and learn how to use [[Git]].
 
* Be able to compile a VLC or x264 for your platform and learn how to use [[Git]].
 
* Show the team that you compiled VLC and x264, by probably provide a small patch and a build. You can send the patch to an admin or to vlc-devel@ or x264-devel@
 
* Show the team that you compiled VLC and x264, by probably provide a small patch and a build. You can send the patch to an admin or to vlc-devel@ or x264-devel@
 +
  
 
* Do one of the slection task (can be done after proposing the proposal)
 
* Do one of the slection task (can be done after proposing the proposal)

Revision as of 08:04, 25 March 2009

Those rules are mostly for x264 and VLC.

Those rules are quite flexible for any situation.

Rules

We don't like rules.

We like freedom and having fun with software programming.

However, we have no choice, seeing past experiences and issues. :'(

Summer Generalities

If you are a student, we expect that:

  • You don't have a full-time job during your summer if you are doing SoC at the same time,
  • You are of good will to work within VideoLAN team.

If you are a mentor, we expect that:

  • You are willing to work with one student and answers his questions.

Selection

To be selected, students should:

  • Select an idea,
  • Post a proposal on Google website,
  • Show on IRC,
  • Join the mailing lists (x264-devel or vlc-devel, according to your project),
  • Say hello to the potential mentor and admin.


  • Learn about the code you should modify (where in the source, what is the idea...),
  • Be able to compile a VLC or x264 for your platform and learn how to use Git.
  • Show the team that you compiled VLC and x264, by probably provide a small patch and a build. You can send the patch to an admin or to vlc-devel@ or x264-devel@


  • Do one of the slection task (can be done after proposing the proposal)
  • Complete the Google admission and give a planning idea.

VLC selection tasks

  • Examples of small patches:
    • QtCoverFlow integration (mandatory for any Qt related project),
    • ASX playlists improvements (see trac ticket 20 and the code there) (easy)
    • RAM playlists support (easy),
    • WPL and ZPL playlists support (easy too),
    • Close a VLC bug on trac,
    • Add RMI (RIFF MIDI) support to the SMF demux,
    • libsox based module,
    • port a demuxer from mplayer or ffmpeg,
    • Extend the DBus control to activate a video filter on the fly on an already playing video,
    • Fix warnings,
    • Add some simple feature that sounds nice to you.

During the summer

Student expectations

  • Student should explain his planning to his mentor and to an admin (not everyone has the same vacations)
  • Student should report with a small mail once a week to both mentor and admin during the time agreed (failure to do that will fail the application)
  • Student should commit on his personal git branch once a week, except the first week of your schedule (or more if your project is complex).

Explaining why you can't work one week is fine. Disappearing without notice is not.

  • Update wiki status page.

Student rights

  • Ask questions and stupid questions to anyone
  • Bother the mentor with questions
  • Ask the admin for another mentor if the mentor doesn't answer or doesn't fit.

Students will be considered as full-right developers.

Mentor expectations

  • Mentor should report to admins any problems as soon as noticed,
  • Mentor should tell admins if they can't make it in order to have another mentor for the student.

Mentor rights

  • Fail a student :D

Advice

To get selected

  • Be nice.
  • Show us basic skills with checking out and compiling the VLC code base.
  • Show us that you understand the VLC architecture. Code samples are good.
  • Come on IRC. Hang out, talk to us.

During the SoC

COMMIT EARLY, COMMIT OFTEN

  • Please do check that your commits compile. This makes it much easier to find problems later on, as searching for one problem doesn't stumble into broken commits that relate to something else entirely.
  • Ask questions. Don't sit on problems until the GSoC is over.
  • Don't be afraid to start researching your question yourself then check whether you are on the right track with your mentor. He (or others on the mailinglist or in the irc channel) will be happier to answer you if you can show you have done the groundwork. It tends to make explanations shorter and more meaningful, too.
  • Finishing the GSoC project in time is pretty cool too. It's your show! Make it something nice.