|
| 1 | +--- |
| 2 | +layout: page |
| 3 | +title: Project Ideas for GSoC 2025 |
| 4 | +--- |
| 5 | + |
| 6 | +This page contains a non-exhaustive list of potential project ideas that we are keen to develop during [Google Summer of Code 2025](https://summerofcode.withgoogle.com/). If you would like to apply to GSoC as a contributor, please follow these steps to get started: |
| 7 | + |
| 8 | +1. Read through this page and the Google Summer of Code guides, |
| 9 | +2. Identify, or come up with your own project ideas you find interesting. |
| 10 | +3. Check out the [Development forum](https://forums.swift.org/c/development/gsoc/98) to connect with potential mentors. |
| 11 | +- Feel free to mention the project mentors on the forums, when starting a thread about your interest in participating in a specific project they are offering to mentor. |
| 12 | + |
| 13 | +When posting on the forums about GSoC this year, please use the [`gsoc-2025` tag](https://forums.swift.org/tag/gsoc-2025), so it is easy to identify. |
| 14 | + |
| 15 | +## Tips for contacting mentors |
| 16 | + |
| 17 | +The Swift forums are powered by discourse, a discussion forums platform with spam avoidance mechanisms built-in. If this is your first time joining the forums, you _may_ not be able to send mentors a direct message, as this requires a minimum amount of prior participation before the "send private message" feature is automatically enabled. |
| 18 | + |
| 19 | +To start things off, we recommend starting a new thread or joining an existing discussion about the project you are interested in on the dedicated [GSoC forums category](https://forums.swift.org/c/development/gsoc/98). You should also _tag_ your thread with the `gsoc-2025` tag. It is best if you start a thread after having explored the topic a little bit already, and come up with specific questions about parts of the project you are not sure about. For example, you may have tried to build the project, but not sure where a functionality would be implemented; or you may not be sure about the scope of the project. |
| 20 | + |
| 21 | +Please use the forums to tag and communicate with the project's mentor to figure out the details of the project, such that when it comes to writing the official proposal plan, and submitting it on the Summer of Code website, you have a firm understanding of the project and can write a good, detailed proposal (see next section about hints on that). |
| 22 | + |
| 23 | +If you would like to reach out to a mentor privately rather than making a public forum post, and the forums are not allowing you to send private messages yet, please reach out to Konrad Malawski at `ktoso AT apple.com` directly via email with the `[gsoc2024]` tag in the email subject and describe the project you would like to work on. We will route you to the appropriate mentor. In general, public communications on the forums are preferred though, as this is closer to the normal open-source way of getting things done in the Swift project. |
| 24 | + |
| 25 | +## Writing a proposal |
| 26 | + |
| 27 | +Getting familiar with the codebase you are interested in working on during GSoC helps to write a good proposal because it helps you get a better understanding of how everything works and how you might best approach the project you are interested in. How you want to do that is really up to you and your style of learning. You could just clone the repository, read through the source code and follow the execution path of a test case by setting a breakpoint and stepping through the different instructions, read the available documentation or try to fix a simple bug in the codebase. The latter is how many open-source contributors got started, but it’s really up to you. If you do want to go and fix a simple bug, our repositories contain a label “good first issue” that marks issues that should be easy to fix and doable by newcomers to the project. |
| 28 | + |
| 29 | +When it comes to writing the proposal, the [Google Summer of Code Guide](https://google.github.io/gsocguides/student/writing-a-proposal) contains general, good advice. |
| 30 | + |
| 31 | +## Potential Projects |
| 32 | + |
| 33 | +We are currently collecting project ideas on the forums in the dedicated [GSoC](https://forums.swift.org/c/development/gsoc/98). |
| 34 | + |
| 35 | +Potential mentors, please feel free to propose project ideas to this page directly, by [opening a pull request](https://github.com/swiftlang/swift-org-website/edit/main/gsoc2025/index.md) to the Swift website. |
| 36 | + |
| 37 | +You can browse previous year's project ideas here: [2024](https://www.swift.org/gsoc2024/), [2023](https://www.swift.org/gsoc2023/), [2022](https://www.swift.org/gsoc2022/), [2021](https://www.swift.org/gsoc2021/), [2020](https://www.swift.org/gsoc2020/), [2019](https://www.swift.org/gsoc2019/). |
| 38 | + |
| 39 | +### Example project name |
| 40 | + |
| 41 | +**Project size**: N hours |
| 42 | + |
| 43 | +**Estimated difficulty**: ??? |
| 44 | + |
| 45 | +**Recommended skills** |
| 46 | + |
| 47 | +- Basic proficiency in Swift. |
| 48 | +- ... |
| 49 | + |
| 50 | +**Description** |
| 51 | + |
| 52 | +Description of the project goes here. |
| 53 | + |
| 54 | +**Expected outcomes/benefits/deliverables** |
| 55 | + |
| 56 | +- Expected deliverables of the project go here |
| 57 | + |
| 58 | +**Potential mentors** |
| 59 | + |
| 60 | +- Mentor name and link to their github |
| 61 | + |
0 commit comments