This internship is appropriate for any level of open source experience. If you have worked on an open source project before, great! If not, we'll help you learn the development and communication tools we use as part of the internship. Some Python experience is a prerequisite.
The [http://live.gnome.org/GnomeWomen/OutreachProgram2012 Outreach Program for Women] is open to both students and non-students. Students, you might also be able to work with Twisted [wiki:GoogleSOC through Google Summer of Code] (details pending). [http://live.gnome.org/GnomeWomen/OutreachProgram2012#line-42 This page] compares the two programs.
=== What is Twisted? ===
Twisted is an event-driven networking engine written in Python. If you love networking, Twisted is the project for you! This is a great opportunity to learn more about what goes on under the hood when you browse the web, send mail, or use an instant messaging service, as Twisted supports all of these networking protocols.
Twisted is a great open source internship project for many reasons:
* The community is full of smart, friendly people who are committed to making Twisted and the open source community in general welcoming to newcomers of all backgrounds.
* Our coding, documentation, and testing standards instil excellent discipline that carries over into work and other open source projects.
* We provide in-depth coding reviews to help improve your skills.
* You get to improve software used by millions of people all over the world. Twisted is used everywhere from Google and Lucasfilm to Justin.TV and the Launchpad software collaboration platform - read about some of our SuccessStories.
* You'll be part of an entire Twisted release cycle and see code you wrote released to the world during the internship!
=== Outreach Program for Women internship project description ===
Twisted is broken into several subprojects: core networking, web, email, instant messaging, etc.. For this internship, you'll have an opportunity to become an expert in a subproject that interests you by working on everything from documentation and example programs to ticket triage, bug fixes, and new features. You can move between the goals below as quickly as you want based on your comfort level: if you want to dive right into bug fixes, awesome!
'''Goal !#1: Review and improve documentation'''
* Audit the examples, and make sure they have a high-level description and specify how they are run.
* Audit the HOWTOs for use of deprecated APIs, coding standard violations, broken links, etc. and then update them. A newcomer's perspective is *tremendously* valuable here.
* Identify missing examples and HOWTOs based on IRC, mailing list, and stack overflow feedback, and add them.
* This is an excellent way to get a feel for the Twisted code base and the networking protocols of your subproject.
'''Goal #2: Test suite cleanup'''
* Help us clean up the code base by removing deprecations and fixing deprecation warnings.
* Debug and fix some of our recurring sporadic test failures.
* Clean up test suite documentation and bring the tests in line with current coding standards
* You'll have a fleet of BuildBot machines at your disposal to test changes!
* This is a great way to get a feel for how to write unit tests in Twisted, and to develop a solid test-driven development and coding standards discipline -- qualities future employers and co-workers will love!
'''Goal #3: Improve API documentation and test coverage'''
* Everything that gets us to closer to 100% API documentation and test coverage is making Twisted more accessible and regression-proof.
'''Goal #4: Make progress on stalled subproject tickets'''
* We have a lot of tickets that just need tests, documentation, or one more round of work based on review feedback to land. Help bring some of these tickets across the finish line!
'''Goal #5: Work on features for your subproject'''
* There are some great open feature tickets looking for a champion. With your experience in Goals 1-4 you are an expert on this subproject and well-equipped to work on them.
=== How to apply ===
Please try to apply as soon as possible, ideally before April 6th. Earlier we said all applications must be received by 11:59pm GMT on April 13, 2012, and you can continue working on your first contribution after April 6th, but since the Google Summer of Code and GNOME deadlines are the April 6th this will help make sure we can have you get in via the appropriate project.
1. Send an e-mail to saying you are interested in working with Twisted through the Women Outreach program. Together you'll pick a small Twisted contribution to work on. You '''must''' do this step before submitting an application.
1. Complete your pre-application contribution. This is a great time to meet people in the community and get a feel for the Twisted workflow, and you'll have lots of support as you do this.
1. Please fill out the answers to the following questions and e-mail them to with a subject line of "[APPLICATION] Your Name". You may optionally attach your resume or include any other information that is relevant to your application. All applications must be received by 11:59pm GMT on April 13, 2012.
Please don't send in the application form until you have completed the initial contribution, unless it's less than a week to the application deadline and you are already working on your contribution. Once you have completed the initial contribution, send in your application right away, so that we have more time to follow up with you in case we need additional information. Please feel free to work on more contributions after that as your time allows. If you need to update your application, just send in an updated version to with the same subject line.
Web Page / Blog / Microblog:
Education completed or in progress (i.e., university, major/concentration, degree level, and graduation year):
How did you hear about this program?
Are you planning to apply for Google Summer of Code?
Please describe your experience with Twisted as a user and as a contributor (include the information about the pre-application contribution you made to the project here):
Please describe your experience with any other free software projects as a user and as a contributor:
Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them:
Please describe the details and the timeline of the work you plan to accomplish on the project, including which Twisted subproject you want to focus on (discuss this first with the mentor of the project):
Will you have any other time commitments, such as school work, another job, planned vacation, etc., between May 21 and August 20?
=== Join us! ===
* [TwistedCommunity#IRC Say hello on IRC]
* [TwistedCommunity#MailLists Check out the discussions on our mailing lists]
* [ContributingToTwistedLabs Read about contributing to Twisted]
If you have questions about this project or Women Outreach 2012, please get in touch with us at .