Why I Love working on Open Source Software

Dale Bingham
6 min readOct 14, 2019

I love working on Open Source Software (OSS). I like contributing to it. I like the freedom it gives you. I like making it (https://www.openrmf.io). I like using it. And I like the people I meet in person or virtually (twitter, Slack, etc.) that are like-minded in IT but different in their background, sex, race, age, location, and other characteristics. It makes the world smaller. It shows the human side of the IT industry in a great way. It makes me better at my “day job”. And all the while, it gives you some great software to use and try out! I really like it. So now I am using it and contributing to projects so they can stay OSS.

A lot of good things come out of Open Source Software

My Journey to Open Source Software (OSS)

I have been using OSS for a long time. I bet a lot of people say that! And I have been a fan of OSS as well, but really only a fan by taking it and never giving back. That hit me a couple years ago after I read something or heard a talk about the support an open source software group needs. You know outside of their “day job”. I do not remember where specifically; however, I remember thinking I can do better. Which is when I reached out initially to see how I can help with OpenFaaS (see below). Yes I use OSS like jQuery, Vue.js, CentOS, Kong, and now Docker and Kubernetes. But my journey to understanding and now supporting it is recent. There are a few things below on why I believe so strongly in supporting OSS as well as using it and creating it for others to use and learn from.

Benefits of doing OSS

I tell you, the one thing I love about developing with OSS or creating OSS is that you do not have boundaries in the general sense. You have an idea or a need for something software related. Now go see if it works yourself! You may pay for your own hardware, software, cloud, and donate your time possibly. There is not a company necessarily telling you “Hey, we do it this way only” or “We need to document 100% before we touch code” or “You cannot do that here”. Freedom of expression in a software sense, like a painter on a canvas or an author with their books. I personally find great enjoyment and satisfaction in that.

The other benefit I have found: I have learned a LOT more on technology, development patterns, and the idea of art-of-the-possible while working with OSS projects. I am sometimes hand-tied when it comes to development with my “day job” so to speak. The company has already decided they are a Java shop or a .NET shop or a Golang group and trying other languages, other design patterns, and other technologies is not in the budget or timeline. When you are on your own time, you can do what you please (taking into account any NDA, non-compete, and your signed employee agreement of course!) and try newer ideas and technology to see how it works. Does it solve a problem? Does it create a new avenue of business to try out? Does it create something meaningful to give back to the IT industry? And are you

The second benefit here I have run into time and again. It is now I learned of NATS. How I dove into Docker and containerization years ago. And how I starting testing and thinking about event based architectures and messaging with eventual consistency where it fits as a solution. Just the small time I invested in myself with those OSS tools has pushed my knowledge, experience, and career forward immensely.

Some Great Examples IMO

So want to see some example that in my opinion are good OSS examples? Well here you go. These are more recent companies. Some are more “open core” models. Some are “pay for support” models. There is no right or wrong in my book on the model to support them. These are the ones I watch and learn from as far as how to run an OSS project.

I really love what Alex Ellis is doing with the OpenFaaS work. I have been watching him grow that movement for a Function as a Service framework and ecosystem. Enough that I am sponsoring that work personally through the GitHub Sponsor program. He has laid out his projects well enough to understand. He holds meetings worldwide with people on different continents via video. He writes blogs on various things related to OpenFaaS and not. And he pushes just enough to get things done with his teammates and contributors. And the software works and works well!

I also am a huge NATS fan. HUGE NATS fan really. I found NATS through Alex Ellis’s work actually. And their group, their people, their energy, and the product they make is pretty awesome. I use it on my own open source project I am working to get out there. And I also use it in my “day job” that pays the bills as well. And it simply works every time. Their NATS Slack channel has great smart people on it willing to help. And willing to share ideas, brainstorm, point you in different directions, and just let you ask questions out loud you are thinking about or wondering concerning NATS.

The other one I pay very close attention to is Solo.io’s Gloo (run by some great people as well). I talked to Idit at the 2018 KubeCon and she is a very smart CEO with a passion for what she does. And I thought that was a great steal in getting Christian Posta to join their group. So I watch them even more now! Great product. Great people to talk to. Great ideas. And their OSS works well. To me, they are doing the Open Core model so you can pay for extras. Whether you like that or not is up to you to decide. I just find that OSS space and the companies like these great examples for me personally.

Lastly is Chef who went 100% open source recently. I see a lot of companies doing the Open Core model including Red Hat, who do it well. Chef went the other direction and went 100% open source. And you pay for support and knowledge with the tool. That was an interesting twist for me to follow. Google that information if you want to learn more. That was fascinating to me.

Things to watch out for with OSS

#1 on my list here is an overbearing company. Make sure you did not sign an employee agreement that says “anything you make even on your own time is ours”. I have seen companies do this. A former company of mine wanted me to declare whatever I was working on, even if not my own specific OSS project, so they could OK it. Usually it was fine. But they will be looking out for their own interests, not yours. The funny thing is, I always brought back great knowledge, ideas, and software to my company once I ran down an OSS journey to see what new things were out there. Never a thank you…just warnings. So be careful not to kill your day job.

Another thing to watch out for is the project licensing. There seems to be more and more types of licensing from BSD to MIT and Apache. Some companies take these and modify them a bit. Some say “use my software, but I won’t support it as it is a project not a product”. Know what you are doing and using before you use it. And if you modify, you need to check if you are entitled to give back that code or fix in specific ways. Don’t let it scare you away. Just be mindful of it.

These are the two biggest I have run into. It is not stopping me from using any of this and should not stop you. Just know what you are jumping into when you go down this path.

Get Going on your OSS Journey

I encourage you to check out some of the OSS projects that fascinate you. That you use yourself. That can stretch your skills and understanding. Whether it is these above or another one you find on Twitter or a CNCF webinar, just start the journey. Support your OSS with a pull request on documentation. Fork a git repository and see if you can help with the project and learn from it. Expand your mind a bit and tackle a new language or a new concept that helps recharge your software development juices.

Just get going on something and see where it takes you and what you can learn. I believe if you actually put effort into it, you will enjoy where you end up!

--

--

Dale Bingham

CEO of Soteria Software. Developer on OpenRMF. Software Geek by trade. Father of three daughters. Husband. Love new tech where it fits. Follow at @soteriasoft