By Dave Gray.
Open source software has been around as long as computers have existed. Modern sites like GitHub and other online communities mean that even more people can contribute to open source projects today. That improves maintainability, discoverability, reach, and quality.
Companies often use open source software for very practical reasons—such as cost—and even deep-pocketed organizations like Facebook, Google, and Microsoft put resources into in-house open source software development.
Moreover, even companies that you wouldn't expect to play a role in the open source space have done so. For example, Walmart created an open source Cloud management system and the open source project Hyperledger, which tracks the exchange of financial assets, has been worked on by Wells Fargo and JP Morgan, among others.
If it's not just cost, why do so many varied businesses invest and contribute to open source development? Lots of reasons. Here are seven key benefits of using open source software.
1. It's Free, and When It's Not, It's Cheaper than the Alternatives.
Some people look at open source software and invoke that old adage, "You get what you pay for." They assume that if they try to implement free open source software at their companies, they'll encounter all kinds of problems, and they could even lose their jobs if those issues spiral out of control.
However, as long as you research specific open source applications before using them, you'll be fine. And, your company CFO will be happy to eliminate the upfront and/or subscription costs demanded by proprietary application publishers. Even if the open source software comes with a licensing fee, it will likely be much less than the alternatives.
2. Security Concerns Are Typically Few and Far Between.
It's not uncommon for an open source application to have thousands of people working on it. With that many eyes looking through the code, serious problems are usually flagged and fixed quickly. Even minor issues are often resolved without lengthy delays because there are plenty of people willing to spend a few hours or a day putting together a quick fix.
When bugs—even small ones—are found in proprietary software, it can take weeks or even months for them to be fixed in a patch, and critical security issues could take a while to be addressed. In addition, no one outside the publisher really knows what problems exist in the software, so companies have to rely on blind faith when using proprietary applications.
3. It Can Help Morale (and Recruiting!) when Engineers Can Share What They're Working On.
Working on proprietary projects can take a toll on engineers when they can't solicit feedback from peers at other companies. It can be stressful to worry about maintaining secrecy all the time, which can hurt workforce morale.
In addition to reducing stress and improving morale, open source projects allow engineers to share what they're working on and potentially get insights they wouldn't have received otherwise. They also can build a community around open source software, which can attract the interest of more engineers who want to contribute to the project and offer feedback.
Engineers are drawn to fun and interesting problems. So much so that keeping junior programmers on task, instead of getting distracted shaving that yak, can be quite a challenge. Solving a fun problem, or even a boring one in a novel way, can be a surprisingly effective recruiting tool when you put it out there as open source.
4. You Can Add the Features You Want.
If you use proprietary software and need a key feature that can help your business, you have to submit a request to the developer and wait. And wait. And wait some more. Unless your company is big enough to get the developer's attention, you could be waiting for a while.
If you use open source software, you can make changes to it to your heart's content and do so according to your own timetable. You can modify the software to ensure it has the features you need for your business to be successful. Even if you can't write the code yourself, because it's open source, paying someone to add it for you becomes an option.
5. The Developers Are Typically End Users, Too, So They're More Likely to Think About What You Need.
A proprietary application may be developed by people who rarely use it, aside from testing, so they often make assumptions about what end users want. Engineers who devote time to open source projects do so because they use the software too and want to improve it, so they bring their own experience to the process.
6. Open Source Licensing Tends to be More Flexible Than Proprietary Software Licensing.
Everyone knows how ominous a typical commercial software license can be, and some people have gone through a lot of pain when running afoul, even accidentally, of such a license from a large publisher.
In contrast, open source licensing tends to be much more permissive, as well as more flexible. In fact, there are at least 2,000 types of licenses used with the over two million open source projects in existence today. Some are more restrictive than others, and a new trend has paved the way for dual licensing, which allows the licensor to use both proprietary and open source licenses.
It's important to read the license accompanying open source software carefully, due to the fact that violations can create the same kinds of problems that can beset a business that violates a proprietary software license. A blog post at Black Duck Software has a good overview of the kinds of licensing that exist today.
7. It Will (Nearly) Always be Available.
When you use proprietary software, you're at the mercy of the publisher, who might decide to stop developing it or who could refuse to keep supporting older versions of the application. The company could also simply go out of business and their products could fall into legal limbo for a while (or perhaps forever).
Open source software has nearly guaranteed survival. Although nothing is 100% certain, if an open source application is freely available online and has a community supporting it and working on it, it should be available in perpetuity. Older versions will likely still be available too, for those who can't upgrade to newer hardware just to run the latest version of an application.
These seven reasons are good places to look if you're wondering whether open source is right for your business. Has your company benefited from open source? I'd like to hear about your experience and the reasons you've found it worthwhile.
About the Author
Dave Gray is a Principal Software Engineer at SparkPost (www.sparkpost.com). Throughout his 18-year career, he has had roles in Engineering and Professional Services, working directly with customers, and is currently assisting the SparkPost Growth team on initiatives to impact and increase interaction with customers. You can follow Dave on Twitter @yargevad and via SparkPost @sparkpost or connect with him on LinkedIn https://www.linkedin.com/in/yargevad.