Thanks to everyone for the reviews. Here is an updated version trying to
take the remarks into account.

Regards,

-- 
  Nicolas George
>From fca492987eef197aa91a92c2ebe37ac3ff0acc58 Mon Sep 17 00:00:00 2001
From: Nicolas George <geo...@nsup.org>
Date: Thu, 19 Mar 2015 21:51:19 +0100
Subject: [PATCH] doc: add a few note for sponsorship candidates.

Signed-off-by: Nicolas George <geo...@nsup.org>
---
 doc/Makefile                         |   1 +
 doc/sponsored_internships_howto.texi | 160 +++++++++++++++++++++++++++++++++++
 2 files changed, 161 insertions(+)
 create mode 100644 doc/sponsored_internships_howto.texi

diff --git a/doc/Makefile b/doc/Makefile
index 697142f..8b76feb 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -26,6 +26,7 @@ HTMLPAGES   = $(AVPROGS-yes:%=doc/%.html) $(AVPROGS-yes:%=doc/%-all.html) $(COMP
               doc/git-howto.html                                        \
               doc/nut.html                                              \
               doc/platform.html                                         \
+              doc/sponsored_internships_howto.html                      \
 
 TXTPAGES    = doc/fate.txt                                              \
 
diff --git a/doc/sponsored_internships_howto.texi b/doc/sponsored_internships_howto.texi
new file mode 100644
index 0000000..227005d
--- /dev/null
+++ b/doc/sponsored_internships_howto.texi
@@ -0,0 +1,160 @@
+\input texinfo @c -*- texinfo -*-
+@documentencoding UTF-8
+
+@settitle Sponsored Internships HOWTO
+@titlepage
+@center @titlefont{Sponsored Internships HOWTO}
+@end titlepage
+
+@top
+
+@chapter I would like to work on FFmpeg for @url{https://code.google.com/soc/, Google Summer of Code} / @url{http://sophia.estec.esa.int/socis/, ESA Summer of Code in Space} / @url{https://www.gnome.org/outreachy/, Outreachy} / [insert here the latest trendy program]. What must I do?
+
+For the organization that sponsors the program, there is probably a lot of
+paperwork; refer to their homepage for information about eligibility,
+timeline, required paperwork, etc. This process is the full responsibility
+of the intern; the limited available FFmpeg mentor time and motivation is
+best spent on providing help specific to coding.
+
+As for FFmpeg, there is not much to do: choose a proposed project that you want to
+do, select a qualification task for that project that is not already taken
+by someone else, announce your chosen qualification task on the ffmpeg-devel
+mailing list, then start coding..
+
+If at any point you have any question, do not hesitate to ask them on the
+ffmpeg-devel mailing-list or on the IRC channel.
+
+@chapter What is a qualification task?
+
+A qualification task is a small part of the project, or a small peripheral
+project, that serves to evaluate the candidates before starting the actual
+internship.
+
+There are a few qualification tasks with each proposed project on the
+@url{https://trac.ffmpeg.org/wiki/SponsoringPrograms, FFmpeg wiki}, and
+there is also usually a table with the declared candidate and their
+qualification tasks.
+
+@chapter So, how do I make sure @emph{I} get the internship?
+
+Hopefully, you realize that each Libre Software project has only one or a
+few slots in any sponsored program; and even if we have several slots, we
+can not have several interns working on the same project, or possibly even
+with the same mentor.
+
+So basically, this is a competition.
+
+You have to be better than the other. Or at least to look more interesting
+to work with.
+
+@chapter And how do I do that?
+
+Start simple: how did you reach this page? If you arrived here by yourself,
+congratulations, you win the first point.
+
+You are not expected to know everything, especially not details about how
+FFmpeg works, but when the answer to a question is easily available with a
+web search, you are expected to find it. Potential mentors get tired of
+replying always the same elementary things to candidates.
+
+So the first commandment: first try to find answers by yourself.
+
+Intern candidates should be able to solve problems on their own, but it is
+fine to ask questions when stuck or unsure about the task. When asking
+questions, you are also expected to show how are you trying to solve the
+related issue.
+
+@chapter How do I contact you? And, in fact, who are you?
+
+The people who work on FFmpeg do so mostly on their free time or as a
+complement to their regular job in computing or consulting. To contact us,
+you can use the ffmpeg-devel mailing list or personal mail, depending on the
+contents of the message. Use discretion. You can also try the IRC channel.
+
+Some sponsoring organizations have an internal message system. Use it only
+in last resort. It is usually vastly inferior to the mail user agents we
+enjoy to use, and the notifications may not even reach us, or be classified
+as spam.
+
+@chapter How do I get to work?
+
+First, download FFmpeg. Not a prebuilt binary. Not a source snapshot. A full
+Git clone tree. If you do not know what that means, then you have reading to
+do, possibly starting with @url{https://ffmpeg.org/git-howto.html}.
+
+Then, build FFmpeg, and try to run it from the build tree, without
+installing it.
+
+Note: neither downloading nor building require privileges. If you had to
+@command{su} or @command{sudo} for anything other than installing missing
+external libraries or tools, then you did something wrong and it will make
+your life harder later.
+
+Then, try to make a trivial change, like rewording an error message or
+changing the default value of an option. Test that it works as expected.
+
+At this point, you are ready to look in the code for the way of doing your
+actual qualification task.
+
+@chapter How do I complete my qualification task?
+
+Usually, your qualification task is considered complete when the
+corresponding changes have been included in the official source repository.
+
+For that, the patch (or several patches) must be submitted to the
+ffmpeg-devel mailing-list for review, not only by your mentor but by any
+developer interested in that area of the code. For first-time proposals, it
+will certainly take several round-trips of reworking the patch and
+re-sending it, so start proposing something early and try to do frequent
+updates.
+
+Patches should be submitted using the specialized @command{git} commands,
+just as explained in the doc.
+
+If in doubt about the qualification task, in particular its exact scope,
+discuss it with the mentor.
+
+@chapter How do I communicate with the developers?
+
+Like with equals, but equals that happen to have more experience about
+FFmpeg than you.
+
+The main contact point is the ffmpeg-devel mailing-list.
+
+You should subscribe to it, because otherwise, your mails will be held for
+approval for up to 48 hours instead of arriving in a few seconds.
+
+Like all mailing lists in the world, it has its own set of rules, called
+netiquette. If you break too many of them, some people may be irritated,
+that is not good for a candidate. It is probably a good idea to subscribe
+the mailing-list early and follow the discussions, even those about parts of
+the code that are not near your area, just to see how people who get their
+patch accepted right away do it.
+
+Also, be aware that some mail user agents send mails that are unreadable
+except by themselves; some have strange ideas about paragraph formatting and
+apply them to code snippet too. You can have a look at the
+@url{https://lists.ffmpeg.org/pipermail/ffmpeg-devel/, low-tech mailing-list
+archive} on the FFmpeg site to see how your mails actually look like.
+
+@chapter What if, in the end, I am not accepted?
+
+Well, you will not get the big bucks from the sponsor. We sincerely hope
+that will not mean the end of the world for you.
+
+That definitely must not mean the end of your investment in FFmpeg, unless
+you want to. Remember when we said that a lot of FFmpeg developers do it on
+their free time? You probably have some free time too.
+
+Even during one or two weeks of qualification task, you probably learned
+useful skills, probably more than people who made coffee and photocopies in
+big corporations. You can continue to contribute if you want, all good
+patches are welcome.
+
+And think of it, “I worked on FFmpeg during GSoC” looks good on a résumé,
+but “I work on FFmpeg on my own merits” looks probably even better.
+
+And of course, if you are eligible to candidate for another program later,
+that puts you in a very good place.
+
+@bye
-- 
2.1.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to