Go to top

Participate

Zyte (formerly Scrapinghub) participates in Google Summer of Code as a sub-organization of the Python Software Foundation.

To participate as a contributor, follow the instructions in the Python Summer of Code documentation. See also the Google Summer of Code contributor guide.

See below some guidelines specific to the Zyte sub-organization.

Choosing an Idea

We have built a list of ideas that we consider good choices for an application.

These are just our ideas, feel free to come up with your own ideas:

  • To discuss your own idea for one of our projects, open a issue on the GitHub page of the corresponding project.

  • To discuss an idea for a new project related to web crawling or data processing technologies, contact us at opensource@zyte.com.

Everything else being equal, we prefer applications for ideas that are harder to implement. However, the quality of the pre-application pull request, the quality of the application, and the availability of mentors, all weight more than the idea itself. Going for the hardest idea may not help you. We recommend you to choose an idea you find doable and interesting.

Communication

For open source projects, open communication is key.

We expect discussion of Google Summer of Code ideas and project proposals to happen in the open. This means that any other applicant may learn from you, and that you may learn from any other applicant.

Use GitHub for communication when possible:

  • To discuss ideas that have an associated GitHub issue, discuss them in that issue.

    If there is no issue for your idea yet, open an issue for it and discuss your thoughts there.

  • If you want to show us some code, create a pull request. You can mark your pull request as a ‘draft’ if it is not meant to be merged.

  • If you have a question or feedback that is not about an idea itself, but more related to Google Summer of Code itself (required steps, process, etc.), find an issue titled “Google Summer of Code 2022” in the issue tracker of the target project, or create it yourself. For example, see Scrapy’s Google Summer of Code 2022 issue.

  • If you need to discuss something privately, e.g. because it involves personal information, please do not hesitate to contact us at opensource@zyte.com.

Pre-Application Pull Request

Before you apply, you must create a pull request against the repository of the project that you want to target in your application, as explained in the application steps described by the Python Software Foundation.

These are some guidelines for the creation of that pull request:

  • Get familiar with Git and GitHub. You need to know how to fork a repository, create a branch, create a pull request, and address merge conflicts.

  • If the target project has contribution guidelines, follow them. Some projects have a ‘Contributing’ page or section in their documentation or README file. Other projects have a CONTRIBUTING file.

  • If you can identify a self-contained, short task (less than a week of work) from your idea, consider implementing it as your pre-application pull request.

  • Check open issues in the GitHub page of the corresponding project. Select Contribute in the project list to find recommended issues for beginners.

  • Another good source for contributions is finishing old abandoned pull requests. However, first find out the current status of the work, and why it was stalled. If it’s not clear from reading the pull request comments, feel free to leave a comment to ask about it.

  • Be sure to read issue threads thoroughly. They may often include previous or on-going attempts at fixing them.

  • When creating a pull request that fixes a registered issue, indicate so with an issue-closing keyword.

  • Make sure your pull requests have proper documentation and tests. Also, all current tests should pass to get your changes merged.

  • Please, do not get discouraged by our feedback! We could ask you for more changes than from regular contributors, to test how responsive you are and how well you implement our requests.

Application

  • Your proposal is a great opportunity to show us your research skills and dedication, so try to investigate as much as you can on your own and make narrower questions by then.

  • Hard ideas are favored over easy ones, but quality proposals and development skills are going to be ranked even higher.

  • It is recommended that you start an early draft of your proposal somewhere publicly accessible, so mentors and users can review it and provide feedback. It is easier to answer questions or help you if you get stuck knowing your work beforehand too.