Hacker News new | past | comments | ask | show | jobs | submit login
[flagged] I'm not collaborating with Kenneth Reitz (vorpus.org)
269 points by f311a 9 months ago | hide | past | web | favorite | 122 comments

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.

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.

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.

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

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.

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

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.

Hate to jump in here...

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


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

"no need" to get into hearsay, deep character analysis, pleas to please not target this person for harassment since I am being so extensive in my criticism of this person, etc, e.g. what I just wrote above, it should be clear, trust your facts to speak for themselves a little more than you are giving them credit

Based on my reading of many related sorts of threads like this, the problem with trusting the facts to speak for themselves is that people don't read the facts before responding ... as you can see even from this thread.

In practice you do need to provide interpretation of the larger context, otherwise someone else will do it.

Also, if you don't make a plea to not target a person, then you'll be accused of trying to incite others to target that person.

In short, I strongly disagree with your position.

So you think character critiques should include hearsay and rumor in order to make a complete case? I am totally fine with contextual interpretation.

Those were not the points I addressed.

Your terms "hearsay and rumor" appear deliberately chosen to color the more generic phrase "anonymous" or "third-party". As such, I cannot answer your question as I disagree with the characterization.

The way I see it, everyone requires some degree of empathy and consideration in order to build a productive relationship. The considerations made in interacting with Kenneth may be different from those made when interacting with others, but the principle is the same in my opinion.

I’ll also say that I consider Kenneth to be a true friend, and that those considerations are more than worth it. He’s an extremely gifted developer - and more importantly, a truly good person.

Thanks for keeping this issue in balance.

Oh, and your awesome work on SQLAlchemy.

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

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.

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


What that means, I don't know.

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

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

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

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.

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

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

It sounds like Smith gave Reitz the benefit of the doubt until he stopped responding and deleted the fundraising page. When should he have come forward?

>OP should have disclosed the potential issues to the community as soon as he became conclusively aware of them.

Sure, but that's ideal. In practice, humans frequently delay or completely forgo sounding the alarm when there's a problem. Having not raised concerns immediately isn't out of the ordinary; for myriad of reasons, it occurs everyday.

So instead of rebuking the author, consider _why_ it wasn't immediately brought to the community's attention (or maybe it was, but not to the degree we see here)

> a software package or a lifestyle upgrade.

I'm unclear what you mean by this. Could you clarify?

I meant there's an "infomercial" tone to a lot of the docs, (claiming the other ways are broken, a list of testimonials, etc).

I think it's a bit odd. I wasn't trying to say that good documentation makes me suspicious, but this very heavy handed advertising up front does.

I know it's partly a joke, but it's not just one ore two lines.

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

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


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.

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.

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

There is a similar dynamic originating from outspoken members of the "Context-Driven Testing" community. There are ways to deal with this behaviour, but unfortunately communities tend to close ranks around toxic leaders, exposing newcomers to harm exactly as described in the article. Insiders are aware of how to protect themselves, but fail to signal problematic behaviour to outsiders.

For those interested in understanding this better, I urge you to read "Narcissists and Blood Bags" by Marlena Compton and Valerie Aurora: https://medium.com/@marlenac/the-blood-bag-co-narcissists-an...

The blogpost series you link is actually quite good overall, however the whole "social justice in tech" framing the authors are taking is unhelpful in the extreme wrt. this issue, to the point of being reckless and perhaps actively dangerous. It seems to flow out of a sort of fallacy of composition, wherein it is assumed that every single instance of individual abusive behavior will be flowing along commonly-acknowledged "structural oppression" lines, almost as a matter of logical necessity. Not so!

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

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.

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

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.

Whistleblowing does not always involve an investigation, by officials or journalists or anyone else.

As an example, here's a quote from https://en.wikipedia.org/wiki/Whistleblower : "Most whistleblowers are internal whistleblowers, who report misconduct on a fellow employee or superior within their company through anonymous reporting mechanisms often called hotlines."

That is, 1) no investigation, 2) anonymous, 3) internal.

It's certainly dangerous if all the accusers are anonymous. However, in this case there are two who are not anonymous. How many are needed?

If we're talking about dangerous in general (not in this specific case), then anonymous accounts might be sockpuppets.

And, indeed, we are seeing that very prominently in the last few years, in US/world news, as part of a major and unresolved threat.

This general situation is one reason to adopt some practices. Getting practice with practices is good practice.

Are you implying that throwaway7613 is a sockpuppet?

While certainly a possibility, best practices in whistleblowing specifically reject always ignoring anonymous comments.

I'm sorry I failed to be clear that I wasn't questioning in this specific case, but am referring to general practices that I suggest are good to observe by default. I think we have evidence elsewhere that such practices are needed in public discourse right now.

That said, I understand that this specific case is complicated, iff someone feels intimidated, and iff and there is no authority to whom to appeal, so maybe it's an exception to general best practices.

Okay, I understand now that you were not making that implication. Thanks for cleaning that up.

Since general practices explicitly allow anonymous complaints for whistleblowing, including for anonymous complaints in public fora, I don't see how your appeal to general best practices affects anything - this already is part of general best practices.

Perhaps you could describe what practices you are thinking of?

Looks like he responded:

"FYI, Requests3 will be shipping with its own low-level http library, and isn't going to be using urllib3.

@_tomchristie & I are hard at work on the parts, and all (upcoming) donations are going to be split between him & I. We aren't actively seeking out any donations, though."


He actually responded on his blog: http://journal.kennethreitz.org/entry/conspiracy

Some of the statements are pretty hard to believe (nobody wants to work on the future of one the most popular Python libraries ever? Uh... more likely nobody wants to sit in a (virtual) room with him, now they’ve effectively managed to remove him from Requests 2...). And it confirms the 30k have been spent, with Requests 3 still not appearing even in half-done status.

Whoo. That's a rather aggressive response.

"I appear to be the target of a personal character attack piece, that's been making it's rounds on social media today, expertly timed to ruin my weekend at PyCon US 2019.

"I got nothing but strange signals from njs since I first interacted with him, which is why I didn't answer his threatening-sounding emails. What was the threat I was perceving? That he'd do basically do exactly this."

> you have to remove that person or you raise risk of mission failure.

it isn't the only option, and actual malice is quite rare. sometimes all it takes is a frank and honest conversation, and maybe some mentorship. it's far too easy not to see the impact of your behaviour or words, especially if communication is mostly remote and you don't get a real chance to read people.

while it is harder to teach soft skills than a new technical skill, it isn't impossible to help a person grow. hopefully, this proves to be such a situation, or is simply a honest mistake.

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.

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.

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.

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.

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.

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.

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.

Someone very close to me has been diagnosed with a similar condition. I have a world of sympathy and compassion for people going through that sort of challenge. However...she would be the first to agree that a diagnosis is not an excuse, and that you have to own your own actions.

A bipolar diagnosis can explain toxic behaviour, but it does not excuse it.

> A bipolar diagnosis can explain toxic behaviour, but it does not excuse it.

Context aside, this is a good maxim and a good thing to keep in mind when dealing with others.

Moreover, I would argue that it’s not just about dealing with mental illness, but about dealing with people in general - it encapsulates the concept of empathy as it applies to interpersonal relations. You can attempt to analyze the motivations for someone’s behavior without implicitly applying a judgement to them, for the purpose of being able to more effectively work with them in the future toward mutual beneficial goals.

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

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.

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”:


Why was this flagged?

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.

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?

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.

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

"Hey guys, I think we'd get a lot of benefit switching our large application to be async"

"But that would require us to port to a different http library - do you have any idea how many places we do intricate things with requests all over the place?"


"Ok, let's test it out switching requests to its async mode..."

You really should always abstract IO interfaces but yeah I see your point. I'm not convinced it's going to help a whole lot though.

Async is a whole different paradigm. You can't just "turn it on" in a library without significantly affecting how one interfaces with it.

> You really should always abstract IO interfaces

I'd be very careful with the word always there. I've worked in projects where almost every external library we used someone felt they had to build a "wrapper" class or two around. When you're doing that you realize the reality of the situation is that most developers are totally shit at designing APIs, and instead of using the library's probably-quite-well-thought-out & flexible API (after all, that's likely why it became popular enough to come to your attention), you've got to spend your life using this - for lack of a better term - gimped up abortion of an interface. Which typically doesn't even succeed in the purported task of giving you library independence so long as it doesn't sanitize all of its possible return values and catch & re-throw custom exceptions. Be wary of this hole.

But yes, I did try and specifically mention intricate use of requests to try and leapfrog that conclusion.

Agreed, I’ve found aiohttp works wonderfully as both client and server.

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

"Requests uses certificates from the package certifi. This allows for users to update their trusted certificates without changing the version of Requests.

Before version 2.16, Requests bundled a set of root CAs that it trusted, sourced from the Mozilla trust store. The certificates were only updated once for each Requests version. When certifi was not installed, this led to extremely out-of-date certificate bundles when using significantly older versions of Requests.

For the sake of security we recommend upgrading certifi frequently!"

It isn't completely clear but it sounds like they (used to) copy the Mozilla Trust Store wholesale, which isn't a particularly controversial policy. They might be one of the more open stores.

could you elaborate?

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.

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.

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?

I would argue that says more about the people speaking out in “opposition” than it does about who he really is.

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.

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.

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

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

It's here: https://web.archive.org/web/20180701201816/https://www.kenne...

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

The tone of the article was very much about the 5k being a ridiculous expense. I find that very odd.

If you're a volunteer and expect to be paid make it clear before hand. If you've written open source code and someone takes it without paying for it ... that's the whole point of open source. If someone tells you to work for them without compensation tell them to take a hike.

At any rate, drama like this is why I don't work on open source any more. Too many people with too much time and too many issues.

> The tone of the article was very much about the 5k being a ridiculous expense.

I did not detect that tone at all. Rather, I interpreted it as surprise that Reitz spent $5k of a fundraiser very explicitly earmarked as being "to support Request 3.0 development" on a computer, when a new computer is not obviously something you need to develop Requests 3.0.

I also didn't get the feeling that the author expected to be paid (in fact, he seems quite clear that he did not).

Would paying him to work on it not be part of supporting Request 3.0 development? Unless he specifically said it was only going to operating costs or other people, I'd assume that at least a good part of a donation toward him would be for a salary for himself.

Sure, but the problem there (as the linked article discusses) is that he didn't say that's what he was doing.

$30k isn't a huge sum, but you still need some transparency and accounting. A line item saying "it all went to me, to reimburse me for all the work I'm doing on the project" is fine, but you still need the line item so people can evaluate it.

Unless he had said otherwise, I'd think "it all went to me" is the default for the entirety of funds sent to him on a donation page on his own site with his name on it. Maybe he could have been more explicit that it was a salary for him to spend time on Requests, not some team, but that doesn't seem like something to demonize him over.

The article does raise some good concerns of whether he claimed on the donation page to work on things he wasn't personally going to do. I just think a few of the article's angles are pretty flawed and uncharitable.

This is why I do not work on open source projects any more. Entitled know nothings who demand that everyone live on $5 a day in a dilapidated share house because they do.

I've had people stalk me, much like this post, and demand I give a line item breakdown of where the expenses are going.

This is a huge problem for the ecosystem since we are being left with the no-hopers who are unemployable for a reason. And the corporate funded developers who have a huge conflict of interest.

> $30k is peanuts. That's one month's wages for a senior dev.

Only in very unusual places in the world, with unusual employers.

> My shitty laptop costs pretty close to 3k with all the mods I have on it.

If it's "shitty" and cost almost $3k, you were either taken for a ride or have unrealistic expectations.

> My work laptop came it at over 5k. A descent desktop for a developer can cost around $10k.

What kind of work and developer are we talking about? The only ones with computers near this cost I've met usually called themselves "Engineers" and were doing fluid modelling/finite element analysis. Or realtime video processing.

I think $360k a year in wages (so not counting equity) is definitely on the high side of things.

>If it's "shitty" and cost almost $3k, you were either taken for a ride or have unrealistic expectations.

16 gb ram, i7, 1tb ssd, 2tb hd. It's also 5 years old, but I'm just too used to the bloody thing to get rid of it. That developer laptops are basically mass market machines is the reason why so much software sucks and why nothing new is being pushed out.

>What kind of work and developer are we talking about? The only ones with computers near this cost I've met usually called themselves "Engineers" and were doing fluid modelling/finite element analysis. Or realtime video processing.

My title does have engineer and principal in it, the other words change every six months or so.

I run a lot of ML models locally before I let them run on the real machines. Most of the cost of the laptop came from all the ram I need to run a couple of dozen VMs to see how our wonderful heterogeneous data environment reacts to something being changed - most of the time the answer is "badly".

Your penny-pinching complaint comes from the following quote from the original text: "The original Requests is a small pure-Python library; if you want to work on it, then any cheap laptop is more than sufficient. $5k is the price of a beefy server or top-end gaming rig."

That task really comes nowhere close to the requiring the hardware you describe as being essential to your work.

You don't think that a library that is supposed to add async support to web requests needs to run a swarm of vms to test the responses of said library?

toyg 9 months ago [flagged]

It’s 2019. You want a swarm of dumb http servers, you call AWS or whatever you use. He worked at Heroku, he knows.

Come on, let’s be frank: he wanted a new top-of-line MBP, regardless of what he’d do with it. He knew he can leverage the fame he carefully cultivated (has said as such in the past) to get it paid for, so he did it. And will keep doing it.

antt 9 months ago [flagged]

And this is why I no longer work in open source. Know nothings who have no idea about what they are talking about doing character assassinations on those who do.

toyg 9 months ago [flagged]

Sure, call me when he accounts for that money. Note how he’s replied twice already without even trying to do it. Besides, it’s the author of urllib who is surprised, not toyg from HN.

If one fosters a personality cult, one should be ready to stand scrutiny.

antt 9 months ago [flagged]

Why? For developing that library I'd be perfectly happy if he'd made a fund raiser then spend the money on hookers and blow.

God knows that happens enough in finance for much worse outcomes.

And frankly, the person you are complaining about thinks essentially the same thing, writing "But I figured that even if he spent $5k of the money on some unrelated computer, we could call that compensation for his past work, and it would still leave ~$25k to fulfill the promises he'd made in the fundraiser."

The point wasn't specifically a complaint about spending $5K on a computer but more establishing a pattern of a lack of transparency which the author thinks has an overall negative effect on community-funded, multi-author/community-run open source projects in Python.

Also, as described, it sounds like Smith - an author of the networking package which Reitz was planning to use - presumably knows what hardware needed to develop and test the network layer.

We clearly have very different concepts of what "prompting for donations for project X" actually means.

The point of the article is the lack of transparency and borderline exploitation. If KR had put up a fundraising page saying “buy me beer” or “support my work” this wouldn’t be an issue. The author is pointing out that the funds were raised for a team effort and the other members on the team were being dealt with in a shady way.

"The author is pointing out that the funds were raised for a team effort and the other members on the team were being dealt with in a shady way"

It doesn't appear, though, that the author was part of that team, or promised any of the money.

The author says this:

"If he'd found another way to use the money on Requests, then I would have been totally happy. I didn't have any claim on the money"

Other parts of the post do seem to indicate something isn't right. But it's not exactly as straightforward as you're saying.

> It doesn't appear, though, that the author was part of that team

Apparently, there was some sort of agreement that OP would not be disclosing his own related work independently of Kenneth. This makes him very much "part of the team" in a rather significant sense, and he does seem to share some responsibility from that POV.

"Apparently, there was some sort of agreement that OP would not be disclosing his own related work independently of Kenneth."

Where's that? I'm unable to find anything close to that in the post.

Like I said, I have no interest in the drama.

I'm just pointing out that the sums they are talking about here are laughable. Anyone who thinks that 30k can pay anything to a team should have a look at getting a real job. Him getting paid for the bother of working as the project coordinator sounds about fair for two months part time. The rest of the contributors should have been doing the work out of interest when they have free time with nothing better to do.

I have a hell of a time explaining to people that I'm happy to contribute 1 hour 8 times to their projects for free, but if they expect 8 hours once it will cost them.

I don’t think the laptop price is really the principle argument but I noticed this too.

People have different ideas about what computer. A high end Mac book pro is $4,249 with max cpu, 32gb and 1tb ssd and 4gb gpu. So if you add in bigger hard drives and software and taxes so you can hit $5k.

It seems not very productive to argue over using cheaper tools. Obviously you can program python on a chromebook, but I would never work for a company that expected it. I think my last dev laptop cost $3500 or something.

You can make any amount of money seem small by saying "well the top {1,0.1,0.001}% of people make that in a month".

This. So much this. Python would be a lot less popular without Request.

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

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.

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

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.

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.

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

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.

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.

$28,000 dollars is small to you? I'd be happy to take that from you, and take unpaid leave from work for a few months.

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

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.

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

I suspect they do. Kickstarters and such are so loosely goosey that I donate with an expectation that at least 30% is waste, error, etc.

I typically only pay attention if it just seems out fraud.

I don’t know if everyone else feels the same way, but I suspect so based on the poor documentation.

It’s kind of like, I think, if I give $5 to a busker and she ends up buying an expensive beer instead of the daily special.

It is a ridiculously small amount of money though. You are probably right it is being wasted and misused, but that is half of kickstarters. It is par for the course when donating to a non-charity, it is trust and this guy is eccentric and weird. I think people have unrealistic expectations in this situation.

Maybe you're right that it's a bit naive to throw money at internet eccentrics who don't have a plan and trust that they will manage things well.

I just don't think we should be excusing things because it's (what some people think) is a small amount of money (note - about the average yearly income for a Canadian).

>Maybe you're right that it's a bit naive to throw money at internet eccentrics who don't have a plan and trust that they will manage things well.

I don't expect him to manage it well. I'd have been happy if half of the promised work got delivered and the money was spend on hookers and blow. I know most of the fees for my portfolio are funding that type of thing already.

It is a small amount of money, especially considering the amount of value Requests provides.

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact