Skip to content
Snippets Groups Projects
Commit 694fb93d authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Merge branch 'gsoc' into 'master'

Add Summer of Code pages

See merge request !374
parents 320780e7 d5f7031d
No related branches found
No related tags found
1 merge request!374Add Summer of Code pages
Pipeline #14179 failed
...@@ -3,12 +3,13 @@ title = "Community" ...@@ -3,12 +3,13 @@ title = "Community"
+++ +++
This page attempts to explain how the Redox OS community is organised and helps you navigate it. This page attempts to explain how the Redox OS community is organised and helps you navigate it.
The headings are clickable to help you get to where you need to go.
We follow the [Rust Code Of Conduct](https://www.rust-lang.org/policies/code-of-conduct) for rules in all community/chat channels. We follow the [Rust Code Of Conduct](https://www.rust-lang.org/policies/code-of-conduct) for rules in all community/chat channels.
## [Announncements](https://matrix.to/#/#redox-announcements:matrix.org) ## [Announcements](https://matrix.to/#/#redox-announcements:matrix.org)
We do our announcements on this Matrix room, it's public and you don't need to login on Matrix to read it. We do our announcements on [this](https://matrix.to/#/#redox-announcements:matrix.org) Matrix room, it's public and you don't need to login on Matrix to read it.
- #redox-announcements:matrix.org (Use this Matrix room address if you don't want to use the external Matrix link) - #redox-announcements:matrix.org (Use this Matrix room address if you don't want to use the external Matrix link)
...@@ -29,6 +30,12 @@ If you want to have a big discussion in our rooms, you should use a Element thre ...@@ -29,6 +30,12 @@ If you want to have a big discussion in our rooms, you should use a Element thre
You cand find more information on [this](https://doc.redox-os.org/book/ch13-01-chat.html) page. You cand find more information on [this](https://doc.redox-os.org/book/ch13-01-chat.html) page.
## [Summer of Code](/rsoc)
The **Redox Summer of Code** (RSoC) program runs annually when funding permits, and we may participate in other Summer of Code type programs.
An overview of our Summer of Code programs and our plans for this year are [here](/rsoc).
Check out our [RSoC Proposal Guide](/rsoc-proposal-how-to) and [Project Suggestions](/rsoc-project-suggestions).
## [GitLab](https://gitlab.redox-os.org/redox-os/redox) ## [GitLab](https://gitlab.redox-os.org/redox-os/redox)
A slightly more formal way of communication with fellow Redox devs, but a little less quick and convenient like the chat. Submit an issue when you run into problems compiling or testing. Issues can also be used if you would like to discuss a certain topic: be it features, code style, code inconsistencies, minor changes and fixes, etc. A slightly more formal way of communication with fellow Redox devs, but a little less quick and convenient like the chat. Submit an issue when you run into problems compiling or testing. Issues can also be used if you would like to discuss a certain topic: be it features, code style, code inconsistencies, minor changes and fixes, etc.
......
+++
title = "Summer of Code Project Suggestions"
+++
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](https://matrix.to/#/#redox-announcements:matrix.org)
room on Matrix.
Redox supports students, recent graduates and other open source contributors through our Summer of Code programs,
including our own **Redox Summer of Code** (RSoC) and programs sponsored by other organizations.
Please read the [RSoC](/rsoc) announcement and the [RSoC Proposal Guide](/rsoc-proposal-how-to) and follow our instructions there.
These are some of our priorities, but if you have your own ideas, join us on Chat and let us know what you are thinking.
Projects in the **Rust-heavy** category require you to have demonstrated strong Rust expertise on real-world projects.
Projects in the **good Rust knowledge** category require you to have completed several projects in Rust and/or to have contributed to an open source written-in-Rust project, where we can review your work.
Choose a project you are confident you can complete successfully.
All of these projects provide substantial value to Redox,
don't feel like you need to pick the hardest one.
The scalable projects can be adjusted to fit a part-time or full-time 12-week schedule, but you must let us know how much time you plan to contribute as part of your proposal.
The large projects require full-time participation, and you must indicate your commitment to that level of effort.
## Medium-to-Large Scalable Projects, good Rust knowledge
- Port a written-in-Rust web server to Redox. Get Redox to run in a VM (e.g. QEMU) on a cloud server, and enable Redox's website to be self-hosted. Improve the end-to-end performance of the server.
- Improve Redox's automated testing suite and continuous integration testing processes.
- Port a variety of Linux applications to Redox. This involves implementing functions in our libc alternative, "relibc" and possibly porting some GUI functionality. It may require working with Makefiles and C/C++ code as well.
- Create a System Health profiling library, a GUI and a command-line interface to display activity levels for Redox's daemons and drivers.
- Perform a "survivability analysis" of Redox - What tasks can be killed and restarted, and still have Redox able to function? What will the effect on running applications be? What additional work needs to be done to improve survivability? Implement the proposed functionality and tooling.
## Large Projects, Rust-heavy
- Improve Redox's USB/HID support.
- Help improve Redox's performance by developing end-to-end profiling tools and libraries, analyzing bottlenecks and implementing optimizations.
- Implement "io_uring" for Redox's filesystem, RamFS and NVMe driver.
- Implement a user-space process manager that can safely modify process context information shared with the kernel. Implement the Session/Process Group/Process/Thread hierarchy.
- Begin a port of WASM Rustix to Redox's written-in-Rust libc alternative, "relibc". Refactor relibc where needed to support both libc and Rustix interfaces. Implement additional functionality where feasible.
+++
title = "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](https://matrix.to/#/#redox-announcements:matrix.org)
room on Matrix.
Please check our [Summer of Code](/rsoc) 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](https://matrix.to/#/#redox-join:matrix.org).
Consider contributing to Redox (see below).
And watch for a Summer of Code
announcement in our [Announcements](https://matrix.to/#/#redox-announcements:matrix.org)
room on Matrix.
Then in our [Summer of Code](https://matrix.to/#/#redox-soc:matrix.org) 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](https://doc.redox-os.org/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](/rsoc-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](https://matrix.to/#/#redox-soc:matrix.org) 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.
- What level of education have you achieved? What major, minor, specialty?
- What projects have you done? Tell us about the technologies and programming languages you have used.
- What open source contributions have you made?
- What work experience do you have?
- What are some other fun or interesting things about you?
## 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](https://www.rust-lang.org/policies/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.
\ No newline at end of file
+++
title = "Redox OS Summer of Code"
+++
Le Redox OS Summer of Code est la principale utilisation des dons du projet Redox OS.
Les étudiants sélectionnés ont déjà montré un désir et une capacité de contribuer à RedoxOS.
Si vous êtes intéressés, vous devez rejoindre le Chat et contribuer aux projets de Redox OS.
## Contributions précédentes
- [Porting tokio to Redox - part 1](https://www.redox-os.org/news/rsoc-porting-tokio-1/)
- [Porting tokio to Redox - part 2](https://www.redox-os.org/news/rsoc-porting-tokio-2/)
- [Porting tokio to Redox - part 3](https://www.redox-os.org/news/rsoc-porting-tokio-3/)
- [Porting tokio to Redox - part 4](https://www.redox-os.org/news/rsoc-porting-tokio-4/)
- [Implementing the FAT32 filesystem - part 1](https://www.redox-os.org/news/rsoc-fat32-1/)
- [Implementing the FAT32 filesystem - part 2](https://www.redox-os.org/news/rsoc-fat32-2/)
- [Implementing the FAT32 filesystem - part 3](https://www.redox-os.org/news/rsoc-fat32-3/)
- [Porting Redox to ARM64 - part 1](https://www.redox-os.org/news/rsoc-arm64-0x01/)
- [Relibc](https://www.redox-os.org/news/rsoc-relibc/)
- [Relibc - Wrap Up](https://www.redox-os.org/news/rsoc-relibc-final/)
- [Ion as a library - part 1](https://www.redox-os.org/news/rsoc-ion-lib-0/)
- [Ion as a library - part 2](https://www.redox-os.org/news/rsoc-ion-lib-1/)
- [Ion as a library - part 3](https://www.redox-os.org/news/rsoc-ion-lib-2/)
- [Ion as a library - part 4](https://www.redox-os.org/news/rsoc-ion-lib-3/)
- [Ion as a library - part 5](https://www.redox-os.org/news/rsoc-ion-lib-4/)
- [Implementing ptrace - part 1](https://www.redox-os.org/news/rsoc-ptrace-0/)
- [Implementing ptrace - part 2](https://www.redox-os.org/news/rsoc-ptrace-1/)
- [Implementing ptrace - part 3](https://www.redox-os.org/news/rsoc-ptrace-2/)
- [Implementing ptrace - part 4](https://www.redox-os.org/news/rsoc-ptrace-3/)
- [Implementing ptrace - part 5](https://www.redox-os.org/news/rsoc-ptrace-4/)
- [Implementing ptrace - part 6](https://www.redox-os.org/news/rsoc-ptrace-5/)
- [Implementing ptrace - part 7](https://www.redox-os.org/news/rsoc-ptrace-6/)
- [Implementing ptrace - part 8](https://www.redox-os.org/news/rsoc-ptrace-7/)
- [Implementing ptrace - part 9](https://www.redox-os.org/news/rsoc-ptrace-8/)
- [Improving Ion UX - part 1](https://www.redox-os.org/news/rsoc-ion-ux-1/)
- [Improving Ion UX - part 2](https://www.redox-os.org/news/rsoc-ion-ux-2/)
- [Improving Ion UX - part 3](https://www.redox-os.org/news/rsoc-ion-ux-3/)
- [Improving Ion UX - part 4](https://www.redox-os.org/news/rsoc-ion-ux-4-5/)
- [Porting GDB to Redox - part 1](https://www.redox-os.org/news/rsoc-gdb-0/)
- [Porting GDB to Redox - part 2](https://www.redox-os.org/news/rsoc-gdb-1/)
- [Porting GDB to Redox - part 3](https://www.redox-os.org/news/public-announcement-gdb/)
- [Improving drivers and kernel - part 1](https://www.redox-os.org/news/io_uring-0/)
- [Improving drivers and kernel - part 2](https://www.redox-os.org/news/io_uring-1/)
- [Improving drivers and kernel - part 3](https://www.redox-os.org/news/io_uring-2/)
- [Improving drivers and kernel - part 4](https://www.redox-os.org/news/io_uring-3/)
- [Improving drivers and kernel - part 5](https://www.redox-os.org/news/io_uring-4/)
- [Improving drivers and kernel - part 6](https://www.redox-os.org/news/io_uring-5/)
- [Improving drivers and kernel - part 7](https://www.redox-os.org/news/drivers-and-kernel-6/)
- [Improving drivers and kernel - part 8](https://www.redox-os.org/news/drivers-and-kernel-7/)
- [QEMU on Redox - part 1](https://www.redox-os.org/news/rsoc-2021-qemu-1/)
- [QEMU on Redox - part 2](https://www.redox-os.org/news/bochs-qemu-2/)
- [Revirt - part 1](https://www.redox-os.org/news/revirt-1/)
- [Revirt - part 2](https://www.redox-os.org/news/rsoc-2022-revirt-u-1/)
...@@ -2,12 +2,22 @@ ...@@ -2,12 +2,22 @@
title = "Redox OS Summer of Code" title = "Redox OS Summer of Code"
+++ +++
(This page was dropped because we are deciding how we will hire devs in the future, you don't need to translate it or add on config.toml) 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](https://matrix.to/#/#redox-announcements:matrix.org)
room on Matrix.
The Redox OS Summer of Code is the primary use of donations to the Redox OS The Redox OS Summer of Code program is the primary use of donations to the Redox OS
project. Students are selected who have already demonstrated a desire and project.
To be eligible, you must be a student or recent graduate who has already demonstrated a desire and
ability to contribute to Redox OS. If you are interested, you must join the ability to contribute to Redox OS. If you are interested, you must join the
Redox OS chat and contribute to Redox OS projects. Redox OS Chat and contribute to Redox OS projects.
We also participate in other Summer of Code type programs, when available,
which may have their own rules and critera.
Have a look at our [Proposal Guidelines](/rsoc-proposal-how-to) and [Project Suggestions](/rsoc-project-suggestions).
## Previous contributions ## Previous contributions
...@@ -54,3 +64,9 @@ Redox OS chat and contribute to Redox OS projects. ...@@ -54,3 +64,9 @@ Redox OS chat and contribute to Redox OS projects.
- [QEMU on Redox - part 2](https://www.redox-os.org/news/bochs-qemu-2/) - [QEMU on Redox - part 2](https://www.redox-os.org/news/bochs-qemu-2/)
- [Revirt - part 1](https://www.redox-os.org/news/revirt-1/) - [Revirt - part 1](https://www.redox-os.org/news/revirt-1/)
- [Revirt - part 2](https://www.redox-os.org/news/rsoc-2022-revirt-u-1/) - [Revirt - part 2](https://www.redox-os.org/news/rsoc-2022-revirt-u-1/)
- [Summer of Code Wrap-up 2023](https://www.redox-os.org/news/rsoc-2023-wrapup/)
- [VirtIO - part 1](https://www.redox-os.org/news/rsoc-virtio-1)
- [VirtIO - part 2](https://www.redox-os.org/news/rsoc-virtio-2)
- [Revirt-U](https://www.redox-os.org/news/rsoc-2023-eny-1)
- [Memory Management - part 1](https://www.redox-os.org/news/kernel-8)
- [Memory Management - part 2](https://www.redox-os.org/news/kernel-9)
\ No newline at end of file
...@@ -8,6 +8,8 @@ for language in $(grep '^\[languages\..*\]$' config.toml | cut -d '.' -f2 | cut ...@@ -8,6 +8,8 @@ for language in $(grep '^\[languages\..*\]$' config.toml | cut -d '.' -f2 | cut
do do
cp -v "content/rsoc.md" "build/content/rsoc.$language.md" cp -v "content/rsoc.md" "build/content/rsoc.$language.md"
cp -v "content/talks.md" "build/content/talks.$language.md" cp -v "content/talks.md" "build/content/talks.$language.md"
cp -v "content/rsoc-project-suggestions.md" "build/content/rsoc-project-suggestions.$language.md"
cp -v "content/rsoc-proposal-how-to.md" "build/content/rsoc-proposal-how-to.$language.md"
for file in content/news/*.md for file in content/news/*.md
do do
cp -v "$file" "build/${file%.md}.$language.md" cp -v "$file" "build/${file%.md}.$language.md"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment