Hacker News new | ask | show | jobs
by david-cako 3213 days ago
Social politics.

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.

2 comments

Rust Core team member here.

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.

[1]: https://www.rust-lang.org/en-US/conduct.html

Thanks for creating this code of conduct and helping to create an awesomer and more welcoming environment for Rust contributors.
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 the fact that buildbot (which they think is maintained by mozilla) uses "master/slave" terminology https://github.com/rust-lang/rust-buildbot/issues/2 . Mozilla gives buildbot $15k for changing it https://blog.mozilla.org/blog/2015/12/10/mozilla-open-source...

- 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 "bad code style" is offensive https://github.com/rust-lang/rust/issues/41646

- User doesn't like brotli encoding type being called "bro" https://bugzilla.mozilla.org/show_bug.cgi?id=366559#c147

- 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.

User doesn't like brotli encoding type being called "bro" https://bugzilla.mozilla.org/show_bug.cgi?id=366559#c147

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.

2) The code in question isn't Rust at all.

I mean why even bring this up given (2)?

> (perhaps it's a mozilla cultural affect?)

I didn't know that. The fact that a lead engineer is entertaining people who are upset with "brotli" being abbreviated to "bro" is honestly case in point.

1) As the person who has to drive the result through standards committees, he has to consider how it will be perceived.

2) Again, what has it got to do with Rust?!

If my giving examples of how mozilla as a company engages in social politics (the buildbot one is the best example) doesn't relate to rust, I don't know what to tell you.
> 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.

Good luck finding these types of patches in the Linux kernel dev community. There is a very specific type of culture that spawns this kind of timewasting.
You either waste a small amount of time up-front defining what's acceptable and how people should deal with each other, or you waste what's likely much more time the first time people have a major problem that could have been avoided with some sane defaults. And then you're faced with the choice to spend more time setting some sane default expectations, or you put it off until the next problem.

The real difference in why the kernel can work with that and other projects can't is the D in BDFL. What Linus says goes, so there's an ultimate arbiter (for better or worse) that can settle these problems, and set the tone. The LKML doesn't need a code of conduct because Linus is the example of conduct, which in this case is "words don't matter put up or shut up". That'f fine, as long as you're aware and okay with marginalizing the people that don't deal well with that, which can, and has happened on the LKML. But that's a choice for Linus. Rust doesn't have a BDFL, so there's no ultimate authority to define what's right or wrong for Rust and the community around it (as much as a BDFL can for something at large as a language). In that situation, a code of conduct that exists to set some sane defaults can be useful.

I don't exactly see the Linux kernel dev community as being inclusive, so that's not really an apt comparison. Nor is it a language-based community. It's a very specific set of people who are expected to follow the rules and do things in a particular manner; and for them that's okay.

For a programming language community though I don't think that's the kind of approach to take. Sure, it could work and you may get some very talented people to help, but it's also arbitrarily limiting the kinds of people who can contribute and feel welcome based on the thickness of their skin, not on their technical ability. You may consider this timewasting, but I think it's more like a clever and nuanced form or marketing. Not only do you get the benefits of including more potentially skilled people into your community, you encourage them to actually get involved with the language. It seems like a worthwhile investment to me.

> kernel dev community .. timewasting

Dude what you listed are trivialities and if you consider the throughput of Rust project the time taken must surely be negligible. I wonder what Theo or Brad think about timewasting on that other paragon of a project you mentioned.

I wouldn't hold the Linux kernel dev community as an example of...well pretty much anything really, least of all a meritocracy.
Gödel incompleteness theorem strikes.

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 https://github.com/rust-lang/rust/issues/41646

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.

These types of issues/pulls are honestly intellectually demeaning. I know you're acting in good faith, but it really feels like MK-Ultra braindrain.

Imagine approaching Linus Torvalds at a conference and telling him that you think people who choose to disobey the documented code style (which I, and most others, do not necessarily use outside of Linux kernel code) are just using "non-standard code style".

But this isn't about code style for a repo. If folks don't use the rust code style for contributing to the rust repo, sure, their pulls will be asked to fix it and not merged till they do.

But as you yourself mention, folks use different code styles in different places. This is about being clearer about that.

The better analogy here is GCC calling non-GNU style C code "bad" in all repos it is run on.

Rust as a community is much more uniform wrt code style than C is, which is why the compiler even does things like warn about nonstandard style, but that's just it -- the style is non standard, not intrinsically bad in anyway (and "nonstandard" is better at explaining what's wrong than "bad" is).

But it's true that there's nothing inherently "bad" about the code. It's just not conforming to the standard style. It seems pretty reasonable to want that to sound less menacing than "bad code", which would hint very strongly that one has something semantically incorrect.
> Nor was this really related to being inclusive or whatever, it was just about being nicer.

In what wicked world do you live where the word "bad" is considered as a "not-nice" word should not be said in order not to risk offending people ? What's next ? Replacing "error" by "potential incorrectness" ? This is 1984-like. No one should have to be afraid of words.

This has nothing to do with political correctness or offending people. We didn't think it was some horrible mean thing to have bad_style. We just wanted to improve it, to be nicer (doesn't imply it was not-nice before, but improvement can always happen), and more accurate.

Feel free to continue to call it bad style within the Rust community. Nothing 1984-like about it at all. It was a request for changing some wording, one which could have been rejected, and we would have moved on, because it was a drive-by issue that I didn't care about much.

You're ascribing a lot of intent and background to that post, intent that wasn't 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].

[1]: http://blog.rustfest.eu/this-week-in-rustfest-5-tickets-dive...

> 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.

https://ti.to/asquera-event-ug/rustfest-zurich/

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.

This is untrue.

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.

The ticket site [1] states:

> We believe in diversity and would like to provide support to people of many different backgrounds. This includes, but is not limited to people who belong to one or more of the following groups: people of color, women, nonbinary and gender non-conforming people, disabled people, people with mental health issues, and LGBTQIA+ people.

[1]: https://diversitytickets.org/events/100

Right, this is an awarded scholarship ticket (not "tickets are cheaper for you", this is "apply and you may get a free ticket+travel")

Scholarships are a pretty normal thing wrt conferences.

>...tickets for RustFest are more expensive for people who don’t belong to an underrepresented group.

Have you ever used a discount that was available only for "new customers"?

EDIT: I see that 'Manishearth pointed out that these are not discounts, but scholarships.

Founder of RustFest here.

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.

I apologise if my comment offended you, I know how much work goes into organising a conference and I appreciate your hard work.
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.