• Immutable Page
  • Info
  • Attachments


FOSS Outreach Program for Women (OPW)

Please see the FOSS Outreach Program for Women homepage for an introduction to the program.

We are looking for round 8 funding sponsors and Linux kernel mentors. Please see the linked FAQ pages if you want to help out.

Welcome OPW applicants! Our round 8 sponsors have generiously donated funds for internships for women and genderqueer/genderfluid people to work on the Linux kernel. The kernel is the most basic layer of the Linux operating system. It encompasses many things: hardware drivers, filesystems, security, task scheduling, and much more.

How to apply

The application period for OPW Round 8 is Feb 25th to March 19th. Please fill our your initial application and complete your initial kernel patch by March 19th. Applicants that do not complete the first patch will not be considered for an internship. Please take a look at our application FAQ for more info on how to fill our your initial application. Applicants will be notified on April 21st if they have been accepted.

If you are interested in being a Linux kernel intern, please:

We also encourage all OPW applicants that are students to also apply to Google Summer of Code, and in particular the Linux Foundation projects. The Google Summer of Code projects are separate from the projects listed below, so you will need to work on applications for both programs.

Participating Linux kernel projects

Applicants for all projects should have basic experience with C or C++ and boolean algebra. Optionally, we would love it if you have basic operating system knowledge, know your way around a Linux/UNIX command line, and/or know the revision system called git. Please note that these three skills can be learned during the internship.

Round 8 (May to August 2014) projects:


Coccinelle is a program matching and transformation tool for C code that has been used extensively in contributing to the Linux kernel, for both both code evolutions and bug fixes. Coccinelle is driven by specifications, known as semantic patches, that use a notation based on C code, and are this fairly easy to develop. Around 40 semantic patches are included with the Linux kernel source code, in scripts/coccinelle, and are used in the continuous testing service provided by Intel.

The goal of this internship is to help build up the set of semantic patches that are included in the Linux kernel. This will involve primarily hardening semantic patches that have been developed previously, and putting them in the form used in the semantic patches Linux kernel. There is ample opportunity to contribute patches to Linux source code as part of the semantic patch hardening process.

Mentor: Julia Lawall

Linux-Kernel RCU

Potential projects include:

  1. Automatically Locate RCU Abuses

  2. Inline rcu_read_lock()

  3. Add kmem_cache_free_rcu()

  4. Validate RCU Algorithms

  5. Automate Testing of RCU CPU Stall Warnings

  6. Port RCU's KVM Scripts

  7. Miscellaneous Fixes to RCU

For more details on each project, please see this page.

Mentor: Paul E. McKenney < paulmck@linux.vnet.ibm.com >


Ath5k is a completely FOSS wireless driver for Atheros based wireless chipset versions AR5xxx in the Linux Kernel. The hardware is old but the driver is still heavily used on academia/research and on various modern applications (e.g. 802.11p).

Some time ago Adrian Chadd released code on AR5513 (the Atheros HAL -Hardware Access Layer- for that chipset), it's a chipset able to do 802.11a/b/g with a smart antenna/dual PHY design. The goal of this project is to port this code on ath5k and add support for AR5513. In the process you'll get familiar with the low level parts of wireless cards, the inner workings of a device driver, the related subsystems and the challenges we face when playing with hardware.

An additional potential project is to implement 802.11 power saving modes for existing devices, enabling more efficient use in battery-powered stations such as laptops. Some preliminary patches have been already posted, but they need cleanup, functional changes, and validation. The interested intern would study the 802.11 specification, relevant parts of mac80211, the provisional patches, and possibly other related drivers such as ath9k to create a working, upstreamable implementation of power saving.

Mentors: Nick Kossifidis, Adrian Chadd, Bob Copeland


nftables is a new firewalling framework available since the Linux kernel 3.13. It includes new userspace libraries and utilities that aim to replace the popular {ip,ip6,arp,eb}tables utilities.

The goal of this internship is to help to improve nftables, this includes:

  1. chase bugs and fix them. We already have a good bunch in the Netfilter's bugzilla website.

  2. implement an automated testing infrastructure for nftables that would help to catch regressions.

  3. help us implement some of the missing features.

Please, read the nftables HOWTO to get familiarized with the new software.

Mentor: Pablo Neira Ayuso

Yeah, that sounds cool!

If you are interested in being a Linux kernel intern, please:

Creative Commons Photo Credits

Pink Tux

Tell others about this page:

last edited 2014-03-25 17:29:08 by SarahSharp