Signed-off-by: Nicolas George <geo...@nsup.org> --- doc/Makefile | 1 + doc/sponsored_internships_howto.texi | 148 +++++++++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 doc/sponsored_internships_howto.texi
Not sure if the best place is there or the wiki, but at either place, something like that should be useful. Comments? 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..eada355 --- /dev/null +++ b/doc/sponsored_internships_howto.texi @@ -0,0 +1,148 @@ +\input texinfo @c -*- texinfo -*- +@documentencoding UTF-8 + +@settitle Sponsored Internships HOWTO +@titlepage +@center @titlefont{Sponsored Internships HOWTO} +@end titlepage + +@top + +@chapter So yeah, 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 sposors the program, there is probably a lot of +paperwork. But frankly, we do not care; if we liked paperwork, we would be +managers, not hackers. + +For us, 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 you are about to start working, and then do so. + +If at any point you have any question, do not hesitate to ask them. +Actually, yes, hesitate a few seconds, in case this question will make you +look dump. So read on. + +@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 answser 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. + +@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 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. + +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 do look in the code for the way of doing your +actual qualification task. + +@chapter How do I complete my qualification task? + +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 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 +probably 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. + +@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 devel mailing-list. + +You should subscribe to it, because otherwise, your mails will be held for +approval 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 low-tech mail +archive on the FFmpeg site to see how your mails actually look like. + +@chapter What if, in the end, I am not taken? + +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