Applying for OPW
Thank you for your interest in the Linux kernel internships! Please read the following thoroughly.
Also, make sure you:
Join the [https://groups.google.com/forum/#!forum/opw-kernel opw-kernel mailing list]
- Join the #opw IRC channel on irc.gnome.org
- Join the #kernel-opw IRC channel on irc.oftc.net
Do you qualify?
We want interns to make sure they qualify for the OPW internship. Read [https://live.gnome.org/OutreachProgramForWomen this page] for more information.
The TLDR version of the requirements are that OPW interns:
- should be over 18,
- should be able to work full-time (40 hours per week) from December 9, 2014 to March 9, 2015,
- should be a woman, gender queer, gender free, or gender fluid individual, or an alumni of the Ascend Project, and
- should not have participated in OPW or Google Summer of Code before.
Additionally, we highly recommend that applicants have a stable internet connection, with no download caps. Communication over IRC can be difficult if your internet connection keeps dropping or has a big lag time, so you need a stable internet connection. Downloading the initial kernel will use over 5 GB of data, which will easily blow through a standard 3G capped plan. We recommend making sure you have cable internet, or an unlimited 3G plan.
Accepted interns will get a $500 travel stipend to attend a conference. Linux conferences are a lot of fun, because you get to meet professional Linux developers, and there's a lot of opportunity for networking and job hunting. Additional [https://www.linuxfoundation.org/programs/developer/travel/request travel funding through the Linux Foundation] is often available for people who have financial difficulties, if interns want to attend a Linux Foundation conference.
How to apply
The OPW kernel project's application process is a little different than what is outlined in the OPW pages. Here's what we need you to do:
Look over the list of projects at http://kernelnewbies.org/OPWIntro
- Find a project there that interests you, and email the mentor. Introduce yourself, let the mentor know why you think that project would be a good fit for you, and ask the mentor any questions about the project.
Fill out your [https://live.gnome.org/OutreachProgramForWomen#Application_Process initial application], which is shown under the "Send in an Application" section. Submit your application through [https://opw.gnome.org the OPW portal]. Submit your application by October 22. We understand that you may still be working on your kernel contributions, since those aren't due until October 31, and additional contributions accepted after October 22 will be considered as part of your application.
Complete the Linux kernel first contribution [:OPWfirstpatch:tutorial] by October 31, 2014, and email your first patch to the [https://groups.google.com/forum/#!forum/opw-kernel opw-kernel mailing list]. Do not send patches to the main Linux mailing lists! Note that your patch must be accepted by October 31, and you may have to go through several patch revisions. The more high-quality, complex patches you get accepted, the more likely your chance of getting accepted for an internship. Note that we look at patch quality, communication style, ability to learn, and applicant background as well, so don't get discouraged if you see people sending a lot of patches. Submit early and often!
Please note that the Linux kernel application period will be put on temporary hold from October 10 to October 20. Most kernel mentors will be attending conferences (LinuxCon Europe, Linux Plumbers Conf, and Embedded Linux Conference Europe) during that time. During the hold period, no new kernel application patches will be accepted or reviewed, and mentors may not be available on the IRC channel. Therefore, it is important to start sending patches early in the application period. We suggest that you tackle a medium-sized advanced project during that week, rather than preparing to send many small clean up patches after the hold period is finished.
- Complete at least one todo item from some of the projects you are interested in. Completing small tasks for a particular project makes it more likely that you'll be accepted for that project. Make sure to complete tasks for a couple different projects, because it's often the case that there is one or two very popular projects that will get a lot of patches.
Here's some tips for how to answer various questions on the OPW application.
Are you planning to apply for Google Summer of Code?
(Not applicable for December applicants). This question is designed to make sure that participants in OPW also apply to GSoC if they meet the summer of code [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 applicant requirements]. Basically, the idea was to make sure applicants get the most chances to get an internship. However, the Linux kernel isn't participating in GSoC, so this question does not matter to our organization. We do encourage all students to also apply to GSoC, especially to the [http://www.google-melange.com/gsoc/org2/google/gsoc2014/lf Linux Foundation] projects.
Please describe your experience with the organization's product as a user and as a contributor (include the information about the contribution you made to the project you are interested in here):
Please include some information about yourself, such as:
- Do you run Linux on your personal computers?
- Have you used Linux at university labs or other places?
- What Linux distros do you use?
- Have you ever compiled a custom kernel?
- Have you ever made a change to a kernel driver?
- Have you ever contributed a patch to the mainline kernel? If so, please provide links to the patches, and indicate whether they were accepted.
- Do you have C or C++ experience?
- Have you taken operating systems or computer architecture classes before?
- Do you have experience with the command line?
- Have you compiled a project before?
If you are applying as an OPW kernel intern for the first time, do not worry about providing links to your first kernel patch. Your patches will be tracked by looking at your accepted patches in Greg KH's [https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/ staging driver tree].
If you applied in a previous OPW round and got patches accepted, or you have had kernel patches accepted outside of the OPW application process, please note that. Please provide a link to all patches authored by you, e.g. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?qt=author&q=Sarah+Sharp. If a contribution has been accepted into another mentor's tree but not into Greg or Linus' tree, please ask them to provide a link to that contribution.
Who is a possible mentor for the project you are most interested in?
Please review the [http://kernelnewbies.org/OPWIntro participating Linux kernel projects]. List the projects that you are interested in participating with, in order from the most interesting project to the least interesting project. For each project, say why you are interested in this particular project (e.g. it fits your background or interests in school, or the mentor has been particularly helpful, etc.). If you have completed any small todo items for that particular project, please link to those accepted contributions. Here is an example list:
First choice ------------ Project name: EHCI driver rewrite Mentor: Alan Stern Reason for choice: I'm interested in EHCI because I have been working on code for USB to serial adapters, and I want to learn more about the USB host controller driver. Completed tasks: Greg KH has accepted my patch to remove the FISH/SOUP macros from the PL2303 driver. https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/commit/?id=eb44da0b3aa0105cb38d81c5747a8feae64834be Second choice ------------- Project name: TTY code cleanups Mentor: Alan Cox Reason for choice: I like the idea of learning more about the TTY layer. Completed tasks: I started on Alan's suggestion to trace the TTY layer by running ftrace on a write call to a USB serial adapter TTY file. The completed graphviz output can be found here. Third choice ------------ Project name: Sparse warning cleanups Mentor: Josh Triplett Reason for choice: Josh is very responsive as a patch reviewer, and I have been able to learn a lot about sparse by following his advice. I hope to work more with him on sparse cleanups. Completed tasks: I completed one patch, which is now available here. Fourth choice ------------ Project name: HPET timer coalescing Mentor: Tony Luck Reason for choice: I don't have any background in servers or embedded Linux systems, but I would like to learn more about them. Diving into the timer subsystem seems to be a good way to start learning about this area. Completed tasks: None.
Note that you may not get your first or second choice of projects. Often a particular project is very popular, and we may need to move further down your list of projects. Please make sure to list as many projects you are interested in as possible, even if you haven't completed a task specifically for that project.
Please describe the details and the timeline of the work you plan to accomplish on the project you are most interested in (discuss these first with the mentor of the project):
It is optional to provide a timeline. Including this optional information will strengthen your application, and increase the chances of getting accepted. Please work with the potential mentor to make sure the timeline is doable.
MAKE SURE YOU SUBMIT YOUR APPLICATION BY OCTOBER 22, 2014.
You will have the opportunity to update your application with your small contribution until October 31, 2014. Accepted interns will be notified on November 12, 2014.
Still have questions?
Contact sarahsharp on #opw (irc.gnome.net) or #kernel-opw (irc.oftc.net), or email the [https://groups.google.com/forum/#!forum/opw-kernel opw-kernel mailing list]. Make sure you are subscribed to that mailing list.