Stop me if you’ve heard this one before.
You get into some new tech over the weekend. With enough excitement to kill a horse, you whip up a ruby gem and put it on Github.
You get a few hits, some people using it over the next little while. A few bugs get reported, and you fix them. A few features get requested, and you implement them. A few pull requests get submitted too, and you merge them. You’re using it yourself, so you’re finding your own bugs and implementing your own features too.
But the motivation wears off. Maybe your project doesn’t work out as well as you’d hoped. Maybe the lustre of the new tech fades, and you move on to other things. You leave your gem and code online because other people with more enthusiasm than you are still using it.
A month or two pass and nothing fantastic has happened. You haven’t touched your gem, no new pull requests, messages about it, or anything. You’re looking at something on your Github profile, and notice that this gem of yours has a new fork.
What’s this? Somebody else working on it?
Nope. It’s a passive aggressive fork (PAF).1
This fork is filled with useless commit messages like “remove this garbage”, “fix stupid bug that’s been there forever”, and “Why ________?”.
It’s a fork made by somebody upset that your original project didn’t work exactly like they wanted it to. They commit in anger and stay silent instead of talking to you, the author, about the changes and getting them pulled into the repo.
Instead of using the great tools we have for collaborating (Github), they work as fast as these tools allow, and generate a Network Graph of Hatred.
Instead of working together for something good, like how I imagine Burning Man, it turns into Mad Max.
This is basically the exact opposite of what you want to happen in a nice FOSS world. “Fuck this asshole and his stupid code!” is basically what I see when I see a PAF. I put this code up for the world to use, FOR FREE, and you were a complete dick about it.
Maybe a clause in the license should be something along the lines of “Free to do what you want with it, as long as you’re not a dick about it.”
So while there is definitely some greatness about Github, OSS, and that whole scene,2 it’s not all unicorns farting rainbows that the community would have you believe. With the good comes the bad.
Even if you get some digital love from a few people being great citizens in the FOSS world, don’t be surprised when a motorcycle berserker shits all over your code.
1 This is kind of a passive aggressive blog post isn’t it?
2 The good outweighs the bad by a solid margin.