Live data from Hacker News

Actix project postmortem

github.com

171–180 of 408 posts

Re: Actix project postmortem

#171
I've been using actix-web for my work for some time, contributing however I can while learning Rust and myriad other subjects. This was the third major public event involving controversial design and implementation decisions. A great number of people in the Rust community have refused to accept that not everyone subscribes to their ideology about use of unsafe. They've repeatedly tried to impose their values and priorities upon someone who has been more than capable, if not more capable, of reasoning about legitimate issues and risks and who has his own priorities. The author has not been kind towards those who challenge his decisions, and this has not helped him navigate social issues. It's not just that he struggles with English but has a very different value system and set of priorities than those who he's had to interact with. Further, these contributions weren't from neutral parties but rather a group of long-term adversaries who have taken it upon themselves to hold Nikolay accountable for having differences. They blog, they control the narrative in message forums, they basically do everything in their power to cancel Nikolay and his tremendous work, shaping the public narrative as one that suits their goals.

It took great strength to go as far as Nikolay did in spite of these challenges. I understand why he doesn't want to participate in this culture any longer. It comes at a great cost. Unfortunately, the actix projects and its author are not the only ones who have been targeted for having differences. The next example is Ferrous Systems, who have authored a new ecosystem for asynchronous development. The team has been attacked in all sorts of ways and are going to great lengths defending themselves and to help shape the public narrative. Eventually, they will tire from constantly defending their decisions. Some will lose their patience and tempers will flare. Then, an angry mob will re-emerge and do everything in its power to cancel the momentum of their work and attack the reputations of the authors.

I don't know whether this social behavior will change without the culture changing as well. It requires a respect for viewpoint diversity and acceptance of people unlike ourselves, not just in gender orientation but in opinions and values. It includes tolerating disrespect and leaving people alone rather than trying to destroy them. I doubt these social issues are unique to the Rust community. Cancel culture seems to exist in all shapes. We aren't better for it.

Re: Actix project postmortem

#172
The very normal path of growing up as a leader:

1. people are good -> trying to do something good

2. doing good -> realizing many people are not good

3. stop doing good thing, start being frustrated

4. realizing one doesn't need to let people pull oneself down -> start doing good again

5. helping others to do good things and surviving the first shock of being visible

6. $$$

Re: Actix project postmortem

#173
post #43
post #4

Asking for a friend - could someone explain what happened there? The README doc is quite vague - it is more of a personal justification than a rationale (to me).

It seems like the overarching issue is that Rust is a house of cards. They added unsafe like Java has null. My favorite part is that you can declare a crate to forbid unsafe, but that then doesn't have to hold for it's dependencies. The obvious implementation is for unsafe to be infectious like const. You have unsafe code, your crate is unsafe. You depend on an unsafe crate, your crate becomes unsafe.

> The obvious implementation is for unsafe to be infectious like const. You have unsafe code, your crate is unsafe. You depend on an unsafe crate, your crate becomes unsafe.

That would mean everything is unsafe, since every crate depends on core (or on std which depends on core), which has "unsafe" code.

The design of "unsafe" in Rust, instead, is to allow building safe abstractions on top of unsafe code (or be able to clearly mark when the abstraction itself is unsafe). That way, for instance, users of `Vec::push` do not have to worry that it uses uninitialized memory (which is unsafe).

Re: Actix project postmortem

#174
post #160

Earlier quoted context omitted.

> I'll save this link for the next time someone tries to argue that the Rust community is somehow "more welcoming" than some other X community. It's deeply disappointing to see this outcome (and r/rust is literally divided into two halves on this drama at least for now, ugh), but I believe it is the statement about the average atmosphere. Not that I have an argument for or against the refined statement, but it doesn'…

Nah, it's just the usual delusion of small-but-growing communities. The Python community was great in 2001, a bit less so these days. The Lisp community was probably great at some point in the '70s too. It's just that, with size, the likelihood of attracting undesirable elements inevitably grows until their presence simply cannot be denied. At that point, you either deploy heavy-handed moderation and get branded "unw…

Of course I don't disagree to you, I too think that that reputation is extremely hard to retain. However:

1. It seems that there are/were some language communities noted for their relatively more welcoming atmosphere. If small communities are usually great until it aren't, why don't we see many such communities? There seems to be some truth in this (albeit ultimately fragile) reputation.

2. For this reason, in order to claim that some community is no longer what it used to be, you need multiple anecdotes at the very least.

Re: Actix project postmortem

#175
post #99

"Ok... So that was unprofessional. If you don't want to maintain a project anymore, you give it to someone else and link to that repo in your README. This just screwed me over big time." https://github.com/actix/actix-web/issues/1#issuecomment-575... These kind of entitled attitude is probably exactly why the guy just removed everything. More details / discussion here: https://www.reddit.com/r/rust/comments/epszt7/ac…

It's absolutely correct that people don't have obligations simply by putting some code online. But they do have obligations when they start telling people to use their code. We understand this as humans even in realms far from open source: if I see you approaching a door, I am under no obligation to open it just because I'm physically able to, but if I open a door for you, I'd better hold it until you're finished wal…

If someone is relying on your code, that means they have their own copy of it.

You're not obligated to keep your copy online.

Re: Actix project postmortem

#176
post #35

Whatever drawbacks Actix may have had, this entitlement has gone too far. There is no defensible reason to tell someone "never write Rust again" because you don't like the code they're making available to you. We need something to remind us that we should be civil and grateful for FOSS contributions. I recently saw a talk by Atwood about good discourse and how you should remind people of your values before they write…

> how you should remind people of your values before they write their comment

That sort of thing doesn't work, even if it's shoved in people's faces. The only viable solution I've ever seen for enforcing community standards is to suspend or ban people who violate them. Otherwise, you'll always have trolls and people who want to see you fail looking to poison the well.

Re: Actix project postmortem

#177
post #43
post #4

Asking for a friend - could someone explain what happened there? The README doc is quite vague - it is more of a personal justification than a rationale (to me).

It seems like the overarching issue is that Rust is a house of cards. They added unsafe like Java has null. My favorite part is that you can declare a crate to forbid unsafe, but that then doesn't have to hold for it's dependencies. The obvious implementation is for unsafe to be infectious like const. You have unsafe code, your crate is unsafe. You depend on an unsafe crate, your crate becomes unsafe.

That would prevent you from using the stdlib.

https://doc.rust-lang.org/src/alloc/string.rs.html#1215-1230

Using unsafe doesnt necessarily mean you will have undefined behaviour, it just means you have to think really hard about the behaviour because the compiler won't have your back.

Re: Actix project postmortem

#178

Earlier quoted context omitted.

There are plenty of repository clones, that's not the issue. The issue is that people want to contribute back to the same repository so you don't have to figure out which project is the just up to date. When a project like this goes away, it takes some time for everyone to figure out which fork is actually being maintained properly. The best course of action, IMO, is to state that you're stepping away, perhaps indefi…

The Linux kernel has no central repository, they use email & stuff. I believe that is what the author of Git intended.

> The Linux kernel has no central repository

It does have a central repository, it's this one: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

Re: Actix project postmortem

#179
post #150
post #144

Earlier quoted context omitted.

When you hold the door open for somebody you don't sign shit, yet it's implicit that you don't swing the door in their face.

But you don't hold a door: you are dropping a package on the street and letting people pick it up. Anyone can reuse the cardboard, paint it red, stack it up with other packages, or hang it on their livingroom walls... but there is no guarantee that the package won't contain a bomb, that the cardboard was made by eco-friendly methods, or that it will last one second after getting dropped on the streets.

Yes and pushing the archive button is saying "I won't produce any more packages sorry."

What they did was climb through everyones window to get the cardboard box back, just as with the npm leftpad incident.

Stop painting the narative like people demand some volunteer to do more free work, when all they do is ask to not be actively sabotaged.

Re: Actix project postmortem

#180
post #40

Earlier quoted context omitted.

That's not true at all. You can pay for amateur bullshit, and you can get professional software and support for free (and free as in freedom).

My Ethernet is stuck in ipv6, professionally tell me how to fix it, for free.

I actually did that for years in a linux forum.
Post reply on HN