Open Source is Great…until it Isn't
I sell commercial test automation software. On a daily basis, I compete against Selenium, an open source alternative. Competing against "free" can be challenging. The primary saving grace is that "free" is a fallacy.
Let me tell you a story…
I host a Minecraft server for my kids. I thought this would be relatively simple, but it has turned out to be quite a challenge. Updates, backups, firmware, connectivity, more updates. It all takes time, research, and seemingly never-ending troubleshooting. And while I don't publish SLAs, my kids' uptime expectations are quite stringent.
One day, while looking for a solution to disk drive performance issues, I stumbled upon a self-proclaimed legendary website hosted by James A Chambers. While I came to James' website for the comprehensive, detailed coverage of hard drive performance, I stayed for his Minecraft script.
James had developed an almost magical script for installing and maintaining Minecraft on a Raspberry Pi. The script would install Minecraft from scratch, ensure all the required components were also installed, impose a reasonable backup practice, and manage the upgrade process. And if anything went wrong, it was properly modularized so you could simply erase everything and start over without losing any data.
Even more impressive than his script was his responsive and comprehensive support. Posting a question in his comment section received a seemingly instant response, always friendly and delivered in a supportive, patient manner with an emphasis on educating the user and broader audience.
I have used James' script and his responsive support for at least three years. My kids and their friends enjoyed hours of uninterrupted gameplay.
Recently, James' website encouraged users to transition from the script to a Docker container. As I have recently been experimenting with Docker…and dependent on James…I jumped in, successfully moving my world to his new model.
I did, however, have some questions. As was my habit, I posted my query on his site and waited for a reply. And waited. And waited. I became concerned. I had always envisioned James as a wizened, senior engineer, potentially in retirement, impulsively keeping himself busy. Was he sick? Did he die?
领英推荐
As I scoured comments hoping to find an answer to my question in prior posts, I came across an uncharacteristically candid post from James explaining the situation. From what James posted, he had dedicated several years of his life to building and maintaining the website, scripts, and Docker containers. He had hoped he could make a reasonable living from donations and sponsors but found the endeavor impossible to maintain. He had to get a real job.
All of James' scripts and containers are open source. I have the ability to continue using and maintaining them myself. But without James doing the heavy lifting, this will become a tremendous burden. James' superior support meant I didn't have to properly educate myself on the internals of his scripts/containers. I also adopted his architecture without fully understanding the implications.
We will see how long I can coast on James' work, but I suspect I am in for a considerable amount of research and re-education to keep the kids happy. And while James had created a vibrant community of users, his comment section is moderated and without an active moderator, we are all locked out.
I wish James the best. His post indicated he was struggling to find a junior software role. He also commented that the site and projects had done little to bolster his resume. I find that hard to believe. I would recommend him highly to anyone seeking an intelligent and highly diligent programmer. His patience, curiosity, attention to detail, and instructional approach would make him a great addition to any team.
So what does this have to do with open source?
My server is a hobby. I could have paid any number of hosting companies to maintain my server. Indeed, my older son pays $3.99/month for Microsoft to host his Minecraft world on Realms. Over three years, that would have cost $143.64. I am pretty sure I paid more than that for the 8GB Raspberry Pi 4 and SSD, let alone my hours of time and effort (even with James' magic scripts). But I felt the time was worth it because I was learning. In an enterprise, these cost differentials add up quickly.
As a business, you may be interested in providing your employees with a learning experience, but when considering value and total cost of ownership, open source is often a red herring. Commercial solutions spread the cost of development and support over a broad user base. A viable business model supports both the user and the developer. When it delivers value, commercial solutions are sustainable.
And it won't have to go off and get a real job.