summaryrefslogtreecommitdiff
path: root/community/gsoc/student_application_form.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'community/gsoc/student_application_form.mdwn')
-rw-r--r--community/gsoc/student_application_form.mdwn211
1 files changed, 211 insertions, 0 deletions
diff --git a/community/gsoc/student_application_form.mdwn b/community/gsoc/student_application_form.mdwn
new file mode 100644
index 00000000..ba339dc9
--- /dev/null
+++ b/community/gsoc/student_application_form.mdwn
@@ -0,0 +1,211 @@
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled
+[[GNU Free Documentation License|/fdl]]."]]"""]]
+
+Before we get to the actual application form, some important remarks about the
+application process -- please read them carefully.
+
+First of all, please give your application a useful title. In many cases, you
+can simply copy it from the project ideas list. Some ideas -- like language
+bindings for example -- are rather broad, and require an additional specifier.
+(e.g. "Python Bindings")
+
+If you are proposing a project not on the ideas list, you have to find a useful
+title yourself of course -- but surely this isn't hard, if you were able to
+come up with your own project idea :-)
+
+Submitting the application form is only part of the deal: we expect a few other
+things on top of that, as explained below. This is important, so please take
+it seriously -- without these things, the application is not complete, and we
+won't consider it.
+
+One of the things we expect is that you contact us directly as soon as possible
+(preferably even before you send the application form), on our developer
+[[mailing lists]] and [[IRC]] channel. Don't be afraid -- we won't bite :-) IRC
+in particular allows for very informal conversations.
+
+(Note though that we are not all in the same time zone, and people generally
+don't stare at the IRC screen all the time: it can take quite a long time
+until somebody replies -- even several hours. Don't get discouraged by that. Just
+be patient and hang on, or try again later.)
+
+Contacting us as soon as possible is crucial, as regular communication is the
+single most important factor for a successful GSoC project. We need to see that
+you are able and willing to talk to us regularly. Also, we get to
+know you much better this way than what the application form alone would allow us to.
+
+You shouldn't be at a loss for reasons to contact us. You ought to discuss your
+project and application with us for example -- you will gain a much better idea
+about the project, our expectations etc. In short, you will be able to
+submit a better application right from the beginning, saving both yourself and
+us some tedious round trips :-)
+
+Also, if you really want to get involved with the Hurd project, there are
+surely many things you will want to know -- after all, it's a fascinating
+project, with a fascinating architecture etc., right? :-)
+
+All in all, you should have ample
+causes to get in touch during the application period. Bonus points if you also
+participate in discussions not directly related to your project.
+
+The other thing necessary to complete your application is making a change to
+some part of the Hurd code, and submitting a patch implementing that change. (If you are
+not sure what that means, ask us!)
+
+This is important, as it shows that you have everything set up to start hacking
+on the project (source code, tool chain, testing environment etc.); and that
+you have all kinds of qualifications necessary to successfully finish your
+project: general programming skills; working in the Hurd environment;
+submitting patches and reacting to feedback; finding and/or asking for any
+information you need; and so on.
+
+Don't get us wrong: We absolutely do *not* demand that you have and know all
+this up front. After all, the idea of GSoC is to *introduce* you to free
+software development in general, and to our project specifically :-) We are
+eager to help you with anything you will need to create the patch -- you just
+need to ask!
+
+We actively encourage you to contact us whenever you have any doubts. Don't be
+afraid that we will think worse of you when you ask too much. On the contrary:
+this is an occasion for you to show us that whenever there is something you
+don't know yet, you are able to learn quickly, and know how to ask for help :-)
+
+As for the kind of change we want: ideally, it would be some real improvement
+(bug fix or new feature) in a part of the Hurd related to the specific project
+you want to work on. (This is not always possible though -- in that case, a
+useful change to some unrelated part of the Hurd would also do, or perhaps some
+not strictly useful change to the part you will be working on.)
+
+The [[project_ideas]] page has more information on this. In either case, please
+contact us, so we can discuss it, and together come up with something suitable.
+
+Note that we do not place any demands on the size of the change. Even a very
+simple modification suffices to meet the minimum requirements -- after all, the
+amount of time available for working on this before the end of the student
+selection process is quite short; and you are not obliged to do a substantial
+amount of work before you get accepted. (But if you feel more ambitious, that's
+fine of course :-) )
+
+Now to the actual questions in the application form. Please answer *all*
+questions -- we are asking them for a reason. (Whether you answer them one by
+one, or all in a larger piece of prose, is up to you.)
+
+If some of these questions look strange to you and/or you don't quite know what
+to answer, don't despair. This is not some kind of exam -- we do not expect you
+to have good answers for all of them up front. (In fact, we would be very
+surprised if anyone did...) The idea is more that you learn the answers before
+the end of the application process -- with our help. Please talk to us whenever
+you are unsure about something.
+
+And now that you are prepared to face the enemy, here we go :-)
+
+* Please supply your contact information here: full name, email address, IRC
+nick, Jabber ID, phone number, etc. -- anything we might need to recognize you
+and to keep in touch.
+
+* Introduce yourself: who are you, where are you from, what do you do, how did
+you get here... Don't write a long essay here -- just a bunch of basic facts
+you think we should know, so we get some idea whom we are talking to :-)
+
+* Please describe the task of the project you want to work on, in your own
+words. Be as specific as possible. It's not sufficient to rephrase the
+description from the project ideas page -- show us that you actually understand
+what this task involves! Read the available documentation (and possibly code)
+if necessary. And don't hesitate to ask us if you have any doubts :-)
+
+* Give a preliminary schedule for your work. The exact dates will obviously be
+only guesses; but try to be specific about all the individual steps you will
+have to do to complete the task.
+
+Note: By the end of the summer session, the code is expected to be in a state
+ready to be merged to mainline. Experience shows that adding the "final
+touches" necessary for that, tends to take up quite a lot of time -- there are
+always some bugs here and there, some misunderstandings about how things are
+supposed to work, build system issues, missing documentation, forgotten bits,
+and so on. Thus, the schedule should assume that a larger part of the main
+implementation work will be done by midterm!
+
+Also note that by the beginning of the summer session, you need to be able to
+work on the task at more or less full speed -- meaning that you need to get
+familiar with the code, think through the design (and discuss it with us) etc.
+already in the interim period *before* the summer session.
+
+* What things will you have to learn to be able to complete the project? What
+do you already know?
+
+In case you wonder what this question is getting at: Again, we want you to show
+us that you really understand what kind of work the task involves. As always,
+we encourage you to ask us for pointers if you are not sure how to go about
+this :-)
+
+* Why did you choose this project idea? What do you consider most appealing
+about it?
+
+* Please describe your previous programming experience in detail. What
+languages do you use? How long have you been programming, and how much? What
+kind of programs have you written? What kind of programming (and related) work
+are you enjoying most?
+
+* Have you been involved in any free software ("Open Source") projects yet?
+Which projects, how long, and in what way have you been involved? Have you been
+active in the Hurd project/Hurd community before?
+
+* Please briefly describe the Hurd, including the goals, architecture etc.
+Also, what makes you interested in the Hurd? Why do you want to work on it?
+What is your vision of it's future development?
+
+We ask this because we want to make sure that people working on the Hurd do
+understand what it is all about. You will probably need to read some
+documentation -- as always, you are encouraged to ask for pointers, and
+generally to talk to us about it :-)
+
+* Are you subscribed to the bug-hurd@gnu.org mailing list? (See
+http://lists.gnu.org/mailman/listinfo/bug-hurd )
+
+Hint: This is mostly a rhetoric question. If you haven't subscribed yet, now
+would be a good time to do it! You will need it to communicate with us during
+the application process.
+
+* Do you have a permanent internet connection, especially during the time of
+the summer session? Are you able and willing to hang out on the Hurd IRC
+channel regularly? (As in: Running the IRC client more or less permanently and
+checking for activity now and then.) If it turns out that your mentor lives in
+a different time zone, could you shift your day/night rhythm to better match
+that of your mentor and other Hurd developers?
+
+Hint: Hanging out on the channel regularly during the application process
+would be a good start :-)
+
+* When does your university term end, when are your exams, and when does the
+next term begin?
+
+We need to know up front whether there are any overlaps with the GSoC time
+frame (especially the summer session), so we can make a plan how to deal with
+it properly.
+
+* How much time do you intend to spend on your GSoC project per day/week during
+the summer months?
+
+Note that according to the GSoC FAQ, the project is meant to be "your major
+occupation during the summer". In other words, you should treat it more or less
+as a normal full-time job.
+
+* What other major activities will you engage in during the summer? (Moving
+apartments, longer vacations, other obligations, etc.) If any, how do you
+intend to make sure you will be able to dedicate sufficient time to your
+project nevertheless?
+
+Please be open about this, and also mention things you are not yet sure about.
+We can be flexible about time arrangements; but we absolutely need to know about any
+possible obstacles up front. Surprises on that score are not acceptable.
+
+* How do you intend to make sure that your code will keep on being maintained
+and supported properly after the end of the GSoC program?
+
+* Anything else you want to add to your application?