Skip to content

Latest commit

 

History

History
143 lines (91 loc) · 12.1 KB

File metadata and controls

143 lines (91 loc) · 12.1 KB

Contributor guide

👋 This guide is our main resource for contributors interested in working on Wagtail as part of the Google Summer of Code programme. Please read through it all, top to bottom.

About Wagtail

Wagtail is a popular content management system. It's built on Python and Django, by an active and engaged open source community, which has grown rapidly since Wagtail's release in 2014. Wagtail is available in over 40 languages, and used by some of the world's best-known organizations, including NASA, Google, Mozilla, MIT, and the UK's National Health Service, as well as museums, universities, non-profits, governments, banks, studios, restaurants, startups and bloggers around the world. Like Python and Django, the technologies which underpin it, Wagtail is known for its welcoming community.

Our community

Here are options to get to know our community:

  1. Read our recent posts: Our roadmap for the next 6 months, Open source AI we use to work on Wagtail
  2. Sign up for our newsletter, our YouTube channel, or follow us on LinkedIn, on Bluesky, or on Mastodon
  3. Join our Slack community workspace.

Selection criteria

We use the same eligibility criteria as every other GSoC participating organization. Participation is open to all who are eligible to Google Summer of Code.

We’re about quality over quantity. We favor candidates that:

  1. Demonstrate a good understanding of our project ethos and open source values, via consistency in communications with our contributors.
  2. Demonstrate their expertise with the topic of their proposal, either via the proposal itself or via few, strategic high-quality contributions.

We encourage trying to contribute to an area related to your proposal during the 3-4 weeks leading to applications opening.

Project proposals

We select projects based on the final proposals submitted via the Google Summer of Code platform. Make sure to follow our AI policy for GSoC when working on proposals. We provide an optional GSoC proposal template. We’ve created this template to help people put together a well structured proposal. Following the template isn’t mandatory, we just hope it will help you understand what we are after.

Once proposals open, we also provide a review form for early feedback on proposals. We strive to review submissions on a regular basis, providing feedback directly on proposal documents.

Contributor tasks

We recommend participants go through a set of initial tasks as they start to get involved with Wagtail’s community, ahead of their application. This is for you to get to know Wagtail as a project and community, and get a sense of how we can work together. It also helps mentors assess the skills of candidates, so we can decide which projects we can take on with you. Those tasks are all optional -- if you’re confident in your abilities, the only requirement is to submit your application via the Google Summer of Code platform.

No matter which specific project idea you’re interested in, we expect all participants to demonstrate:

  • A good understanding of Google Summer of Code.
  • Awareness of how open source contributors collaborate: clear and effective communication, usage of english, online etiquette, code of conduct, communication channels.
  • Awareness of our AI policy for GSoC, relevant across all aspects of your participation.
  • An interest in learning: improving in response to feedback, asking questions when appropriate, and helping other contributors.
  • Awareness of git and GitHub and contribution guidelines to contribute to large code projects.
  • Proficiency with Django, Python, and Wagtail.

Checklists

Here are our recommended checklists for all candidates to test their interest and skill. They will help you get started and make sure you’re on the right track.

Getting to know Wagtail

Google Summer of Code fundamentals

Open source fundamentals

This checklist helps you demonstrate your understanding of how people use GitHub to collaborate.

  • Read through How to contribute to open source
  • Read Open source etiquette
  • Make your first pull request with us! Add a new Markdown file inside 2026/participants/ with your GitHub username as the file name. Add the introduction you posted earlier. Submit this to our project as a pull request.
  • Read through GitHub’s Markdown formatting documentation
  • Now make another pull request to your own README file, adding a Markdown table with links to:
    • Your GitHub profile
    • Your Mastodon profile if any
    • Your Bluesky profile if any
    • Your X profile if any
    • Your LinkedIn profile if any
    • Your personal website
  • Update your pull request to add a new ## Tasks section to your participant file, and copy-paste our contributor guide’s checklists into it, marking each item as completed while you progress.

For participants already experienced with GitHub and Markdown, feel free to make all of the above changes in a single pull request.

To stand out as an applicant,

  • Help others with their pull requests – spotting steps they might have missed, or suggesting improvements to their pull requests.
  • Demonstrate good awareness of open source etiquette when creating your pull requests (for example, adding an appropriate title and description).

Learning and research

  • Create a new ## Research section in your personal file inside 2026/participants/, with a list of links to the resources you’ve found most useful so far in trying to understand Wagtail as a project and the specific GSoC project idea you’re interested in.
  • Write a short blog post describing something you’ve learned recently, and share it with us. The post must be in English, include at least one image, be less than 500 words, and score a Grade 6 or lower on https://hemingwayapp.com/. The post has to be posted on a publicly-available platform (Dev.to, Hashnode, Medium, your own website). Link to it from your participant file in this repository.

Django and Wagtail fundamentals

Here, we recommend you to go through two tutorials to demonstrate your understanding of Django and Wagtail. Submit the code from both projects by adding links to GitHub repositories in your participant file inside 2026/participants/.

Project-specific tasks

Those optional tasks are specific to each project, for contributors wanting to strengthen their proposal with relevant contributions. Those tasks are specifically picked to help you increase your understanding of the subject area.

When making progress or completing tasks, always link them from your participant file in 2026/participants.

Demo website redesign

View the project idea: Demo website redesign.

Those are vary varied tasks, pick and choose based on the direction you will want to propose:

  • Create new content fixtures for the existing demo, which allow testing it with another theme than bread.
  • Create a new alternative visual look for the website, with its existing content.
  • Pick up and address an existing issue on the site.
  • Write and share an AI agent skill to help with future maintenance of the project.

Starter kit upgrade

View the project idea: Starter kit upgrade.

  • Set up a new project with the starter kit.
  • Set up a new project template / starter kit, with technology choices and demo content of your own choosing. Examples: htmx; Astro; fully static deployment; hosting in PythonAnywhere; portfolio template; photography website.
  • Review the contents of the starter kit, and publish a blog post explaining your understanding of its value, as well as might be missing from it.
  • Write and share an AI agent skill to help with future maintenance of the project.

Multilingual support improvements

View the project idea: Multilingual support improvements.

Your own project ideas

View our guidance - Project proposal: your own idea.

We love original ideas! We encourage you to follow similar standards as the above ready-made project ideas - doing extensive research, publishing an article or two within the theme of your idea, and potentially finding contribution tasks in packages or the core Wagtail repository.