Anger and Guilt in Open-Source

In the tech industry far too many people pretend that everything is O.K. We pretend that sexism isn't rife. We pretend that startup failures are a "success" in some way. We ignore negative feedback and only publish success. We pretend that our work is amazing and worry too much about how it was a good idea, and never admit that it became outdated.

That is unrealistic nonsense and I am asking you to stop.

Today my good friend Alex Bilbie posted about Open Source Guilt. Alex posted about how hard it was for him to keep maintaining two popular open source packages whilst going through a job change. He moved to London. He lost his free time. All the while was getting moaned at about it.

He had one person freak out at him for not merging his PR within a week, even though it was a rewrite. That same person then "forked" his project and removed all attribution. When Alex pointed out that was not ok, that guy tried to get lawyers involved.

Side Note: That lawyer specialised in military law. I was praying things went forward so I could laugh that jackass out of the door.

He had one person question his abilities as an open-source maintainer, even though he has done a stellar job for years.

He had somebody send him a dicky email which upset him on a personal level, and that shit does not stop in the inbox. It affects you.

Bullshit. Why?

Posting about the hardships is great for the community. It adds realism to peoples expectations. No you are not going to open source a bit of PHP and have it live on forever, with people giving you rockstar status for life.

Open sourcing code is an investment. You have to want to maintain it. If at any point you do not have the time and do not think you can recover the situation, you need to give that shit to somebody else or close it down.

In 2009 I wrote CodeIgniter Rest-Server.

I used it quite a few times and other people used it a lot more. It's got 1,870 stars for shits sake. USA.gov, countless startups and even the fucking United Nations use it for something. Apple use it too.

I stopped using it and I felt guilty about not developing it further. I merged PRs for a while but didn't do anything else. I felt like an ass. It sucked.

Chris Kacerguis got in touch about taking it over and I threw it at him. It now belongs to Chris. Awesome!

In 2009 I also wrote CodeIgniter Curl.

It seemed handy for a long time. A lot of people used it. It only got 332 stars but that is more than 5.

I stopped using it and stopped working on it. I felt guilty. It sucked.

Then I told people to stop using it and use Guzzle or Requests, because they do the same thing and they're much much better. And they have unit tests.

What were unit tests in a 2009 CodeIgniter world?

In 2012 I wrote CodeIgniter OAuth 2. At some point I stopped using it because fuck CodeIgniter. It just sat there lingering. I stopped using it and other people did not. Guess what, that sucked for me and I felt guilty.

Alex Bilbie took that codebase and we made thephpleague/oauth2-client. That was a great move, but that brings us full circle on the story, because people started being dicks to him too.

Lets stop this cycle.

We're all here trying to get shit done. We all want the same thing: more good code, less shit code. We want to build great things and sometimes life gets in the way.

Fuck, I've been completely destroyed for a few months because life double-footed me in the nutsack. A combination of losing my job, visa and money meant I have had to defer all open source commitments to the rest of The PHP League and FIG. I have had to hide under a fucking rock while I sort my life out.

If you have a problem with somebody's code, send a pull request.

If you don't have the bandwidth to maintain that code, pass that code on to somebody else who does.

If you have a hard time, that's cool. I owned my troubles and the Internet completely had my back.

It will have your back too.

People need to avoid pretending we're fine because of ego. Life is short, so try and avoid being an asshole whenever possible.