In a previous job, I had a boss that I really admired. He's near the end of his career and his experience had made him wise. He was humble, but would chime in as needed. One of my favorites was his ability to bust out short one-liners that would hit the nail on the head. Around the water cooler, we regularly discussed open source. Here are some highlights:
Free like a puppy
This one always made me chuckle. But, it's true in so many ways.
I look at the open source community. At times, people's evaluations of open source tools are skin deep. "Ah, they are free!". This typically follows two popular myths about open source. These myths I'd like to review....
There must not be any value if it's free
To me, this myth is all about education. Classic IT had two traditional schools of thought: enterprise and small-shop. It's hard to break people of their existing paradigms, especially when jobs are on the line. People will often fall back to whatever they are comfortable with.
Enterprise focused on large, multi-year contracts with major vendors. The vendors would offer proprietary software, licenses, support, and even training. The attachment with a big name brand brought comfort in hiring and adoption. Speaking of hiring, even after paying tons of money, companies still need to hire their own staff to be resident experts. This costs a ton of money, but companies rested easy knowing big brother was just a phone call away.
The other extreme is the small-shop. Small companies, to stay afloat, would bend over backwards to create highly customized software or IT solutions for their customers. This often meant custom development and typically meant the customer was tied to the product-level knowledge the small-shop offered for their highly customized solution. This can also cost a ton of money, but makes skeptical customers feel warm and fuzzy that their every need can be addressed.
Open source has somewhat revolutionized these two extremes. They are free of licensing and hefty contracts. They have given small-shops stable and standard code bases which allow their customers to get more for less. Developers can pitch in and actually add value back to the open source projects (this keeps tech folks happy and engaged, we like shiny toys). The value of such a tool is added by communities and adoption. Adopters regularly contribute to open source projects and make them better, more robust, and easier to understand. Therefore, it's always evolving and improving. Mature open source projects have extremely thorough documentation and often have open forums people can ask questions and get help.
More and more people are turning to open source projects to meet their IT needs. As such, projects like Drupal, Apache, Memcache, Varnish, jQuery, and many others are becoming household names to stay relevant with the current IT landscape. Other tools like Vagrant, Puppet, NodeJS, AngularJS, etc are rapidly innovating in ways enterprise software packages cannot keep up with. The key concept here: these tools are solving problems everyday. These tools can absolutely meet the needs of the enterprise and small shop mentalities.
On to the next myth...
Open source is free, communities have bought in, this solves all of our IT woes!
Wrong. You may get the software for free. But, with great power comes great responsibility. This requires a different type of education.
Open source projects may open up new capabilities for you and your team. But, it's how they are used that can add value. Any tool has best practices. And, any project requires in depth knowledge of requirements and goals to properly apply the best practices. An open source project may be free to use, but if it's not used correctly, it can create a mess. This requires a person to understand the proper way to design a system. But, reader beware, this problem is not isolated to just open source tools.
A technical person must properly learn a tool to take advantage of it. Such a person would be responsible for making good decisions, or at least ones that promote more flexibility down the road. They can also level set expectations, which is invaluable on projects. Open source tools are not perfect, nor do they hide flaws outside of software.
Free like a puppy? Yes, the tool may be free, but the work and the expertise still is not. The education of staff members, the ongoing support of applications, and the potential poor choices that can be made with an open source tool are not free. Informed design choices are the only way to properly leverage open source tools. But, all software faces these challenges.
Can open source help? Absolutely. Do you need to know what your doing? Absolutely. Will you need to invest more if you make mistakes? Absolutely. It's free... like a puppy.