How to Use Open Source and Shut the Fuck Up At the Same Time

First, I do not speak on behalf of the hapi.js community, only for myself. hapi.js is a friendly, diverse, tolerant, and welcoming community.

We have a serious problem of user entitlement in open source. We have now seen many lead maintainers quit their own projects over constant abuse.

This affects everyone. Over the last year I have stopped supporting hapi users. The tone and attitude of open source users have become so negative, so demanding, and so persistent that I’ve decided I’m just not having any of it. I still write plenty of code, and most of it published as open source. I just don’t talk about it anymore. The only people who get my attention at this point are other hapi.js lead maintainers and a select group of people who get my “platinum support service” via private channels. This premium support is free and is offered to friends and people I highly respect in the community.

As for everyone else –

If you don’t pay me for my services or contribute meaningful value to me personally, I don’t owe you shit. You are not my customer and you are rarely right. Open source is not an invitation for harassment and making demands. If you choose to interact with me about my open source work, remember it was your decision and you can stop interacting with me at any time. No one is forcing you to use my code. I am giving you a lot of free modules to do with as you wish. That license does not extend to my time or my attention.

I am a big supporter of Code of Conducts. Every project where people interact with one another should have one. What I am not supportive of is harassing maintainers to adopt one. The only right approach here is to nicely ask the maintainer if they would consider adding a CoC using a well establish template (ideally from a closely related project), and if they say no, to move on. Enough with the fucking indignation, the public shaming, the boycotts.

Same goes for documentation. I see more bitching and entitlement around quality documentation than any other issue. You are not entitled to good (or any) documentation. If you don’t have the time to read the code, the tests, and the examples, shut up or fuck off. I don’t have the time to explain shit to you. I document my work for my own needs. I publish a lot of code without any documentation. Don’t ask me to add some. The only right thing to do is to ask if I am willing to take a pull request adding or improving the documentation. That’s it.

You know those people who leave product reviews on Amazon on items they will never buy? Don’t be those fucking people. If an open source project is not working out for you, just don’t use it. Don’t go posting on Twitter how shitty it is and how dickish the maintainer is. Just move on. Publishing code on GitHub is not an open invitation for abuse and humiliation. Every time I publish a new breaking release of hapi, people who have never (and will never) use hapi post shit about it on Twitter. What the fuck is wrong with them?

Why am I posting this? Why am I acting up so angry and negative?

Because I can afford to behave like this while other maintainers cannot. I am not going to lose work, reputation, or sleep over expressing these feelings publically and forcefully. However, this is not true for many new, young, inexperienced, or just sensitive maintainers who find themselves suddenly maintaining a popular open source project. They cannot afford to tell people to shut the fuck up or go fuck themselves without doing significant damage to their careers, reputation, or risk diving into deep depression.

I am posting this because someone needs to tell you to shut the fuck up, you entitled asshole.