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.

Sponsors

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.

Schedule

  • 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 7pm UTC

    April 13

    extended application deadline for some organizations at 7pm UTC

    March 30 - May 4

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

    May 4

    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. See each organization's page linked to below for more information about the projects and mentors for remote Outreachy internships.

Internship applications for the May to August 2017 round are now closed. Please sign up for our announcements mailing list to get an email when the December to March internship application period opens in September 2017.

The main program page has details about eligibility requirements and some advice about how to choose an organization and project.

In addition to their participation in Outreachy, Cadasta, Ceph, Discourse, Fedora, FFmpeg, GNOME, Mozilla, Netfilter (Linux kernel), oVirt, QEMU, Sugar Labs, The Linux Foundation (Linux kernel), The Wine Project, Wikimedia, and Xen Project are offering remote coding internships to students through Google Summer of Code. Students interested in coding projects, should also consider applying for Google Summer of Code.

In addition to the internships offered by Outreachy, on-site internships and full-time jobs are available with the participating organizations or sponsoring companies.

Extended deadline April 13

OpenAustralia Foundation

The OpenAustralia Foundation aims to transform our democracy by giving all Australians the tools they need to effect the change they want. We create simple technologies that encourage and enable people to participate directly in the political process on a local, community and national level.

Internship projects:

  • Make an easy way for volunteers to contribute information about elected local councillors so we can help people write to them etc. .

    Ruby on Rails

  • Build a site that describes key attributes of what makes good access to government information laws so people can see how laws in different jurisdictions stack up and advocate for improvements.

    HTML, CSS

  • Create a site where people can suggest government documents for others to make Freedom of Information request for.

    Ruby on Rails

QEMU

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:

  • Implement Vulkan accelerated rendering (Vulkan-ize virgl) (looking for applicants as of March 16) Required: C; Optional: computer graphics or OpenGL/OpenGLES experience

  • Implement accelerated rendering of Windows guests (virgl Windows driver) (looking for applicants as of March 16) Required: C

  • Make virgl rendering work on Windows host (virgl on Windows host) (looking for applicants as of March 16) Required: C

  • 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

  • Improve QEMU's tiny code generator (TCG) performance on multi-core hosts

    Required: C, compiler theory

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

    OCaml

  • 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

Deadline March 30

Cadasta

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 (looking for applicants as of March 6) Python, understanding of test specs and coverage, familiarity with Selenium

Ceph

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

    Python

  • Pool pg_num Auto-Tuning

    Python

  • Add CephFS client authentication through Ceph-manager

    Python

  • 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

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

  • Add secure mail server support to FreedomBox (100% free software web server for small machines) Python, Django, Shell scripting

  • Improve quality assurance for biological applications inside Debian

    background in bioinformatics

Discourse

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
  • Create notification plugins for other chat systems
  • Mute user posts
  • Convert GIFs to MP4/WebP
  • Manually curated topic summaries
  • Topic list tabs for user-customizeable saved filters
  • Passwordless sign-in via email links

Fedora

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

Internship projects:

  • Improve Bodhi, the web-system that publishes updates for Fedora (looking for applicants as of March 17) Required: Python; Optional: JavaScript, HTML, CSS

GNOME

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

Internship projects:

  • Improve GTK+ with pre-compiled GtkBuilder XML files in resource data (looking for applicants as of March 12) Required: C, ability to quickly pick up GTK+

  • Photos: Make it perfect — every detail matters (looking for applicants as of March 12) Required: C, ability to quickly pick up GLib and GTK+

  • Make mapbox-gl-native usable from GTK+

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

  • Unit Testing Integration for GNOME Builder (looking for applicants as of March 7) Required: GTK+, and experience with either C, Python, or Vala

  • Documentation Cards for GNOME Builder

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

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

  • Write a driver for a sensor using the Industrial I/O interface

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

  • Improve documentation build system and translate docs into ReStructured Text format (looking for applicants as of March 6) Perl and python, operating system knowledge; optional: Linux/UNIX command line knowledge

Mozilla

Mozilla creates software that promotes the goals of the Open Web.

  • UX testing and improvement of Page Shot / Screenshotting in Firefox

    optional: JavaScript, HTML, CSS

  • Create HTML+CSS demos of our new browser engine

    HTML, CSS

  • Security audit of Firefox code

    JavaScript, C++

  • Implement Telemetry health ping

    JavaScript, Python

  • Improve cross-browser and functional testing for webcompat.com

    Required: JavaScript; optional: Python, Node.js

  • Site permission management UI

    JavaScript, HTML, CSS

  • CSS Layout Bug Squasher

    CSS, and the desire to learn Rust

  • Automate web accessibility testing

    optional: ability to learn an object-oriented programming language like Python or JavaScript

  • Unsafe Code Linting Tool for Rust

    moderate experience in any programming language

  • Push Notifications for Signin Confirmation

    git, JavaScript

  • bugzilla.mozilla.org improvements

    CSS, HTML, JavaScript, Perl

  • Upgrade ActiveData to use Elasticsearch v5+ Python, SQL query language, database experience

  • Upgrade Lightbeam

    front-end web development

  • Improve DevTools Network Monitor

OpenStack

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

  • Add continuous integration and tests for OpenStack Identity Service (keystone) LDAP support (looking for applicants as of March 18) Python, shell scripting

  • Add introspection HTTP REST points to the Kubernetes API watchers (looking for applicants as of March 18) Python

  • Implement the incremental backup feature in the Ceph RBD backup driver in Cinder (OpenStack Block Storage service) (looking for applicants as of March 18) Python

  • Add portable templates for data sources and node groups to Sahara

    Python

  • Improve OpenStack Identity Service (keystone) documentation (looking for applicants as of March 22) Required: English reading and writing skills, optional Python

  • Go and Container related projects in OpenStack (looking for applicants as of March 22) Required: English reading and writing skills, optional Python

oVirt

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:

  • Document container deployment of storage, cloud and other technologies oVirt can work with (looking for applicants as of March 16) Familiarity and/or interest in virtualization with oVirt and containerization with Docker and Dockerfiles

  • Implement oVirt integration tests using Lago and oVirt REST API

    Python

  • Design and implement an oVirt log analyzer for distributed systems

    Python

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

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

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

    PHP

  • Localize one or more major WMF software products (looking for applicants) 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

  • Implement automatic edits on wikis connected to the Programs & Events Dashboard Ruby on Rails, Text processing or Regular expressions experience

  • Add automatic article feedback feature to Wiki Ed Dashboard and Programs & Events Dashboard Required: JavaScript, Ruby on Rails; optional: Machine learning, UI design

  • Implement single image batch upload (back-end and front-end project)

    Python

Wine

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: (All projects looking for applicants as of March 12)

  • Implement resource editor and / or dialog editor

    C, some UI experience

  • Winetest Graphical User Interface

    C

  • 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

    C

  • WineCE: Implement the CommandBar C

  • Winecfg / winemenubuilder - enhance MIME type handling

    C

  • XMLLite: Implement fully compatible xmllite parser

    C

  • 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

    PHP, HTML, MySQL

Projects no longer looking for new applicants

These projects already have many applicants they are working with or have a strong applicant they have identified as someone who will be a good fit for the project, so they are not looking for new applicants. If you are already working with a mentor from one of these projects, you should absolutely submit an application in the application system for it and continue working with the mentor on further contributions. These projects are taking applications in the application system through March 30, like all other projects, they are just not looking for applicants that have not yet been in touch with a project mentor.

Fedora

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

    Required: technical illustration skills; Optional: experience with free and open source illustration software (like Inkscape or Scribus)

GNOME

  • Add a unit system to the Recipes application

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

  • Sharing of shopping lists in the Recipes application

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

Lagom

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

Mozilla

  • Rust: Web Assembly showcase

    moderate experience in JavaScript, C, C++, or Rust

OpenStack

  • Improve OpenStack Identity Service (keystone) tests for new features (fernet tokens, v3 API, etc)

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

    Before

    Amount

    June 9

    July 3

    $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 7

    $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-04-27 19:39:15 by MarinaZ)