What is OPW?
According to a 2002 survey of open source communities, only 1.1% of participatants are women. In order to increase diversity in open source, the GNOME Foundation created the FOSS Outreach Program for Women (OPW). The program provides a three-month paid internship, where participants are paired with mentors from one of 19 different open source projects. The Linux kernel is one of those projects.
The GNOME Foundation coordinates the overall program and pays the interns. Karen Sandler and Marina Zhurakhinskaya coordinate the overall OPW program. Each separate open source project has a coordinator that communicates with project applicants, interns, and mentors. Sarah Sharp is the coordinator for the Linux Kernel project in OPW.
What's the timeline?
The OPW internships run twice yearly, from May to August and December to March. This allows the internships to happen during the northern and southern hemisphere summers, when college students are likely to have time off.
What is required of mentors?
Preparing a project
Mentors provide projects for interns to work on during the three-month internship. Ideally, these start out as bite-sized bugs or small tasks that allow the interns to get familiar with your subsystem, and are followed by a larger feature. Tasks should not be critical-path, and should be able to be completed within three months. Remember, interns will likely take 2-10 times longer than you think a project should take, so choose wisely. If you pick a project that doesn't have good documentation, you may have to spend extra time ramping up your intern.
The project can either be focused on the kernel (core, drivers, filesystems), or on tools that help kernel developers (sparse, coccienelle, kernelshark), or a combination of kernel and userspace interface work (KVM, Xen).
Helping out during the application period
During the month-long OPW application period, potential interns will contact you directly to get more information about your project. In order to be accepted as an intern, applicants will have to complete the tutorial for creating their first kernel patch. The applicants will send their staging driver cleanup patches to a separate mailing list. Mentors are expected to help out with code review and answering questions on the IRC channel.
This stage of the OPW process is seriously like drinking from a firehose. During the Round 6 application process, applicants sent an average of 28 patches per day. All mentors need to participate in patch review in order to spread the work load. Some of the past OPW interns will also be helping out with patch review and answering questions on IRC.
The application period allows mentors to get a clear sense of whether applicants can follow directions and where applicants get stuck and need help. It's long enough that applicants who are self-starters will move on to using advanced tools like sparse, coccinelle and smatch. Basically, the application period allows mentors to learn which applicants have a clue.
Selection of interns
When the application period ends, the OPW mentors review intern applications and code contributions, and decide which interns to take. Applicants to the program are asked to rank Linux kernel projects in the order that most interests them. All mentors and the Linux kernel OPW coordinator (Sarah Sharp) collaborate to match interns to the project that best suits their interests, skills, and background. If a mentor feels there are no applicants that are suited for their project, they don't have to accept an intern.
During the three-month internship period, mentors answer their intern's questions, provide guidance on the direction of the project, review code, and provide encouragement and support on the mailing lists. If an intern is working on a simple project with multiple parts, they may send 20-60 patches during the internship, which will require more patch review. If an intern is working on a complex project, they may send very few patches, but need a lot of extra guidance and one-on-one mentoring.
Mentors and interns typically meet for an hour a week, through a phone call or video conference. They may meet more frequently or longer as necessary. Mentors and interns may not work in the same timezone, so you may have to compromise on when to meet.
I still want to help out!
3. Email Sarah with your kernelnewbies.org username, so she can add you to the editors group. Also tell Sarah which email address you would like to have subscribed to the OPW mailing lists. You will be receiving patches at this email address, so you will need to be able to respond to emails in plain text, and possibly apply the patches. Any email address you would use for Linux kernel mailing lists is fine.
4. Create a user home page that interns will read to learn more about you. At the bare minimum, you need to provide your nick on the #opw and #kernelnewbies channel and your email address. Anything else is optional. Here's an example homepage.
5. Update the OPW introduction page with your project description, and (optionally) a picture for your project.