Most of the time, folks are talking about making projects open source not closed. Companies use it as way to get some press and to position themselves as being altruistic by giving back to the community.
I used to be that guy.
Recently, I came to realize that one of my open source projects may actually have some potential as a commercial service. People were using it, and the contributions that were being made back to the project were less than ideal.
The project was already open source, what’s a guy to do?
After quite a bit of soul searching (reads: Googling) I decided to just take my ball and go home.
The project in question is HolidayAPI.
I started the project in November of 2013 as an open source platform for obtaining holiday information. At the end of it’s run, I had over 20 contributors, and over 50 stars on GitHub.
Most of the contributions came in the form of holiday data for countries that were not already in the system. The problem with said contributions is that many of them ended up being inaccurate or incomplete.
Since I didn’t necessarily fact check the non-United States (MURICA!) holidays, I only found out about inaccuracies when somebody would contact me asking where I got the information from because there were inaccuracies.
I received bug reports on nearly every country that I didn’t personally build out. I also received many requests to add new countries and hardly ever received a reply when I mentioned they could send me a pull request.
Because I was running into so many data issues and very few contributions compared to the number of requests (reads: demands) and after many talks with my spiritual advisor Justin Davis, I decided that it would be best to make the project closed source.
It was not an easy decision.
What’s the legality of removing a project from the public? Will much hate mail am I going to receive? Am I fucking anybody over that relies on the project? What about the folks that have contributed?
So many questions. Not a ton of precedent.
I figured the best approach would be to ask for forgiveness, assuming there was even any backlash. To be on the safe side, I did make sure I had some solid rebuttals in place.
The project was originally licensed under the MIT License which is very permissive in regard to modifying and publishing (or unpublishing). My logic is, I am only closing off my version of the code. All other forks that are out there still exist. I can’t police that and I’m okay with that.
Since I am now making improvements to the system privately, all of those forks are growing stale. Nothing was stopping anybody from forking the code and building a proprietary system on it for the 3 years it was public. Hell, somebody could still take an older fork and do the same thing I am doing.
Where this gets hairy is that I did take down the original open source project. I could argue that I should have left it up, since it was the central repository that had all other contributions merged into it. I figured there would be less confusion if there wasn’t an open source version of the site out there maintained by me.
I only had a single inquiry about the site no longer being open source.
Since moving away from being an open source project, I’ve received significantly more requests for new country additions and the feedback has been way more constructive. You may not believe this, but I still get contributions from people that just want to help out.
It doesn’t matter if something is open source, people find a way to contribute if they believe in something.