Why I Create Open-Source Software


Creating open-source software makes me happy. It’s an opportunity for me to showcase my programming skills and gain experience with new languages and frameworks. I don’t make any money from it. I’ve actually lost money on most websites I’ve created from buying domain names.

Over four years ago, I wrote this article about how I created a clone of Space Invaders with Python. I really enjoyed creating the game and wanted to share it with others, so I put it on my GitHub.

I also posted it to Reddit, where it got lots of good feedback. My favorite comment was:

"You might not realize it, but you just finished 1000's of Python students final projects."

Over the years, it’s gathered ~200 stars and ~200 forks on GitHub. A few issues have been opened and some contributors have helped fixed bugs. However, I would have never expected the amount of interest it would bring.

Years Later

I included my email address in the README. I’ve had several emails asking about how I did certain parts and for help code reviewing their versions. One group of students created a research project on top of the game where the AI controls the ship and plays the game. Another group of students used the NEAT algorithm to create an artificial neural network which scored as many points as possible.

The best, however, came just a few weeks ago. I received an email from Stuart Fox. Stuart is a composer, tech hobbyist, and mentor from the U.K. Here's what he had to say:

"Thought I’d thank you for the great Space Invaders game. I had an idea of getting the kids at our local Raspberry Pi Jam to build a Space Invaders controller using buttons, a breadboard and GPIO pins on the Pi. They’ll learn about using libraries to integrate external buttons into their Python programs and when we’ve built the controller, we’ll look at your code and learn how to modify it to work with external buttons."

I would have never imagined this little game I created four years ago would be used to help teach kids thousands of miles away at a Raspberry Pi meetup in England.

Stuart was kind enough to send pictures back from the event. He said the kids were ecstatic and loved my version of the game. By the time they got it working on their machine, it was hard to keep them focused!

It’s an amazing feeling to make something others find value in. That’s why I create open-source software.