
I'm not collaborating with Kenneth Reitz - f311a
https://vorpus.org/blog/why-im-not-collaborating-with-kenneth-reitz/
======
zzzeek
SQLAlchemy author / maintainer here.

If Kenneth has been acting in bad faith within the community, that should be
brought to light and called out. That said, I can't help but think this blog
post swings that hammer _way_ too hard, and then even gets into rumors about
other unethical things he has allegedly done without any attribution. The
author goes on long enough in this manner so much so that they have to remind
the reader "please don't abuse or harass Kenneth!" That's a sign you've swung
too hard. I know Kenneth personally, as the blog post mentions, he has mental
health issues and while the article rightly points out this is no excuse, it's
not the authors place to judge how effectively or not a mental health sufferer
is capable of managing their illness.

Again i agree the incidents in question should be called out and I am glad
this author has spoken out. But as someone who also suffers from mental
illness I am concerned for the extended nature of the post.

~~~
wilfredinni
This is from the post:

Many people manage their conditions without causing this kind of harm, and
when they mess up, they make amends, just like the rest of us. If someone
can't do that, then as a community, we can have compassion but shouldn't give
them power and influence.

~~~
zzzeek
I agree totally but at the same time this post goes well beyond the realm of
calling out the behavior and into deep rumor and character assasination
territory. All of which may also be true but there is simply no need.

~~~
Nicksil
>All of which may also be true but there is simply no need.

I don't understand this logic. If all may be true, then there is absolutely a
need to alert the community of a prominent member who may be damaging that
very community.

~~~
craigsmansion
There is a need. 30.000 dollar in donations went missing. That is enough
information for anyone to stop interacting until they are accounted for.

What isn't needed is personal speculation about how a cheap laptop would
suffice, or how taxes can't be that high, or how much documentation should
cost, or etc. etc. It's all pretty much irrelevant in light of the fact that
30 grand went missing.

What definitely isn't needed is an insulting analysis of perceived wrong-doing
backed by pop-psychology. "Many people manage their conditions without causing
this kind of harm..." Yeah, and some don't.

There is a difference between "alerting the community" and writing an opinion
piece placing yourself in a victim/martyr role to underline you're really "the
good guy" here.

~~~
Nicksil
>What isn't needed is personal speculation about how a cheap laptop would
suffice

Sure it is. He stated he was going to use the proceeds to buy a laptop to work
on this project. A $5,000 dollar laptop is above and beyond what is required
to work on this project. There certainly is reason to question this.

>or how taxes can't be that high

It wasn't "that high", it was "most of it." If someone told me they received
$30,000 in donations, but $15,000.01 or more went to taxes, I'd be asking
questions.

>or how much documentation should cost

$28,000 to write documentation for the next version of this library. No, it
should NOT cost that much for the amount of work and resources necessary to
complete this particular task.

None of this is reaching; these are very necessary and prudent concerns.

~~~
craigsmansion
Why is there more reason to question the cost of the laptop specifically than
simply questioning the disappearance of $30.000?

Everything the authors states are interpretations of how the author
interpreted their interactions; they're allegations.

You don't need allegations to support an already established fact unless
you're playing to the people, that is, appealing to sentiment to win them over
to a cause.

> None of this is reaching

It isn't, but it also isn't needed to publish those personal misgivings in a
populist format. If the 30k is missing, then that's a clear indictment by
itself. There's no need to cast aspersions about how the money was used,
speculation on mental health issues, or how little other people personally
liked someone.

~~~
mcguire
Hate to jump in here...

The $30,000 was accounted for: taxes, a machine, and documentation. Perfectly
reasonable.

But...

* "Most of it" went to taxes. (Wait, what?)

* A $5000 machine. (For what?)

* Documentation? (For a version that doesn't exist yet?)

These kinds of shenanigans are why government contracts are such a mess.
Details matter.

------
Lazare
It wasn't really mentioned in the linked article, but at the start of the year
there was a lot of very heated discussion about Python, packaging, Pipenv,
what was (and wasn't) an "official" packaging tool, etc. See, for example,
this earlier discussion:
[https://news.ycombinator.com/item?id=18612590](https://news.ycombinator.com/item?id=18612590)

Obviously there are multiple sides to that debate, but I _personally_ came to
the conclusion that Reitz had behaved quite poorly there. It's interesting to
see his name come up again, here.

~~~
smnrchrds
Interestingly, Pipenv is no longer in the list of projects on his website:

[https://www.kennethreitz.org/projects](https://www.kennethreitz.org/projects)

What that means, I don't know.

~~~
loulouxiv
The hype around pipenv is gone now that more people actually tried to use it
in real life project and foubd out that it was not the storytelled solution to
all your problems

~~~
smnrchrds
Sure, but I still don't get why it is missing from the project list. The list
is not that curated. It includes Autoenv for example, a project whose Github
README [0] says,

 _" Note: you should probably use direnv instead. Simply put, it is higher
quality software. But, autoenv is still great, too. Maybe try both? :)"_

[0]
[https://github.com/kennethreitz/autoenv](https://github.com/kennethreitz/autoenv)

------
jdorfman
> His collaborators also consistently cited his bipolar disorder as an excuse
> for whatever he did. I think this is deeply unfair to Reitz, and to everyone
> struggling with mental health issues.

He's right it's completely unfair to others with bipolar disorder (can't speak
for other mental illnesses). If you take you take your medication, go to
therapy, practice CBT, and stay sober you can live a normal life. Don't get me
wrong, it's hard work and expensive.

I have no idea what Kenneth's situation is and I'm not excusing any of the
alleged behavior, I'm just asking that others not to assume automatically all
others successfully treating bipolar disorder (1 or 2) are up to no good.

------
lexpar
Reitz really does not come off looking very good here.

I was always a little suspicious of the set of libraries he maintains - the
documentation pages are so slick that I begin to wonder if this is a software
package or a lifestyle upgrade.

Anecdotally, I was at one point in an informal business relationship with
someone who has bipolar disorder and I had a very similar experience when I
attempted to formalize our procedures for collecting and recording income.
This was in a band (garage bands seemingly not that different from OSS) - so
we're talking a few hundred dollars a month going in to one person's checking
account. I thought we'd all feel better if we knew exactly how much money we
were making and how it was being spent. Had a similar set of objections from
my colleague to this kind of openness.

~~~
0815test
> I was always a little suspicious of the set of libraries he maintains - the
> documentation pages are so slick that I begin to wonder if this is a
> software package or a lifestyle upgrade.

Does that mean bad documentation is a _good_ thing? Not sure if serious...

That said, there are so many red flags in this whole story that I can't tell
why the whole thing is only being revealed today. It seems that, as the person
who was actually working on a crowdfunded feature, OP should have disclosed
the potential issues to the community as soon as he became conclusively aware
of them. Much of the damage would've been repaired a lot more smoothly, had he
done so.

~~~
dictum
I wish I could upvote the half of this comment that questions the wisdom of
seeing good docs as a bad signal, and not upvote the part about not disclosing
these issues earlier.

This same question comes up when people reveal abuse (of any kind) or other
traumatic experiences.

People need time to process some events, and when you're going through some
interpersonal trouble, you may think this (is your fault|will go away|is not a
big problem|has been solved).

------
yeukhon
Bipolar can often comorbid with another mental illness. If he has a
narcissistic trait, he could have a personality disorder. But I urge the
community to stop guessing what he has or doesn’t have. Even professionals
have hard times diagnosing their own patients. The point, as the author says,
is not to circle around mental illness. Let’s skip this part of the
discussion...

~~~
jdorfman
He has been pretty transparent with his bipolar disorder. Speaking from
experience mania drastically changes your personality.

[https://www.kennethreitz.org/essays/mentalhealtherror-an-
exc...](https://www.kennethreitz.org/essays/mentalhealtherror-an-exception-
occurred)

------
wyldfire
Reitz has responded (and subsequently removed his response).

Please un-flag this article so that HN can discuss the controversy/debate
surrounding Reitz and his accuser.

------
kevmo
Out of fairness, I urge everyone to give Kenneth a chance to respond before
judging him.

Separately: Humans do their best work when they are collaborating with one
another. I have worked in many different organizational formats, but I have
never worked in an organization where an excessively negative person did so
much good work that it was worth team destruction. When everyone else is doing
less work because of one person, you have to remove that person or you raise
risk of mission failure.

~~~
throwaway7613
(Throwaway account)

This is not an isolated mistake. There is a consistent pattern of exploitation
and toxicity from Kenneth that has been ongoing for many years.

Many people in the community have known about this and worse. This post is
courageous for finally calling it out.

It's difficult to call out a person in a position of power like himself,
especially one who obsessively engages in abusive tactics yet has an army of
people who worship him and make excuses for him.

~~~
neilv
Presumably you have good intentions, but I think it's dangerous for us to have
criticisms of one person's name come from other people who won't stand behind
it with their own names.

Perhaps there is a whistleblower exception, such as when the person being
criticized is powerful, and the whistleblower is vulnerable, but I'm not aware
that's the situation here, and whistleblowing involves an investigation (by
officials, journalists).

~~~
throwaway7613
You're comparing a hypothetical danger of society gone amok with the practical
already-experienced danger of pissing off a systemic abuser with tens of
thousands of followers. Even this very HN thread is full of people blindly
defending him.

If there is a functioning body of authority that is accepting confidential
complaints, then I will happily use my real name. I am not eager to invite
abuse just to help the HN community gain some awareness of what has been going
on for years.

~~~
neilv
Not society gone amok -- we have institutions, which might be applicable. Is
this within the purview of any of the Python organizations, open source
funding organizations, donation payment processors, government authorities,
etc.?

~~~
pseudalopex
Reitz controls the Requests project. He accepted donations through a money
transfer service that disclaims any responsibility. Smith has no grounds to
sue Reitz. Government authorities are unlikely to investigate an uninvolved
party's concerns about a possible $30,000 fraud with no known victims in their
jurisdiction.

------
asveikau
Reading the link to Reitz's description of his bipolar diagnosis it's very
hard not to see what is being described as manipulation, toxicity, narcissism,
gaslighting ... as all being rooted in that.

I understand it's tough to feel like a target of somebody's symptoms. I have
been there too. But compassion is also needed.

~~~
floatingatoll
Compassion is given.

It lays out his actions, how they are perceived by others, and why the author
feels they cannot work with him.

It does not name him evil, and in fact seems disinterested in his private
personal motivations.

Shunning someone is a compassionate response to bipolar disorder. Keeping the
reasons for shunning someone private harms others, such that “compassionate”
becomes “complicit”.

The community’s replies indicate that many chances have been given, well ahead
of when this post was published. What further compassion would you suggest is
appropriate here?

ps. It is suggested he has bipolar disorder, but replacing that with “for
personal reasons” in no way alters the content of the post.

~~~
asveikau
Sorry, my experience says shunning is a very shitty thing to do, as it re-
enforces their bad feedback loop.

I am being vague because I don't know what the right answer is. But it is
surely a compassionate one, and not one that rushes to judgement. The author
is making an attempt at this, sure.

~~~
floatingatoll
Anything will reinforce the feedback loop. That’s inherent in the disorder.
Either they voluntarily seek help, they are involuntarily committed, or they
do not seek help. You can’t pressure them. They will rationalize their
decision without any regard for the reality you perceive. Eventually, you can
only choose either to enable them or to shun them.

~~~
asveikau
I think this is very dehumanizing and assumes the worst. I guess I don't have
too huge a dataset, but I have seen it be the case that they know something is
wrong even if they're not super eager to admit it, and even if they have a
strong delusion they won't otherwise let go of. If they are on the fence about
it, shunning will tip them over in the wrong direction.

~~~
floatingatoll
It’s your right to try and act as a counselor to them, but it’s also your
right not to. If you are emotionally invested in their welfare for personal
reasons, that will absolutely skew your priorities away from shunning. So will
the sunk cost fallacy.

The hardest thing to do is to protect yourself when those circumstances are
combined, and someone is _this close_ to getting over the hump, and it’s
infinitely worse when they’re family/friend. I’m sorry you had to live through
that, no matter what you chose.

~~~
asveikau
I have done both things at different times with different people. Lately,
after some recent experiences, I err strongly on the side of letting go of
myself, abandoning any pretense, and trying to be unconditionally supportive.
I would make some attempt to do that even if I were not especially close to
the person. A lot of people tell me they don't feel comfortable extending
themselves in that way and that is fine, but I have decided it is the ideal we
should aspire to.

------
devnonymous
Just a tip (since there sometimes seem to be a pattern here to tl;dr but still
comment), please read the whole thing.

My thoughts on this: I consider myself an avid pythonista and have built my
career programming in python. Though I've only been watching the community at
the sidelines for personal reasons. I think this post took courage to call out
someone who while great at code and docs and community interaction, is a
flawed human. Kenneth seems to be more about the glam and less about the code
these days. Case in point - His attempt to influence the adoption of then half
baked pipenv as the officially endorsed tool for pkg management.

------
teddyh
_If_ all this is to be taken at face value, Kenneth Reitz should be publicly
removed from any and all projects. The reported activity (of having secret
groups to “work around” the troublesome person) is untenable. Projects should
_not_ be afraid to exclude people who are more trouble than they are worth;
feeling that one cannot ever exclude people is also known as “Geek social
fallacy #1”:

[http://www.plausiblydeniable.com/opinion/gsf.html](http://www.plausiblydeniable.com/opinion/gsf.html)

------
theon144
Why was this flagged?

~~~
RA_Fisher
We have to be neutral. /sarcasm The heavy-handed opinion of HN mods drove me
away from this community. It's not about protecting folks or creating a strong
community. Creating those requires cultivated judgement not neutrality.

------
Waterluvian
Not related to the core point of the article but why does Requests need async
support? Why can't it just be good at what it is and if you want to do asyncio
you use aiohttp or something else?

Or put differently, why does the author think that "everyone knows it's silly"
to have different libraries doing the same thing in different ways?

~~~
passive
Because Requests makes HTTP much easier to work with, which has dramatically
expanded the pool of developers who are comfortable doing that kind of work.
When we've had to add some level of concurrency to an HTTP tool, we have
serious discussions over whether to swap out Requests, or to just run multiple
instances of the tool, especially if it's a tool that only requires
concurrency sometimes. This is nothing against aiohttp or others, but Requests
is de facto standard library.

~~~
LyndsySimon
> Requests is de facto standard library.

I think a valuable discussion that could come from this is to seek to
understand why it’s “de facto” standard library instead of “de jure” standard
library.

I’ve heard it said that “the standard library is where popular packages go to
die”, and I think that’s very true. I’m very happy that Requests isn’t part of
the standard library, because that means that updates - including updates that
are extremely important to maintaining the health of the library over time -
are possible without an entirely separate release of cPython itself.

------
ris
My spidey sense has been acting all funny around requests since I realized it
has its own vendored certificate bundle...

~~~
mercer
could you elaborate?

~~~
ris
Maintaining a certificate bundle is not something to be taken lightly - it's a
central root of trust, and is something that should generally be deferred to
the system or user and easily configurable globally. As a system administrator
if there is an advisory over a certain set of root certificates, I want to be
able to address that and remove that from one or maybe two places on a system.
Not wonder about every last package that thought to award itself that
authority.

Especially the way a lot of python packages are used - as deeply nested and
possibly pinned dependencies that maybe _never_ get updated.

------
sdwa
Whoever he is, despite knowing nothing about him except his unusable pipenv,
in the time I have been using python I've somehow become aware through osmosis
that this person is not very pleasant. I can only assume that there's no smoke
without fire.

~~~
jzl
Curious about the "unusable pipenv" comment. I don't know much about it, but
been meaning to try it out due to the publicity it's been getting. Care to
elaborate?

~~~
pseudalopex
[https://chriswarrick.com/blog/2018/07/17/pipenv-promises-
a-l...](https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-
delivers-very-little/)

------
antt
I don't understand the penny pinching in this post.

My shitty laptop costs pretty close to 3k with all the mods I have on it. My
work laptop came it at over 5k. A descent desktop for a developer can cost
around $10k. My fancy dream machine is over $20k.

$30k is peanuts. That's one month's wages for a senior dev. I've seen project
that cost 50 times as much and the only delivery was a button of a different
color.

I have no idea if anything else said there is true or not and I have no
interest in looking at more drama.

~~~
Lazare
I don't think this is about the _amount_. Allegedly, Reitz:

    
    
      1) Knew about a feature a volunteer was working on
      2) Started a fundraiser for the feature
      3) Kept all the money
    

Maybe $30k is peanute, but I'd have grave concerns if I saw a colleague
stealing coins out of a tip jar at the local coffee shop, and the fact it's
only a few quarters would honestly make it worse, if anything.

Of course, like you, I have no idea if the underlying accusations are true or
not, although I _will_ note that all those archive.org links are going to be
hard to explain away. But I don't think "it was only $30k!" is a valid defence
here.

~~~
tyingq
_" Knew about a feature a volunteer was working on"_

That's not quite right. He knew about a feature being added to a separate
dependent library. Further work would be needed to leverage it. The author
wasn't promised any money.

~~~
0815test
> That's not quite right. He knew about a feature being added to a separate
> dependent library. Further work would be needed to leverage it.

Ah, but was this made clear in the crowdfunding proposal?

~~~
tyingq
It's here:
[https://web.archive.org/web/20180701201816/https://www.kenne...](https://web.archive.org/web/20180701201816/https://www.kennethreitz.org/requests3)

It is not specific as to how he planned to support async.

------
craigsmansion
> [Mental] Illness does not erase [..] their responsibility for their actions.

Except for when it does, and linking to a lifestyle article on medium as a
source to back you up doesn't really hold water.

There might be something wrong, but that's no reason for what ultimately is a
very subjective public character assassination piece, no matter how cautious
and caring the author claims to be.

------
tyingq
Personally, I'd have stuck with facts. There's quite a lot of unattributed
quotes and conjecture in this, which makes it read more like retaliation.

It does sound like the author has a legit complaint, but the embellishments
don't help.

~~~
dragonwriter
> Personally, I'd have stuck with facts. There's quite a lot of unattributed
> quotes and conjecture in this

Unattributed quotes are facts, even if they aren't easily verifiable by third
parties. But then, most facts someone observes and reports aren't easily
verifiable by uninvolved parties. And there is very little conjecture where
the factual basis isn't presented so that one can judge whether the conjecture
is warranted given the stated basis (of course, generally one must also deicde
whether or not to trust the description of facts.)

> which makes it read more like retaliation.

It doesn't read like retaliation to me at all, nor is there any apparent thing
to be retaliated for unless you accept the account itself, in which case it's
just an account of the facts and not retaliation.

~~~
tyingq
Anonymous quotes like _" he is such a fucking narcissist power broker"_ are
over the line for me. If you can't stand behind that, it's better left unsaid.

~~~
LyndsySimon
I completely agree. I feel like this quote in particular is intended as a
personal attack, and that its inclusion dilutes the _actual potentially
valuable criticism and suggestions_ to the point that they’re basically
irrelevant.

That’s a shame, because I also believe that all projects like this have room
for improvement.

~~~
0815test
> I feel like this quote in particular is intended as a personal attack

In context, it's clearly meant to hint at a purported pattern of problematic
behavior, the specific instances of which the author is unwilling to get into,
for whatever reason. While gossip is _always_ unsavory to some extent -
anonymous gossip all the more so - I think we should be respectful of the
author's choice here and not take what they wrote as being _by definition_ a
violation of civility norms (as a personal attack would be).

------
prepend
A trigger warning for gaslighting is something that makes me assume low
quality posts. I know it’s unwise to judge a book by its cover, but I’m
comfortable with discounting an API from its interface.

------
bhouston
This whole thing seems like focusing on small things and pretending they are
big. I think the guys running Requests is eccentric and weird for sure. Weird
eccentric guys will do weird and eccentric things. You have to expect that.

The amount of money is ridiculously small. It isn't worth the time to focus on
it.

It is too bad the popular library doesn't have a competent maintainer. But at
least he hasn't screwed it up.

Maybe someone should just write a replacement with better features and then we
can all move on? Sounds like the best solution to me. Probably easier to do
than dealing with him or even fighting him.

I guess I wouldn't focus on attacking this guy, it just isn't worth it. Life
is short, the stakes are small, and it just isn't worth it.

~~~
lexpar
> The amount of money is ridiculously small. It isn't worth the time to focus
> on it.

Well, it's donated money... Do you think the people who donated share this
view?

~~~
LyndsySimon
I donated a substantial amount - and I agree completely. I knew I was paying
Kenneth Reitz, and have no concern whatsoever what happens after that. I’ve
gotten several orders of magnitude more benefit from Kenneth and his work than
my donation. Hell, for that matter, I’ve gotten several orders of magnitude
more benefit than the total of all donations combined.

~~~
lozenge
"I’ve gotten several orders of magnitude more benefit from Kenneth and his
work than my donation."

But he hasn't committed code to requests in years, and I don't see any of the
other maintainers popping up to say he's doing good work as a maintainer(which
could be non-code contributions). It seems like his contribution is mostly
marketing at this point.

