How to Write a Summer of Code Project Proposal

Our plans for Summer of Code for 2024 have not yet been announced, and applications are not yet open. Watch for news on our Announcements room on Matrix.

Please check our Summer of Code announcements page for information about this year’s program.

If you are interested in participating in Redox Summer of Code (RSoC), you must be a current or past Redox contributor, or be contributing to another well-known written-in-Rust Operating System project. If you are a regular contributor, our application process is quite informal, but if you are newer to Redox, we may require a proposal as described below.

When we are able to participate in other programs, such as Google’s Summer of Code, we will follow their rules and processes. Any information below that discusses those programs is not meant to imply that we are currently participating in those programs.

If you are working on a university project and want to maximize your chances of having your work become a part of Redox, we also recommend a proposal of this type, although you might not be considered for our Summer of Code program.

We are very selective in who we choose to sponsor or mentor, so even if you are fully qualified, we may not be able to accept your proposal. Regular Redox contributors always take priority when they are eligible.

Before you Begin

Before starting your proposal, join us on Matrix Chat. Consider contributing to Redox (see below). And watch for a Summer of Code announcement in our Announcements room on Matrix. Then in our Summer of Code room, tell us what type of project you want to participate in (GSoC, RSoC or university project) and what sort of work you hope to do. Participating in our Chat and becoming part of our community is an important part of having your proposal accepted.

Read the Redox Book, then build and run Redox on QEMU to get to know what Redox is. Writing a sample application and getting it to run on Redox will also help you get know the tools you will be working with.

Then read through our Summer of Code Project Suggestions.

Contribute to Redox

People who are already contributing to Redox or related open source projects are given preference over people whose first contribution will be their proposed project. If you are not already part of the Redox community, join us and see if contributing to Redox is for you. Showing us what you are capable of, and showing us you are excited to contribute to Redox, will go a long way toward convincing us you are the right person for us.

The Proposal

A proposal may or may not be required. Please ask on the Summer of Code Matrix room if you should do one.

Project Goals

When writing a proposal, start with a clear, concise description of what you plan to do and why you think it helps Redox.

Try to keep it short, but make sure to demonstrate your understanding of the problem and a potential solution. Your ability to communicate your thoughts is the main way that we evaluate your technical understanding.

Pick a project that you are confident you can do successfully - being overly ambitious won’t help you or us.

About You

What makes you the right person for this project? Tell us about your other projects, especially your contributions to open source and your relevant work experience. Convince us that you have the ability to learn quickly and the confidence to become an independent contributor.

Are you a student, recent graduate or other open source contributor? Why are you participating in the Summer of Code?

You need to have some Rust experience, but the amount of Rust knowledge required varies from “some” to “expert”, depending on the project. Make sure you are honest about your knowledge of Rust, you will fail if you don’t have the necessary skill for the project you choose.

About Us

Why are you interested in contributing to Redox? What are you hoping to get out of it? How did you hear about us?

Milestones and Timeline

The final draft of the project proposal should include weekly goals and three or four major milestones, with deliverables and completion criteria. You are expected to provide working software that your mentor can run, plus a set of tests. The timeline should be developed with your intended mentor.

Your CV

If you are new to Redox, you may be asked to provide a resume/CV. Don’t provide it until it’s requested, and only via private communication. Here is the information we will be looking for.

Other Considerations

Code of Conduct

We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic. We follow the Rust Code of Conduct. A violation of the Code of Conduct may result in your project being rejected or failed, and/or any stipend or payment being withheld.

Language Considerations

All mentoring and other communication will be in English.

Internet Connectivity

Redox projects require high-speed internet connectivity for downloading and uploading large volumes of software, and for participating in Chat and/or voice communications.