Revision 16 as of 2015-01-30 02:43:51

Clear message

Google Summer of Code 2015 @ the Python Software Foundation

Google Summer of Code is a global program that offers post-secondary students an opportunity to be paid for contributing to an open source project over a three month period. Since 2005, the Python Software Foundation has served as as an "umbrella organization" to a variety of python-related projects, as well as sponsoring projects related to the development of the Python language. It is our intention to apply as a mentoring organization again in 2015, and this page coordinates those efforts.

The 2015 PSF GSoC coordinator is TerriOda. (terri on Freenode IRC, terrioda at gmail.com)

The other org admins include James Lopeman (meflin on IRC) and Florian Fuchs (florianf on IRC).

More org admins may be announced later. If you're interested in volunteering, contact Terri.

Mailing lists, IRC, and other ways to get in touch

Please note that Python has a Community Code of Conduct and mentors and students working with the PSF are asked to abide by it as members of the Python community.

Preparing for GSoC 2015

Please note the Dates and deadlines for 2015. Right now it is off-season for GSoC mentors. We won't know if Python is a GSoC 2015 mentoring org until March 2nd. You can expect a reasonable number of GSoC ideas linked from this page by February 20th (the org application deadline), and list of Python sub-orgs around March 17th.

Students

Please remember that Sept-February is off-season for GSoC mentors. Many projects won't be ready for students until after the mentoring organizations are announced on March 2nd. But most projects accept new contributors year round, so you can get involved any time!

Here's 7 steps to help you get started:

  1. Choose an organization to work with. Python has a lot of sub-projects (over 20 in 2014!), so this can be hard. See "How do I choose a project or a sub-org?" if you need help. You can try out the next steps with more than one org and make your decision once you get to know them, too!

  2. Start communicating with the developers. Join the mailing list, IRC channel, or any other communication channels the developers use. Listen, get to know the people involved, and ask questions.

    • If you want to make the best first impression, DO NOT start emails with "Dear Sir." Python has many mentors who are female and/or prefer other forms of address. Try "Dear developers" or "Dear mentors" if you're sending a general email, or use whatever name they use on their email if you're addressing a specific person. Culturally speaking, first names or chosen nicknames are fine for most open source projects.
  3. Set up your own development environment.

  4. Find some beginner-friendly bugs and try to fix them. Many projects have these tagged as "easy" "bite-size" or "beginner-friendly"

    • Note that if you apply as a student with the PSF you will be asked to submit a code sample, generally code related to your project. A few fixed bugs with code accepted upstream will make your application look great!
    • Having trouble figuring out which bugs are beginner-friendly? Send an email to the project mailing list saying something like "Hi, I'm a student developer interested in getting some open source experience and I was wondering if anyone could suggest some bugs that are suitable for a beginner in this project?"
    • Some projects have beginner-friendly "bite-sized" bugs listed in the OpenHatch search engine, found here: http://openhatch.org/search/

  5. Find bugs and report them. Hopefully you won't encounter too many, but it's always a good idea to get familiar with your project's bug reporting process.

  6. Help with documentation. As a beginner in your project, you're going to see things that are confusing that more experienced developers may not notice. Take advantage of your beginner mindset and make sure to document anything you think is missing!

  7. Help others. This is a great idea for a lot of reasons: explaining things can help you learn them better, demonstrating your skills as a good community member can make you more memorable when your mentors have to choose candidates, and being helpful makes your community a better place!

Not sure which projects will be participating in 2015? Well, neither are we! Many orgs won't decide until they can get commitment from mentors, and often mentors don't know their schedules until closer to the start of the GSoC period. But you can take a look at the list of organizations who participated in 2014 or previous years to get an idea of what projects might be participating. If you're interested in a Python-based project that hasn't participated in GSoC in the past, feel free to tell them to get in touch with Terri to learn more about participating in 2015.

More information about writing your application will be available here closer to the start of the student application period.

Mentors

We encourage mentors and mentoring organizations to think about new projects year round! If you'd like help with your ideas page or your separate mentoring org application, please feel to contact the organization admins.

New this year: we've set up SummerOfCode/OrgIdeasPageTemplate to help get you started, including some things that many orgs forget to include on the first pass!

It is our intention to run some IRC help sessions to help Python-related orgs polish their applications. They'll be run in January and February 2015.

If you're like to sign up as a mentor, please get in touch with your sub-org admin to get more instructions.

New Sub-orgs

If you're a python-based project who'd like to participate in GSoC but hasn't done this before...

In short, we ask for 3 things:

  1. Your project needs to be a reasonably established python project.
  2. You need at least 3 mentors (a sub-org admin plus 2 more) signed up for the whole summer.
  3. You need to have a good ideas page available online. (Including well-described project ideas that can be completed during the GSoC period, as well as lots of "how to get started" information. See SummerOfCode/OrgIdeasPageTemplate for a starting template.)

Please get in touch with TerriOda to learn more about what we need from you, what you can expect from us, and how to get involved.

Alas, we don't have the resources to accept every project, but we try to support projects with a clear commitment to python!

Python Project Ideas

Ideas for projects and links to Python-related teams' idea pages will appear here once mentors have gotten in touch with TerriOda. (You can also check last year's page to find projects that might participate again.) We expect the 2015 page to be complete around March 7th. (Why March 7th? Google makes their decisions about mentoring orgs on March 2nd, and usually some of the ones who were too small will join us after that date.)

If you are unsure if your favourite Python project will be participating, ask them and encourage them to sign up!

NOTE: Many of python-based organizations have also applied as separate mentoring organizations so they may not be under our umbrella for 2014. We're listing things here to help students find python projects, and we'll make sure it's clear which ones are under our umbrella and which ones are separate once mentoring organizations have been chosen by Google. Thanks for your patience!

http://python.org/images/python-logo.gif

Core Python

CPython and standard library

Website | core-mentorship@python.org | #python-dev on Freenode | Ideas Page

http://farm8.staticflickr.com/7432/12526610733_5a83e0b5f7_o.png

GNU Mailman

Mailing list package written in Python

Website | mailman-developers@python.org | #mailman on Freenode | Ideas Page

Dates/Deadlines

Google's dates and deadlines for 2015.

Of note:

** These are Python-specific deadlines for mentors and sub-org admins. They're typically a few days before Google's official deadlines to allow Terri enough time to deal with any problems that might occur.

The time for all these deadlines is 1900UTC. See what time that is in other time zones.

More Information

Unable to edit the page? See the FrontPage for instructions.