diff --git a/content/community.en.md b/content/community.en.md index aad946fb525d7816bc715ed28959a6f201084d6a..3e98e23f17764b7f2d9f110a54d6a7de38fb03e2 100644 --- a/content/community.en.md +++ b/content/community.en.md @@ -3,12 +3,13 @@ title = "Community" +++ 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. -## [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) @@ -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. +## [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) 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. diff --git a/content/rsoc-project-suggestions.md b/content/rsoc-project-suggestions.md new file mode 100644 index 0000000000000000000000000000000000000000..7c72838a00c80ece50ad3aee34201d52fe395e4f --- /dev/null +++ b/content/rsoc-project-suggestions.md @@ -0,0 +1,41 @@ ++++ +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. diff --git a/content/rsoc-proposal-how-to.md b/content/rsoc-proposal-how-to.md new file mode 100644 index 0000000000000000000000000000000000000000..bdba25f07e3e947418a26ae78f8bd95c0107ea7b --- /dev/null +++ b/content/rsoc-proposal-how-to.md @@ -0,0 +1,120 @@ ++++ +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 diff --git a/content/rsoc.fr.md b/content/rsoc.fr.md deleted file mode 100644 index 9f13c2fc64c659ec8e77de60a9531c08bdf60376..0000000000000000000000000000000000000000 --- a/content/rsoc.fr.md +++ /dev/null @@ -1,53 +0,0 @@ -+++ -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/) diff --git a/content/rsoc.en.md b/content/rsoc.md similarity index 76% rename from content/rsoc.en.md rename to content/rsoc.md index 3b6870a628c8993dfcf18f47017fdfcb16f34326..b4783c10aecba146a4f143671f4ad1a720e4175d 100644 --- a/content/rsoc.en.md +++ b/content/rsoc.md @@ -2,12 +2,22 @@ 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 -project. Students are selected who have already demonstrated a desire and +The Redox OS Summer of Code program is the primary use of donations to the Redox OS +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 -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 @@ -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/) - [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/) +- [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 diff --git a/hugo.sh b/hugo.sh index f8de391dbf355cf2dec6f99456a4079e2eade79f..91173218d7c37cb1629b9576cc4c34bf4b8c5901 100755 --- a/hugo.sh +++ b/hugo.sh @@ -8,6 +8,8 @@ for language in $(grep '^\[languages\..*\]$' config.toml | cut -d '.' -f2 | cut do cp -v "content/rsoc.md" "build/content/rsoc.$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 do cp -v "$file" "build/${file%.md}.$language.md"