This page contains information specific to the May 30 to August 30, 2017 round of Outreachy internships. For all other information about the program, including the application process and the application form, please see the main program page.

Here is the page with the resources that were used to help us spread the word about this round.


Outreachy is hosted by Software Freedom Conservancy with the special support from Red Hat and the GNOME Foundation. We invite organizations and companies to sponsor internships for this round.


  • February 16

    participating organizations are announced and application system opens

    February 16 - March 30

    applicants need to get in touch with at least one project and make a contribution to it

    March 30

    application deadline at 4pm UTC

    March 30 - April 28

    applicants are encouraged to continue making contributions for the project they applied for;
    submitted applications are open for editing

    April 28

    accepted participants announced on this page at 4pm UTC

    May 30 - August 30

    internship period

Participating Organizations

The following organizations are offering internships in this round, and more organizations offering internships will be added through the beginning of March. See each organization's page linked to below for more information about the projects and mentors for remote Outreachy internships. The main program page has details about eligibility requirements and some advice about how to choose an organization and project.

In addition to the internships offered by Outreachy, on-site internships and full-time jobs are available with the participating organizations or sponsoring companies. Students interested in coding projects, should also consider applying for Google Summer of Code.


Cadasta aims to simplify, modernize, and expedite the documentation of property rights in places where it does not exist today.

Internship projects:

  • Enhance user settings and create a dashboard

    Python, Django, JavaScript, front-end

  • Create new ways for users to log in

    Python, Django, JavaScript, back-end

  • Create a browser-based data collection tool for mobile users

    HTML, JavaScript

  • Expand QA test coverage

    Python, understanding of test specs and coverage, familiarity with Selenium


Ceph is distributed, software-defined storage that allows users to turn commodity hardware into a massively scalable storage cluster with no single point of failure. This storage solution is able to speak object, block, and file which unifies all storage needs under a single system with self-managing and self-healing characteristics. Ceph is already integrated with many systems, including the ever-growing world of cloud offerings like OpenStack, CloudStack, OpenNebula, Ganeti, and others.

Internship projects:

  • Root cause analysis tool for Linux distributed systems

    Working with logs, Linux troubleshooting

  • Evaluate the performance of new reweight algorithms for balancing storage utilization across distributed systems

    Course work or experience in probability and mathematical statistics

  • Design a status dashboard to visualize Ceph cluster statistics

    Python, front-end, design skills

  • Identify performance degradation in nodes and automate cluster response


  • Pool pg_num Auto-Tuning


  • Add CephFS client authentication through Ceph-manager


  • Design a simplified database backend for the Ceph Object Gateway

    Operating systems and databases knowledge, C++, Linux

  • Port tests written in multiple languages to test Amazon S3 storage protocol and Openstack Swift storage

    Python, Linux


Debian is a volunteer-driven project building "the Universal Operating System", a 100% free and open source distribution, based on the Linux, FreeBSD and Hurd kernels, for all devices, ranging from mobile phones, personal computers, to mainframes and distributed clusters.

Internship projects:

  • Benchmarking scientific packages for general and architecture specific builds

    Scientific background, comfortable with linear algebra (atlas, blas), comfortable with gcc and optimisation

  • Reproducible builds for Debian and free software - multiple internships working with one of the following skills:

    Python, Perl, Shell, SQL, website design, documentation

  • LTSP Manager

    Greek, internationalization, localization, and documentation


Discourse is a from-scratch reboot; an attempt to reimagine what a modern Internet discussion platform should be today, in a world of ubiquitous smartphones, tablets, Facebook, and Twitter. We're building Discourse (with Rails and Ember.js) for the next decade of the Internet. It works as a mailing list; a discussion forum; a long-form chat room.

Internship projects:

  • Projects may work with Rails or Ember.js

  • Integration with OpenCollective (donation software)

  • Multiple email addresses on one account
  • Gitter (chat forum) integration
  • Slack (chat software) transcripts
  • Convert GIFs to MP4/WebP
  • Manually curated topic summaries
  • Topic list tabs for user-customizeable saved filters
  • Improving Discourse Translator++ Plugin


Fedora is a Linux-based operating system, which offers versions focused on three possible uses: workstation, server, and cloud.

Internship projects:

  • Design a technical coloring book to teach free and open source concepts

    design, graphics developed with free and open source software (like Inkscape or Scribus)


GNOME is a GNU/Linux-based innovative desktop that is design-driven and easy to use.

Internship projects:

  • Add a unit system to the Recipes application

    C, ability to quickly pick up GTK+, familiarity with Linux command line

  • Make mapbox-gl-native usable from GTK+

    required: C, GTK+; optional: C++, interest in maps

  • Unit Testing Integration for GNOME Builder

    GTK+, and experience with either C, Python, or Vala

  • Documentation Cards for GNOME Builder

    GTK+, and experience with either C, Python, or Vala


Lagom is a microservices framework for Java and Scala, designed to bring the practices used by tech giants like Google, Twitter and Facebook to develop their systems to enterprise developers.

Internship projects:

  • Complete a Lagome online auction sample app

    Required: Java; Optional: Scala, REST and reactive architectural patterns

Linux Kernel

Linux kernel is the most basic layer of the Linux operating system. It encompasses many things: hardware drivers, file systems, security, task scheduling, and much more.

Internship projects:

  • Analyze memory resource release operators with Hector and fix Linux kernel memory bugs

    C or C++, operating system knowledge; optional: Linux/UNIX command line knowledge

  • Improve process ID allocation

    C or C++, operating system knowledge; optional: Linux/UNIX command line knowledge

  • Improve nftables (network filtration tool)

    C or C++, operating system knowledge; optional: Networking experience, Linux/UNIX command line knowledge


OpenStack is an integrated collection of software for cloud deployment and management.


oVirt is an enterprise-ready datacenter virtualization solution which manages virtual machines, storages, clusters, and virtual networks. With an easy-to-use web interface and API, it can be customized with add-ons and plug-ins to suit any organization's needs. It's written in several languages, primarily Java and Python.

Internship projects:

  • Implement oVirt integration tests using Lago and oVirt REST API


  • Design and implement an oVirt log analyzer for distributed systems


  • Rewrite oVirt UI dialogs in modern JavaScript technologies (ES6, React, Redux) JavaScript


QEMU is a machine emulator and virtualizer and also acts as an umbrella organization for the KVM Linux kernel module. QEMU can run operating systems and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC).

Internship projects:

  • Rework QEMU audio backend

    Required: C, experience with audio; optional: GStreamer

  • Write a tool that performs both full and incremental disk backups

    Required: Python, reading C; optional: Linux command-line

  • Refactor the block layer's I/O throttling and write notifiers

    Required: C; Optional: basic knowledge of block layer concepts

  • Code an emulated PCIe-to-PCI bridge

    Required: C; Optional: basic knowledge of buses, especially PCI and PCIe

  • Add x86 virtualization support on macOS using Hypervisor.framework

    Required: C; Optional: basic hypervisior concepts

  • Extend the current vhost-pci based inter-VM communication

    Required: C; Optional: basic knowledge of buses, especially PCI and PCIe

Sugar Labs

Sugar Labs makes tools that learners use to explore, discover, create, and reflect. We encourage our users to appropriate them, taking ownership and responsibility for their learning.

Internship projects:

  • Music Blocks, a collection of programming tools for exploring fundamental musical concepts in an integrative and fun way.

    Required: JavaScript, English documentation skills; optional: background in music, graphic-design skills


Wikimedia is a global movement whose mission is to bring free educational content to the world, via Wikipedia and other projects. Help improve our technical backstage! Note: unlike other participating organizations Wikimedia asks applicants to post their applications publicly and the information on whether someone was accepted or not is also posted publicly as a comment to the application.

Internship projects:

  • Write a Zotero translator and document process

    JavaScript, documentation

  • Improve and fix bugs in the quiz extension


  • Localize one or more major WMF software products

    Requirements: Hungarian; optional: Coding skills in JavaScript, Python, Lua, or PHP, and MediaWiki templating skills

  • Create user guides to help with translation outreach

    localization experience, technical writing skills


Wine is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, MacOS, & BSD. Experience writing win32 code is a plus. Interns that have signed NDAs with Microsoft and have seen Microsoft code for Windows are not eligible to participate.

Internship projects:

  • Implement resource editor and / or dialog editor

    C, some UI experience

  • Winetest Graphical User Interface


  • Implement missing D3DX9 APIs

    Requirement: C; optional: basic knowledge of computer graphics concepts

  • Direct3D microbenchmarks

    C, Direct3D, OpenGL

  • Automated game benchmarks

    Autohotkey, knowledge of common game engines

  • Implement rendering for D3DRM

    C, DirectDraw, Direct3D

  • Implement more robust CMD parser

    C, CMD commands

  • Port WineLib to a new architecture (such as PPC64, Sparc64, RISC-V, or x32) Assembler knowledge for the chosen architecture, ability to run QEMU

  • Implementing XACT sound dlls


  • WineCE: Implement the CommandBar C

  • Winecfg / winemenubuilder - enhance MIME type handling


  • XMLLite: Implement fully compatible xmllite parser


  • Winetest Scripting Interface

    C, scripting language of your choice

  • Implement vertical text layout support for DirectWrite, a text layout and rendering library C

  • Improve !AppDB website, which lists Wine support for Windows programs


Xen Project

Xen Project is a Linux Foundation Collaborative Project that develops the Xen Hypervisor and related virtualization technologies. The Xen Hypervisor is a leading virtualization platform that is powering some of the largest clouds in production today, such as Alibaba Cloud, Amazon Web Services, Rackspace Public Cloud and many hosting services. It also fosters the creation of lightweight Unikernel systems with the Mirage OS incubator project, as well as many independent efforts which use our hypervisor as a base for their work.

Internship projects:

  • Xen Hypervisor - golang bindings for libxl

    Go, C

  • Xen Hypervisor - KDD (Windows Debugger Stub) enhancements

    C, Kernel Debuggers, Xen, Windows

  • Xen Hypervisor - Rust bindings for libxl

    Rust, C

  • Fuzzing Xen hypercall interface

    Strong C and ASM skills, good knowledge of GCC toolchain, good knowledge of GNU Make, good knowledge of fuzzing in general, good kernel programming and user space programming skills

  • Mirage OS, a unikernel that runs on top of Xen


  • Xen Code Review Dashboard

    SQL, Java/Javascript, HTML5/XML skills

  • Add Centos Virt SIG Xen packages test to the CentOS CI loop

    basic shell scripting

  • Code Standards Checking using clang-format

    Required: clang-format, shell scripting; optional: C++

  • Add more FreeBSD testing to osstest

    FreeBSD, Perl, shell scripting

Yocto Project

Yocto is an open source project whose goal is to create and provide templates, tools, and methods to make it easy to create embedded Linux distributions. The project works heavily with upstream providers and downstream participants, cooperatively manages software packages with the OpenEmbedded Project, and is developed by hundreds of people worldwide. It is mostly written in Python and C, but the most important skill to bring is the willingness to work with others.

  • Improve autobuilder

    Python, C

  • Improve documentation for autobuilder

    technical writing skills

Payments Schedule

Software Freedom Conservancy will be administering the payments of the $5,500 (USD) stipends each participant will get. Software Freedom Conservancy will be in touch with you before the internships begin to get the information it needs for sending you payments. You will have a choice of requesting your payment to be sent as a check (in USD or your local currency), wire transfer, or via PayPal. If you decide to change your payment instructions after you've already provided them, you should use the subject line "Outreachy: change payment instructions for [Your Full Name]" for your e-mail.

Software Freedom Conservancy typically makes its payments on a "NET-30" basis, which means it can take up to 30 days from the date Outreachy sends in an authorization for the payment to make a payment. Recognizing internship structure of Outreachy, Software Freedom Conservancy will make best efforts to send out payments on the early side of the time intervals specified below. However, depending on the workload it has, payments might end up being sent on any date in the specified time interval. You will receive an e-mail from Software Freedom Conservancy when each payment is initiated. Bank transfers from the U.S. can take 1-2 weeks to process, so please wait two weeks after the email before contacting Software Freedom Conservancy about lost payments. Please do not contact Software Freedom Conservancy with inquiries about the status of your payment before the end of each time interval. The table below provides the time intervals during which payments for Outreachy interns will be sent:

  • After



    June 6

    June 29

    $500 will be sent to participants who have begun their internships

    July 21

    August 14

    $2250 will be sent to participants in good standing with their mentors

    September 13

    October 6

    $2750 will be sent to participants who have successfully completed their internships

The decision about good standing and successful completion will be made by the mentor in consultation with the program coordinators. An intern can request the coordinators to re-review this decision.

Outreachy/2017/MayAugust (last edited 2017-02-24 18:48:59 by SarahSharp)