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.