When Kenneth Reitz created the
requests library, the Python community rushed to embrace the project, as it provided (finally) a clean, sane API for making HTTP requests. He subtitled his project "Python HTTP Requests for Humans", referring, I suppose, to the fact that his API provided developer-friendly APIs. If naming things "for humans" had stopped there, that would have been fine with me, but instead there’s been a steady stream of new projects describing themselves as being "For Humans" and I have issues with that.
It is dismissive of other packages
When a new project comes out describing itself as X for humans , it somehow implies that any other libraries existing in the X space before were somehow not for humans. Since for humans is really just a way of saying developer-friendly , this label implies that other packages were not developer-friendly. In other words, it’s a bit of a backhanded dig at other libraries for having bad APIs.
It is pretentious
I mean, come on, the audience for any Python project is always going to be a developer somewhere. To call your project For Humans is just a pretentious way of saying that you see your project as having a superior API to other projects in the same space. Besides being offensive, it is a bit pretentious to declare your project (and by extension yourself) as some sort of friend to developers while every other open source author is bungling around creating bad APIs.
It doesn’t mean anything anymore
So many projects have taken up the for humans mantle that can it really be said to mean anything anymore?
Fixing the situation
Let’s fix the situation by describing our projects based on what they do. I know the HTTP situation back when
requests came out was pretty bad, and Kenneth was making a nice point back when he released his project, but I think it’s time to move on.
I don’t mean to pick on Kenneth, but:
records, "SQL for Humans"
legit, "Git for Humans"
pep8, "pep8 for Humans"
hypermark, "markdown for Humans"
Is that really necessary? PEP8 is itself a standard that describes making code more user-friendly, and Markdown is a markup language that is already designed to be readable by people. SQL was specifically designed to be easy to use by people… Does this seem a bit silly to anyone else?
I would ask the Python community to drop the whole humans thing. If your project has an awesome API, then say that instead. If your project is an improvement over other projects in the space, then tell us why. But just labeling your project for humans is both disrespectful and honestly a bit cringe-worthy.