Students: get paid to work on open source projects!
Projects: find new contributors and mentor the next generation!
Python is a popular high-level programming language. It is a general-purpose language used by scientists, developers, and many others who want to work more quickly and integrate systems more effectively.
Google Summer of Code (GSoC) 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.
The Python Software Foundation (PSF) is an organization devoted to advancing open source technology related to the Python programming language. Since 2005, the Python Software Foundation has participated in Google Summer of Code, serving as an "umbrella organization" to a variety of Python-related projects, as well as sponsoring projects related to the development of the Python language. Python provides mentors, Google provides the program (and the money!), and students write code!
GSoC 2019 is now complete! Go here for the latest Python GSOC 2020 information.
Want to prepare before 2020 starts? You can get started as a new open source contributor anytime!
There's hundreds of thousands of projects that use Python, and you need to narrow down the list before you can get help or do much that's useful. See How do I choose a project or sub-org? for ideas on how to do that.
Any open source experience will help you prepare for GSoC, so don't worry too much about what project you try first and don't be afraid to change your mind! When we know which sub-orgs will be participating, they'll be listed with the project ideas.
Document what you do so you can remember it later, and so you can help others if they get stuck! And if you get stuck, don't be afraid to ask for help.
Join the mailing list, IRC channel, or any other communication channels the developers use. Listen, get to know the people involved, and ask questions.
Many projects have these tagged as "easy" "bite-size" or "beginner-friendly" -- do a search to see what comes up. Competition for the easiest ones can be fierce, so don't be afraid to try something harder if you think you might know what to do.
Can't find a bug? Other ideas: find typos and fix them. Improve test coverage by writing new tests. Improve documentation. Use a tool like Pylint or Bandit to see if you can find new issues.
Hopefully you won't encounter too many, but it's always a good idea to get familiar with your project's bug reporting process.
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!
Most projects are looking for not just coders, but good community members who people like to work with. Show your community skills by helping others and make a great impression come selection time!
Short application checklist:
Communication is probably the most important part of the application process. Talk to the mentors and other developers, listen when they give you advice, and demonstrate that you've understood by incorporating their feedback into what you're proposing. We reject a lot of students who haven't listened to mentor feedback. If your mentors tell you that a project idea won't work for them, you're probably not going to get accepted unless you change it.
You are viewing an archived website from 2019! For current ideas, see https://python-gsoc.org/.
This is a chance to join this extra ordinary project and
make a difference to the programming world by taking Python
where it currently is not.
Nuitka currently does not yet live up to the task, but with your help it will get there sooner and you will have been a part of it.
Examining the atmosphere by research aircraft is a costly and highly
collaborative effort involving a large community of scientists, their
one-of-a-kind measurement instruments and a very limited amount of
available flight-hours.
The Mission Support System enables the planning of optimal flight
paths by visualising the results of model simulations in combination
with the chosen flight path and allowing for a simple iterative and
collaborative improvement process, enabling the best measurement flights
possible.
EOS is the first open source and customizable Design System to help open source, SMEs, and all sizes of organizations deliver outstanding user interfaces and consistent user experience.
Design Systems serve as a centralized source of information for UX, UI, and other brand-related guidelines that help not only developers find the UI element or component they need, but also designers to build faster prototypes while streamlining the collaboration between the two.
Scrapy is the world's best-loved scraping framework, helping people to efficiently extract and use web-data using Python.
Using Scrapy, you can travel through sites at remarkable speed, and using only a few lines of readable code, extract high-quality data for use in research, for enterprise, for archival, and more.
Scrapinghub, as lead maintainers of Scrapy and its constellation of supporting libraries, is open to mentoring motivated students who would like to work on Scrapy, or on a new Open Source library for quality-assurance in Scrapy spiders, Spidermon.
Statsmodels is a general purpose statistics and econometrics package written in Python and some Cython. It is part of the scientific Python stack that is oriented towards data analysis, data science and statistics, but is also used for statistical analysis in science, engineering and other fields.
Statsmodels provides a large range of statistical methods, estimation and prediction models and hypothesis tests, among them linear, generalized linear and robust linear regression models, models for discrete data, and a large group of forecasting models in time series analysis.
Statsmodels has participated for many years in GSOC. This provided a large contribution to improving the coverage of both basic and advanced methods in statistics and econometrics.
Buildbot is an open-source framework for automating software build, test, and release processes.
Buildbot can automate all aspects of the software development cycle: Continuous Integration, Continuous Deployment, Release Management
Buildbot is a framework in which you implement a system that matches your workflow and grows with your organization.
Buildbot has participated for many years in GSoC, and some of its core features were developed during GSoC.
The CVE Binary Tool is a security tool that scans for a number of common, vulnerable open source components (openssl, libpng, libxml2, expat and a few others) to let you know if your system includes common libraries with known vulnerabilities.
DFFML provides APIs for dataset generation and storage, and model definition using any machine learning framework, from high level down to low level use is supported. The goal of DFFML is to build a community driven library of plugins for dataset generation and model definition. So that we as developers and researchers can quickly and easily plug and play various pieces of data with various model implementations.
secretaria (at) ac.python.org.ar via e-mail / hangouts
Here's some more interesting organizations that use Python!
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.
Sign up to the gsoc-general(at)python.org mailing list to get updates, reminders, and to discuss questions. Please join the list before you send a message!
The most common questions are answered here:
Our IRC channel is #python-gsoc on irc.freenode.net. (Don't know IRC? Learn more at irchelp.org).
To talk with people from a specific sub-org, check their ideas page listing for their mailing lists, IRC, and other contact information.
For mentors: All the gsoc admins can be reached at gsoc-admins(at)python(dot)org if you have questions about participating. (Students should email gsoc-general(at)python.org with all of their questions, unless they are of a sensitive personal nature.)
The 2019 Python Software Foundation (PSF) org admin team:
The org admins can be reached at gsoc-admins(at)python(dot)org (for mentors) Students should almost always visit Getting Started first, and email gsoc-general(at)python.org only if you get stuck.
We also have some "org admins emeritus" who may be able to help you: