This is something I've been mulling about for a long time, but I never quite got round to put my thoughts in a verbal manner. That is, until last week I tried to explain why I was upset to someone who is mostly out of the tech scene, and they were unable to understand how can this be the very much accepted status quo.
So what am I upset about?
I have a lot of projects in GitHub.
This, in itself, slightly cheers me up, as my code is divided into a number of decoupled modules, and architecturally speaking, that is very nice. I also like to imagine that it can help other people who can either look at or use the code. But other than that, it doesn't provide any measurable benefit for me, and so the overall feeling about having code online would be "mostly neutral, slightly positive".
A few of those projects are relatively popular. You won't find them in any top ten, but they sure are used. How do I know? By the issues, and the requests, and the forks, and the appropriations.
Oh, I already hear you saying:
Welp, that is open source for you, if you don't want the consequences, then don't publish it.
But why should I refrain from publishing my work?
Maybe the rest of the people should stop assuming I should work for them, for free.
Oh yell it, if you don't, you'll explode:
It's OPEN SOURCE!!! It's meant to be free!!!
Err... no? Where did I sign to agree that I would implement the most whimsical of features, just because it's got a LICENSE.txt? Where is the contract?, I wonder.
I get so many notifications and requests and things from GitHub that sometimes I don't even see them. And then I feel incredibly frustrated when I visit one of my repositories and find that there are 10 issues that have been overlooked for months. And the most sad-hilarious thing: at some point I even considered hiring someone to do this work for me.
Let me repeat this: I even considered hiring someone to do this work for me.
How incredibly twisted and wicked is this? I feel a sense of obligation over a non-existing contract in which I work for free, and since I just do not have time at all for this second job, I thought of using my hard earned money (which is a time currency, after all) to pay someone else so I could stop feeling guilty.
THIS IS SO UNBELIEVABLY WRONG I WAS UTTERLY EMBARRASSED WHEN I VOICED THIS FOR THE FIRST TIME.
I'm glad I got my act together and didn't fork any money on this.
And speaking of forks... and appropriations, let me tell you about what possibly upsets me the most, via a number of handy exhibits:
Exhibit 1: forking the project and then removing all the cosmetic traces from the original, e.g. entirely rewrite the README file to make it look like they wrote the project from the scratch. And they don't even have the dignity of mentioning the original project anywhere in their docs.
Exhibit 2: Like 1) but they do not keep it to themselves---they post their fork to social networks and aggregators as if to win credibility.
Exhibit 3: Like 2) but my project shows up before the fork in search results, and confused people file the issues in mine, to my utter confusion when I do not know what are they referring to when the issue is about a new feature I've never heard about.
Exhibit 4: Like 2) but they also pompously declare that they are forking the project because "development has ceased on the original project". The truth: they never contacted me, but I guess pretending they're saviours of the project gives them some sort of ego trip.
Exhibit 5: they fork my project, diverge in some way, and then periodically come back to the issues of my project to boast about how their fork will solve the issues my project has.
This is very, extremely, incredibly frustrating.
Instead of these projects being a cool thing I do because I like, they become an obligation that I need to fulfill or else people will +1 the issues to "bump" them. And on top of that, there's also the people who not only take what I kindly give away, but also want to steal my merits AND brag about it.
What a time to live in!
In theory I should now finish with a constructive paragraph. Give you a number of ideas on how to fix this, but would people have any interest in implementing them or in changing this situation? I honestly don't know.
Instead, I will leave you with a similar post by my colleague James, which described a similar situation a few weeks ago.
And perhaps if more people start sharing their stories, we'll notice a pattern, and we'll finally give ourselves the license* to recognise that open source is not the beautiful perfect utopia we are so keen to believe in.
*see what I did here? THE LICENSE!!! Ha! Ha! ha.