Debian has been encouraging women to increase their engagement in the free software community for many years. We strongly believe this is a win-win situation for women (who open up new opportunities for themselves through community networking) and the wider free software movement (who benefit from the untapped potential of talented female developers). Statistics show that although we have increased the number of women participants, we still have plenty of room to grow. With this initiative we hope more women will see opportunities to become involved in the Debian project.
Thanks to the efforts of the program organizers, Outreachy has now been expanded to other underrepresented groups in the Free Software community, which is perfectly in line with Debian's Diversity Statement
Eligible participants must meet all the following requirements:
- (i) you are a resident or national of any country or region other than Crimea, Cuba, Iran, North Korea, Syria, or Sudan and identify as a woman (cis or trans), trans man, or genderqueer person (including genderfluid or genderfree) or (ii) you are a resident or national of the United States of any gender who is Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, or Pacific Islander
- you are or will be 18 years of age or older by December 6, 2016
- you have not previously participated in an Outreachy, Outreach Program for Women, or Google Summer of Code internship
- you are available for a full-time, 40 hours a week internship, and you will not be in school full-time and will not have another full-time job for at least seven weeks between December 6, 2016 and March 6, 2017; being enrolled in school during a semester when you are taking more than half of the typical number of credits a full-time student takes or having an exams session is considered to be a full-time school commitment; Outreachy can be done to satisfy a project requirement and receive credits for it, in which case all other credits received during the semester should be no more than half of the typical number of credits a full-time student takes
- you are eligible to work in the country or countries in which you will reside throughout the duration of the program
- you are not a person or entity restricted by US export controls or sanctions programs
Students in the Southern Hemisphere, for whom the program will align with the large portion of their summer break, are especially invited to apply for the program.
Application period opens
Applications accepted at https://wiki.gnome.org/Outreachy#Submit_an_Application
September 12 - October 17
Applicants need to get in touch with at least one project and make a contribution to it
Application deadline at 7pm UTC
Accepted participants announced on https://wiki.gnome.org/Outreachy/2016/DecemberMarch
December 6 - March 6
What to do
Choose a project
- Make a small contribution.
- Once you have chosen your project, contact its corresponding mentor and ask him/her what small contribution related to the project you could do.
Submit your application on the Outreachy website: https://wiki.gnome.org/Outreachy#Submit_an_Application
Make sure you notify us that you have done so : email <outreach AT debian DOT org> and the mentors for your project with a link to your application
Clean Room for PGP and X.509 (PKI) Key Management
Description of the project: PGP is an important technology for a distributed online community like Debian. The PGP Clean Room aims to make it easier for new and existing participants to create and manage their PGP keys in a secure manner. An intern working on this project can focus on documenting the workflow, developing helper scripts to manage the filesystems for private key storage and developing a text-based UI using Newt (python-newt is preferred). Please also see Daniel's blog for the current status of this project.
Confirmed Mentor: Daniel Pocock
How to contact the mentor: use the pki-clean-room mailing list to introduce yourself
Deliverables of the project: making scripts and documents for the clean room project
Desirable skills: Python, Newt, PGP, X.509, Cryptography, Shell scripting, User interface design
What the intern will learn: Python, Newt, PGP, X.509, Cryptography, Shell scripting, User interface design
Related projects: GnuPG
Improving voice, video and chat communication with free software
Description of the project: have a look through the projects completed during GSoC 2016, extending any of these projects would be possible. Also look at the project ideas at project.freertc.org. Filter the list using the tags for programming languages you are most familiar with (for example, C, C++, Python, Java, PHP). In your application, specify which of the ideas you would like to work on. Some of these are only small projects and you will need to propose doing more than one of them during the internship. When thinking about which task you would like to work on, it is important to think about how it will be used by the Debian community and mention this in your application.
How to contact the mentor: join the Free RTC mailing list and send a message introducing yourself. Put [Outreachy] in the subject line of your message.
Confirmed co-mentors: Daniel Pocock
- Do you know anybody who is willing to be part of the mentoring team? If so, please ask them to contact me.
Deliverables of the project: completing one or more of the issues in project.freertc.org
What the intern will learn: helping people to avoid using proprietary communications tools like Skype, Viber and ?WhatsApp. Learning about SIP, XMPP and peer-to-peer technology.
Related projects: see the projects completed during GSoC 2016 for ideas.
Reproducible builds for Debian and free software
Description of the project: We want to provide Debian users with a verifiable path between the binaries we ship and their source code. With “reproducible builds” independent parties should be able to create byte-for-byte identical packages from the same source. ReproducibleBuilds are about trust, quality assurance, and having free software up to its promises. Good progress has been made over the course of the past year, but a good amount of work remain on individual packages, toolchain issues, infrastructure, debugging tools, and documentation.
Confirmed Mentor: Mattia Rizzolo
How to contact the mentor: firstname.lastname@example.org, mapreri on IRC.
Confirmed co-mentors: Holger Levsen (h01ger), Reiner Herrmann (deki), Chris Lamb (lamby), Ximin Luo (infinity0)
There is room for more than one intern, probably we can mentor up to three people, as there are small and bigger tasks to work on:
Improve test and debugging tools:
Improve reprotest. Currently it does not work well - it has bugs and the configuration/usage is quite heavy. We'd like it to work much more smoothly, so that it can be used in more situations, including from inside higher-level scripts such as debrepatch.
Improve tests.reproducible-builds.org: allow more distributions to be tested easily, create web pages for all distros from the same codebased in conjuction with a db, improve the web design and user experience
Improving reproducibility of Debian packages:
Analyzing why packages are not reproducible.
Fixes for identified issues: both their root cause and easy to use work-arounds; we recently identified a new source of randomness (build-path variations) and that will require quite some work on several toolchain packages
- Patches for individual Debian packages.
Improving Debian infrastructure:
Help collaboration accross distributions
Design and implement a shared database for package status and common issues.
Desirable skills: We are a diverse team, ready to help with knowledge in many different areas. The following list of skills is both incomplete and too long, but anyway, useful skills are:
- To improve Debian packages: basic understanding of how packages are made, a thrill for investigations, a taste for fun hacks.
- Python for diffoscope.
- Perl for strip-nondeterminism.
- Shell and Python for tests.reproducible-builds.org.
- Web design to enhance tests.reproducible-builds.org.
- Basic web editing (Markdown, HTML) for documentation.
What the intern will learn:
- A lot about the many different ways software can be built.
- How to make build systems reproducible.
- Many details (that you might regret learning) about how our plumbing tools work.
- How to interact with other Debian developers and research suitable solutions with them.
- How to design easy-to-use development tools.
Where to start
Debian is a huge project, so we have created a welcoming atmosphere:
IRC: #debian-outreach in the OFTC network (irc.debian.org)
Coordinators of the program:
- Nicolas Dandrimont (irc: olasd)
- Ana Custura (irc: ana_c)
email contact: <outreach AT debian DOT org>
Will happen on the main program site at https://wiki.gnome.org/Outreachy#Submit_an_Application