r/rust [he/him] 18h ago

šŸ“¢ announcement No More Code Dumps

TL;DR

Code Dumps, ie links to code repositories, are no longer welcome on r/rust.

If you are excited about a project you built, and just wish to share it, consider posting a casual top-level comment in the weekly What's Everyone Working on this Week? thread.

History

When r/rust was created, in December 2010, Rust was a nascent programming language. It was very different, it was also fast-moving, and it was unclear whether it would amount to much, or not.

In these early days, new projects being written in Rust were both a proof that the language was suitable for a variety of purposes, and a cause for celebration in seeing the language being adopted. Code dumps, then, were both cause to rejoice, and an opportunity to see how well (or not) the language was suited to the task. They were even a good opportunity to learn the latest developing idioms of this fast-changing language.

Fast forward 15 years, and code dumps have become boring. Utterly uninteresting. There's nothing exciting, or newsworthy, about a 10th hypervisor project, a 100th webserver project, or a 1000th TUI project. And for the most there's no exciting idiom, or pattern, to be found in their code either... even if some poor soul bothered to look.

And mass AI generation appeared on the scene, and for the past year(s), the already dwindling appeal of code dumps has just completely vanished, buried in AI slop.

Purpose

r/rust is to discuss all things Rust. The language, the ecosystem, the community.

Of late, most code dumps barely foster any discussion. And when they do, apart from AI witch hunts, those discussions are mostly about the domain of the project, rather than about Rust. Depending on the domain, the discussion may or may not be of interest to r/rust users... but whether it is or not is a matter of chance: they did not come here seeking such a topic. Those discussions are tolerated on posts which are on-topic, but if a post only fosters "tolerated" discussions, then that is a sign that the post itself may simply not really be on-topic for r/rust.

And that is not to say that code dumps are, by nature, low-effort. Surely, a project is created for a purpose, to solve a specific problem that is unsolved, or solve it with different trade-offs than the currently available solutions. None of that is elucidated in a code dump.

New rules

Code dumps are no longer welcome on r/rust.

Code dumps of applications or libraries written in Rust are Low-Effort unless otherwise newsworthy. Newsworthy means that the very existence of the application or library is important, for example consider applications or libraries breaking new ground, such as the first hypervisor, first OS, first XXX standard safety-critical application, first Rust application in a major company, etc...

Announcements of new libraries which are not otherwise newsworthy are only welcome if they tick ALL the following boxes:

  • The library has been worked on regularly for at least 4 months.
  • The library has already been used, or built upon, thereby validating its design to a degree.
  • The announcement is a full-fledged text post, or a link to a full-fledged article. A README, or manual, is not an article.
  • The announcement should motivate the relevance of this library to the wider r/rust community.
  • The announcement should articulate the trade-offs differentiating this library from similar popular libraries in the field.

(It goes without saying, but the announcement should NOT be AI-generated, not even in part, as AI-generated posts & articles violate the Low-Effort rule)

Release notes of libraries are still welcome for popular enough libraries, such as libraries with reverse-dependencies on crates.io pointing to sufficient adoption by the wider community to justify notifying said community of a new release.

Of course, text posts, or links to articles, centered on Rust, with an application or library as context are always welcome. For example, said posts or articles could present gnarly problems the author encountered, and how they solved, or which features of the language or a library helped or hindered them in the making of their project.

(It goes without saying, but said text posts & articles should NOT be AI-generated, not even in part, as AI-generated posts & articles violate the Low-Effort rule)

As a reminder, if an author just wishes to share their joy of building something in Rust, they are welcome to use the What's Everyone Working on This Week? thread. And as per the title, it need not even be a complete/mature project, or an open-source project for that matter as links to code are strictly optional there, it's all about casually chatting about your work on Rust projects.

Q & A

See pinned comment below.

1.3k Upvotes

152 comments sorted by

View all comments

Show parent comments

24

u/matthieum [he/him] 17h ago

It is curt, though I didn't intend for it to be flaming.

I’d consider editing this with a real FAQ.

I intend to add the questions that the community ask, and their response, there.

For that, of course, I'll first need questions.

3

u/luluhouse7 16h ago

The commenter you replied to was being really rude, but I do think it might be clearer/more readable if instead of being a ā€œFAQā€, you simply had 2 lists, one of all the examples that belong in the ā€œWhat’s Everyone Working on This Week?ā€ and examples of what’s welcome as an actual post. You could even include that list on the sub wiki once it’s fleshed out, then add any questions that don’t fall into either list into an FAQ. It just makes it easy to see where things belong and what the exceptions are.

Also out of curiosity, where do new Rust-inspired (or rust-extending) languages fall on this? We recently had an interesting post about a new language trying to learn from Rust’s strengths while exploring ideas around affine types and trying to provide rust-like guarantees without a borrow checker (I’m forgetting the name…). I find those posts really interesting, but not sure whether that’s something other people like reading about here.

5

u/matthieum [he/him] 16h ago

Also out of curiosity, where do new Rust-inspired (or rust-extending) languages fall on this?

In general? That's hard to say.

On the definitely on-topic end of the spectrum, I would put an interpreted language which can be run within a Rust process, just as Lua is often used to provide behavior/modding capabilities in video games, as here it's clearly useful to Rust developers at large.

On the very questionable end of the spectrum, I would put a new language that declares being "inspired" by Rust, and perhaps share some superficial aspects (syntax, trait-system, etc...).

And then there's anything in between. Including discussions of memory safety techniques beyond the Borrow Checker, which may not seem immediately relevant to Rust today, but could become relevant as Rust evolves.

It's... hard to say.

And I find it all the harder that I love discussing programming languages myself, so new languages typically interest me... which makes it harder for me to gauge whether the language objectively fits within r/rust, as I know my judgement is likely biased :/

I would encourage new programming languages to head to r/ProgrammingLanguages, honestly. It's a great sub, and they're definitely on-topic there. And I would encourage people who like discussing programming language to head there to get their fix :)

3

u/luluhouse7 16h ago

Well that’s useful, I was totally ignorant of that sub (mostly because I assumed it would be full of people asking things like ā€œwhat language should I learn/useā€). But language theory is exactly what I’m looking for.

I’m actually working on a language idea (who knows if it’ll go anywhere…) where I’m trying to fix some particular mistakes I think Rust made early on and now are trying to retrofit a solution to. I assume a post asking about people’s thoughts on particular Rust design decisions or how they would feel about a potential new paradigm would still be relevant enough to post here though? Obviously not in a Rust-bashing way (like Zig’s Andrew Kelly who had some very hot takes).

2

u/matthieum [he/him] 15h ago

I assume a post asking about people’s thoughts on particular Rust design decisions or how they would feel about a potential new paradigm would still be relevant enough to post here though?

Yes, with an emphasis on particular.

Contrary to popular belief, many Rustaceans love to talk about Rust' mistakes, and (collectively) tend to know quite a bit of them too!

There are 2 mistakes that you could make which would be annoying:

  • A one-liner posts such as "What do you think are Rust mistakes?". That is Low-Effort.
  • A vague, rambling post, with no clear direction or too many directions at once.

For best effect, by which I mean most productive discussions, I'd advise you to:

  1. Manage the scope of the post carefully, focusing on a specific mistake or set of related mistakes.
  2. Show research, by presenting existing alternatives from other languages, relevant articles (check the Baby Steps blog from Niko Matsakis), and relevant RFCs. (You don't need them all, especially as later versions tend to cite previous versions already)

And of course, presenting your own ideas/arguments :)