We received some great feedback from one our weekly update readers. (BTW, we love to get feedback!) He commented that we seemed to write a lot about of commercial applications and services but hadn’t said much about role of open source software. He even provided a link to an article by CERN that discussed their adoption of open source software.
Our reader raised a good point. In the case of CERN, the role of open source software is to allow them to regain control over software costs. The article relates that CERN’s commercial license costs were going to increase 10X after Microsoft revoked CERN’s academic status and eligibility for discounted service pricing.
Open Source Software in Context
You’re probably familiar with Wikipedia. It’s an amazing story of people coming together to contribute articles that answer any number of questions. The idea of people contributing their knowledge for the good of others has been one of the feel-good stories of the Internet.
Now recall the days in computing where battles were being fought over whose Operating System (OS) would rule. There were numerous proprietary OS’s around, as well as UNIX, which had been created by Bell Labs in the 1960’s. (You can read more about the history of UNIX here.)
Eventually, many companies developed their own version of UNIX. Companies then tried to establish a single “standard” version of UNIX, though competition among the UNIX companies made this a challenging task.
Fast-forward to the 1990’s. Linus Torvald announced that he was going to develop a free, open source version of UNIX, that he would call Linux. And today we have several Linux variants, including Red Hat and Ubuntu. (Here’s a Linux historical timeline.)
And, just for fun, you can check out the history of Netscape morphing into Mozilla and Firefox here.
There have been two “big ideas” involved with each of these open source software efforts.
- You can acquire the open source software for free.
- You can build on the innovation of others, using the applications others have built and contributing your own applications.
Let’s look at some potential roles open source software can play in your organization.
Role of Open Source Software: Cost Containment
As in the case of CERN, use of open source software can help an organization reduce and/or contain its software costs, compared with licensing commercial software in a SaaS setting. Do a search on “open source email servers” and you’ll find several products. The attraction here is obvious: why pay Microsoft or Google for an email license, when you can set up and run an email server for little or no capital cost?
Role of Open Source Software: Time to Market
Open source software is a huge benefit to startup’s and others looking to build something and take it to market. Say you’re a startup building a web application. You’ve got $10,000 in seed capital to spend developing a proof-of-concept. You’re going to want to spend that money on a software developer who can invent something new. You’re not going to reinvent an OS. And you’re not going to spend money licensing one either. Hence, the popularity of the LAMP (Linux-Apache-MySQL-PHP) stack. Each LAMP component is available for free (if I recall correctly). Taken together, the stack has all the tools you need to build a web application.
Getting an application in front of its intended audience matters to non-profit organizations as well. Say you’re developing a web application that will allow small farmers to learn what growing practices (irrigation, soil amendments, pest management) they should follow given changes in climate. Delivering that application sooner is better than later (you don’t want to miss the upcoming growing season). It makes sense, again, to adopt the relevant software “stack” that’s going to let you focus on delivering the unique value embodied in your application.
Role of Open Source Software: Speeding up Innovation
Let’s say you’re a smart software developer. You know a lot about high-volume transactional systems. You’re building something new based on that knowledge. But you also need people who can build out other elements of the product, such as User Experience/User Interface (UX/UI), geo-location, metering and power management. It would be cheaper and faster if you could find ready-made solutions in each of those areas that you could adopt, vs. hiring software experts to develop each of those things for you.
What are some of the potential downsides to using open source software? How do those negative considerations change your assessment of the role of open source software in your organization?
Free Isn’t Always Cheap
Make sure you understand what your attracted costs are when you adopt an open source software application. Who is going to maintain the code? Who is going to test it when changes occur? How are you going to engineer for high availability (if you need that)?
Consider this. Red Hat, one of the largest providers of open source Linux, reported revenues of $3.4 billion for its most recent fiscal year. How does a company that gives away its product make so much money? Because there’s more to the product than just the OS source code. And those other product elements–things like source code maintenance–are not free. (IBM liked the Red Hat model so much, they bought the company for $34 billion.)
You’re Responsible for Security
Are You Spending Time on What’s Most Important?
In economics we talk about “opportunity costs.” These are the costs you pay for not doing something because you’re spending time on something else. If you have people spending time patching open source software components, does that take them away from work that would advance the cause of the organization? It’s not an easy question to answer, but it’s important to think about how you’re spending your time.
I worked for a startup that built its own servers. This made sense in the company’s early days; they were cash strapped and had certain performance requirements that off-the-shelf servers couldn’t meet. But eventually building its own servers slowed the company’s ability to scale.
Weigh the Open Source Software Costs and Benefits for Your Organization
What’s the proper role of open source software in your organization? As the consultants like to say, that depends. Open source software can be free but not cheap. It can force you to spend time on software work that isn’t central to your organization’s purpose. At the same time, open source software can help you avoid vendor lock-in. It can get you to market or to a working solution faster. And you can feel good if you’re contributing to the open source software word as well as taking from it.
You’re the final arbiter of deciding the role of open source software in your organization. Get the facts so you can make decisions based on actual costs and opportunities and not theoretical ones.