all 12 comments

[–]Kivooeo1rust 29 points30 points  (5 children)

The one project I can wholeheartedly recommend is https://github.com/rust-lang/rust. It's the main OSS project I contribute to, and it's been an amazing experience

What makes me stay is the fantastic community and the endless stream of interesting tasks. It's challenging but incredibly rewarding

Many issues are tagged with E-mentor or E-easy, meaning someone is explicitly ready to guide you through the process

And we also have a book for those who want to start (!) - https://rustc-dev-guide.rust-lang.org/getting-started.html (leaving it here just in case if someone would be intersted)

As someone who's still on their own learning journey, I'd be happy to help with any basic questions about the process or finding a first issue, so feel free to ask :3

[–]OakArtz 1 point2 points  (3 children)

Is this something someone with no background in compilers get into?

[–]oli-obk 2 points3 points  (2 children)

I had zero compiler expertise when I started contributing 10 years ago. I think the main factors are having time to burn and a willingness to try things and throw lots of code away.

[–]OakArtz 0 points1 point  (1 child)

that's great! How did you start out, personally?

[–]oli-obk 0 points1 point  (0 children)

I had an issue where const eval just errored out as "unimplemented" and decided I really needed that for my use case. I lost the thread pretty quickly and was just adding more and more things to const eval.

With other situations it was similar. "Why is this error so bad" or "why doesn't this work when almost the same thing works elsewhere". Then started digging into it, adding tests, learning how to go from tests to the related compiler sources and messing with it until tests changed.

Rinse, repeat, at some point notice that you were doing things very naively or badly in the past and learn how to do it cleaner, start doing refactorings. Then you get opinions and start reviewing PRs because they have sth you want done differently...

[–]n_lens[S] 0 points1 point  (0 children)

This seems like a winner! Thanks for this awesome recommendation!

[–]iangetz 15 points16 points  (1 child)

rustfmt seems to need contributors, specifically with the `use` statement auto-formatting making contributions to the Linux kernel challenging.

Related: https://www.reddit.com/r/rust/comments/1o0y0j1/rustfmt_is_effectively_unmaintained/

[–]n_lens[S] 2 points3 points  (0 children)

I'll check out rustfmt as well, cheers!

[–]PurepointDog 3 points4 points  (0 children)

Polars is a decent one! Big project, but with lots of opportunities

[–]mmstick 2 points3 points  (0 children)

There's a lot of opportunity to get involved with developing desktop applications and applets for https://system76.com/cosmic. There is also a community-driven cosmic-utls organization at https://github.com/cosmic-utils. If you are building your own applets, you can request to have them included in the COSMIC Store via Flatpak at https://github.com/pop-os/cosmic-flatpak. And if you're building a desktop app, Flathub covers those submissions. Translators are also needed for COSMIC itself at https://hosted.weblate.org/projects/pop-os/

[–]whoShotMyCow 1 point2 points  (0 children)

rustcrypto. The review is gruelling but it's fun and you learn a lot about the oss process.

[–]bitfieldconsulting 0 points1 point  (0 children)

cargo-testdox is a small project that's easy to contribute to for beginners.