From asking around (totally unscientific, but I've been asking this question for a while now), it seems like most folks develop for stable but use nightly for incremental compilation, RLS, and/or clippy. The first two are on the path to stable in the next few releases, and the last one is starting to go in that direction too, but will take longer.
Yes, this is exactly how we do it: Our build systems all run stable, but developers use nightly for RLS and clippy.
We did have one developer who was excited about using Rocket (which he said was much better than the other Rust web frameworks he had tried), but we decided that the grief of building production code on unstable wasn't worth it.
(We're also holding off on directly using futures in any major way until the developer ergonomics and especially error messages get better.)
Core/Community team that helped design the survey here.
We actually did ask about this, but unfortunately it's quite time consuming to process through all the free text entry like this one. Some of the popular things people want from nightly are Clippy, impl traits, RLS, SIMD, and compiler plugins, which isn't surprising. It'll take some time to dig through the rest of the comments to see if there is anything unexpected.
I'm hoping to do follow on posts as we go, but no promises :)
Among other things, embedded support; if you want to compile out the standard library, no_std effectively requires nightly right now. Many embedded developers are stuck on nightly for that reason.
I've seen some proposed solutions in progress for that, at the moment, such as standardizing panic_fmt (needed to write no_std applications).
It works very well for embedded; the only problem is that to build a complete OS-style image, you tend to need nightly, either for no_std or to build your own std/core for the target platform.
The requirement of a nightly compiler for many of my projects has been my biggest problem with Rust for both surveys so far. I recently made an issue for my largest Rust project, Ruma, that enumerates all the things we're waiting on from the nightly compiler, as well as other library/ecosystem maturity issues. Just in case anyone is curious what some specific problems are for a real project: https://github.com/ruma/ruma/issues/189
Just odd socially-charged community management and documentation. I get a strong impression that the lead contributors (perhaps it's a mozilla cultural affect?) are very interested in pushing their equality agenda. Not that I don't subscribe to it in theory, it's just very tacky to me.
Our code of conduct [1] has been the fundamental cornerstone of our project and community since the beginning. Every large institution ends up having to choose explicitly or implicitly how they deal with conflict. We wanted to put our beliefs up front to enable people to choose if they want to participate with us, or not.
When you boil it down, it's really "don't be a jerk". It doesn't seem to be that big of an ask that people don't harass each other, and for people to understand that everyone's situation is different. A lot of people have been discouraged from participating in tech, from active things like aggressive or rude language and sexualized imagery, to passive things like not providing for child care or mothers rooms at conferences. These are all things that are pretty simple to manage if you're aware of it.
It's our belief that not only is this just the right thing to do, it's our best strategy of growing our community. I don't have any proof, but I do attribute our welcoming community to why we have 1,856 contributors to just our compiler.
Got any examples where you think this shines through from the docs? Never noticed it.
(I could easily imagine it in the community management so I'll take your word for that, but I've only really interacted with the IRC channels where this wasn't an issue)
- User doesn't like that dining philosophers is cited with some male and/or gender-neutral pronouns and placeholders (even though the original exposition was already changed to female pronouns) -- proceeds to change the rest of the pronouns to female (I guess gender-neutral didn't make sense) https://github.com/rust-lang/rust/pull/25640
- User thinks that the code of conduct is too general in its suggestions that all people be respected and treated fairly -- it needs to explicitly cite certain groups https://github.com/rust-lang/rust-www/issues/268
This stuff is absolutely ridiculous. Write a code of conduct, make sure everyone is respected, and make that the end of it. Changing documentation to gender-neutral pronouns is something I can actually get behind -- nevertheless, that's still not fair apparently.
1) "User" is the principal engineer of most of Gecko's network stack and pointing out that using that name will lead to complaints during the standardization.
> Write a code of conduct, make sure everyone is respected, and make that the end of it.
But that's exactly what all of your examples are. In each situation the decision and action was to make things as neutral and inclusive as possible. That there are people in any given community which want things to be taken in a different direction (any direction, social or otherwise) seems like a pretty natural thing.
Rust goes to great lengths to keep everyone happy, but ends up putting off people like you, who don't like projects going to great lengths to keep everyone happy :)
There was a GitHub issue that I recently saw where there was some bike shedding about rustfmt changing the option name "bad-syntax" (or something like that) to something less "judgemental". The reasoning being that you may have a particular coding style that differs from what rustfmt thinks is correct, and is thus "bad" (with bad being defined as giving bad input into a program). I'll try to hunt down the exact URL for the issue...
While the example isn't within official documentation, it does demonstrate the lead Rust devs placing a lot of importance on social politics, and tip-toeing around such politically sensitive topics as coding style.
Again, as the OP stated, nothing in how the Rust development community handles itself can be stated as bad. They go out of their way to be inclusive to everyone, and I think that's admirable. The way they go about it, at least from the example I found, is a bit tacky. There are more important things to bikeshed about than the name of a simple option, and in doing so it can come across as a bit tacky. But what do I know, perhaps I'm the real problem here!
It was about changing the name of a lint from "bad-style" to "non-standard-style".
I still don't understand what this change has anything to do with social politics. Nor was this really related to being inclusive or whatever, it was just about being nicer.
Sure, there are more important things to do. But that's true for just about any bikeshed, that's pretty much a prerequisite for a discussion to be a bikeshed.
> While the example isn't within official documentation, it does demonstrate the lead Rust devs placing a lot of importance on social politics, and tip-toeing around such politically sensitive topics as coding style.
That's a major extrapolation. I'm not a lead rust dev (I do have commit/r+, I guess that can count). I drive-by filed an issue during a conference talk that I thought would be a small improvement that would be nicer to newbies and also just more accurate ("bad style" doesn't actually convey anything, why is it bad?). Various rust devs posted opinions and thoughts there.
Nobody was tiptoeing or anything. You're grossly misrepresenting what happened there.
Not from the docs, but a pretty clear community example is that tickets for RustFest are more expensive for people who don’t belong to an underrepresented group.
Edit: replaced “minority” with “underrepresented group”, as that is the language used on the website [1].
> Not from the docs, but a pretty clear community example is that tickets for RustFest are more expensive for people who don’t belong to a minority.
Having just looked this up because I wasn't aware of it, I wouldn't classify that statement as true. They allow/ask for donations to help people from diverse locations attend.
NOTE: THIS IS NOT A CONFERENCE TICKET. Support us bringing the opportunity to attend RustFest to more people around the globe who otherwise couldn't afford it. Anything you offer here will go into our diversity pool with the sole purpose of helping people from underrepresented groups attend RustFest.
That doesn't mean minorities necessarily, and even if it did, it doesn't mean everyone in that group gets a cheaper ticket. From the first sentence though, it seems obvious they are trying to get diverse nationalities, not necessarily diverse ethnicity from the hosting country.
RustFest sponsors folks who couldn't otherwise attend with tickets (and sometimes travel and other things, I forget the details). This includes students (IIRC)
They also have tickets on the site which you can buy to add money to the sponsorship pool.
First of all: RustFest is unaffiliated with Rust, the project. We are in touch, but we run our own ship. I _am_ member of the Rust community team, but my function within RustFest is not that one. Currently, I am the only person in the team with _any_ capacity within Rust, the project.
Most applications for this program are from places that the Rust community currently does not cover with conferences, which has a value to the wider community (spread). It is the express goal of this program to speak to people we would otherwise not reach. We had great success with our outreach program and it's meeting it's intended goal (having a more fun crowd around). We constantly tune it. We've been working and improving this program since around 10 conferences (I ran eurucamp and JRubyConf.EU before and are in close contact with other conferences running such stuff). Almost all people buying a ticket fund these things by either buying a supporter ticket (at 200EUR) or a small donation. They approve.
So, this may be "social politics", I'm very upfront about this, but this is not "we throw something at the wall and see if it sticks". No, we do it precisely because it is a working driver to growing a community. We have a stated goal: a more diverse community many people feel welcome to. We measure, we improve. Just 1.3% of respondents of this survey said they feel "not welcome", I consider that a smashing success. That's around 1/30th of the people that don't use Rust.
Yes, we give out scholarships to people that could or would otherwise not attend the conference. This is according to multiple factors, ranging from being unemployed to being a person from a marginalised group.
I also find it telling that you single this statement out, but for example pass on our wide commitment for accessibility http://zurich.rustfest.eu/accessibility/, which is much more extensive than what most other conferences provide. Also something we've been working on since _years_ and constantly improved. It attracts people. A great many conferences are very sub-standard here.
We do, by the way, also have a travel stipend for people that contributed to the current Rust quality push: http://blog.rustfest.eu/libz-blitz
Note that RustFest is a fully produced 2 days conference at a price point of 100 Euro or 50 Euro for Students which pays _all speakers full travel_ and is able to pay support for people in need. Running all 6 months. That's _dirt cheap_ if you consider we have to pay all bills and no one is giving us stuff for free. We are a sustainable business, if you want to consider it such.
In the end, I want to state clearly: sales and invites to our conference are at our own discretion, that's why we run them. It's the privilege of our work, we're not cogs silently turning a stage.
Unlike docs those conferences are totally optional when using the language. Which is why I asked for doc examples specifically, as that was OP's claim.