Open Source vs. Vendor-Provided Software: Comparing Them Side by Side
Open source software applications are becoming an increasingly viable alternative to vendor provided commercial software. Jeff Walpole explores the differences between these types of software, and the pros and cons of each alternative.
Imagine you have just been put in charge of selecting a software package to manage your organization’s Web site, or information about your constituents. Your budget is tight, the deadline is looming and the options are dizzying. You know that the sales representatives for any number of commercial vendors would be willing to get you set up quickly. You have also heard that open source applications can provide a solution cheaply--or for free. But can you afford the time it will take to get to know the open source options? Can you afford the cost of licenses?
Either way, you have to figure out how to compare open source applications to vendors’ commercial offerings. You also have to explain to your boss what the risks, benefits and implications of each option are--and everyone you talk to has a different take. Worst of all, you don't even know where to start.
Let’s start from the beginning and get a sense of the important considerations.
Considering Vendor-Provided Software
We’re all familiar with the concept of software provided by a vendor. It’s hard to generalize about these packages--they fit into a huge range of categories.
The software might be a one-size-fits-all package that you can easily install on a desktop, like Microsoft Word, or a powerful, configurable system that takes time and care to roll out across an organization, like Blackbaud’s Raiser’s Edge. You might rent the system by the month and use it over the Internet in a Software-As-A-Service Model, like eTapestry. It might be highly configurable to your needs, like Salesforce.com. It might cost nothing to use, like Google Apps, or cost hundreds of thousands of dollars per year. It might be solely supported by the vendor, or the vendor might be only one piece in a broad ecosystem of providers, consultants and implementers that can help you get up and running.
The common bond among all these software packages is that they’re distributed by a vendor organization. You contact the vendor (or a distributor approved by them) for the right to use the software package, which often requires a license fee. Vendors have staff members charged with distributing the software, and who can often help you understand what the software does, support you in using it and even partner with you in strategic decisions.
Considering Open Source Software
In contrast, open source software is typically developed, marketed and distributed by a loosely organized community of individuals. The term “open source” means that the source code itself, the instructions that cause the application to do what it does, can be easily viewed, modified or downloaded by anyone with technical expertise.
Open source software is sometimes called Free software or FOSS (Free and Open Source Software), because of four tenets of freedom that are a core part of the philosophy of the open source movement. First, you are free to run these software packages for any purpose--you generally don’t pay anything to acquire them. Second, the source code is free--you can see the code and understand how it works. Third, you are free to copy and redistribute the package to anyone you want. And finally, you are free to modify the software however you like, and to release those modifications.
Community is the key concept to understand how open source software is created--this is an organized, albeit distributed group of people with three main things in common: shared goals and interest, community rules and practices and the ability to execute as a team and create software.
It can be a challenge for institutions not accustomed to the concept to accept open source as a viable approach for developing quality software. But those perceptions are changing. Businesses and non-profits of all sizes from the Fortune 1000 to the federal government have adopted open source software packages for many different purposes. For instance, the Linux operating system and Apache Web servers power much of the Internet. The Firefox Web browser is gaining substantial market share. Content management systems like WordPress, Joomla, Drupal and Plone are widely used by nonprofits, while Constituent Relationship Management systems like SugarCRM and CiviCRM are increasingly viable options. An open source model can result in powerful, secure, useful, industrial-strength software.
In truth, the idea of “vendor-provided” and “open source” solutions are not opposites. A vendor can develop a software package and then release it under an open source license--typically then making money from support or implementation work. Conversely, many firms provide services, support and even packaged implementations for open source software.
How Are Vendor-Provided and Open Source Options Similar?
Many of the same decision criteria apply to open source and vendor-provided software. Even software that is free to acquire has a long-term cost to implement and maintain it--often called the Total Cost of Ownership (TCO). Regardless of what type of software you consider, make sure you weigh the following options:
Feature Set. It should go without saying that you shouldn’t consider any software package--vendor-provided or open source – if it doesn’t do what you need it to do. This means starting with a detailed understanding of your organization’s needs.
Hardware Costs. What hardware will you need to purchase and support to effectively run the software?
Implementation Complexity. Think through the amount of work it will take to get the software package up and running and customized as needed. Software applications always work best when customized least--this is as true for open source as for commercial. Apply the 80/20 rule, and assume if you have more than 20 percent to change, the cost and complexity is going to spike exponentially.
Training and Support Expenses. Packages that are more difficult for your end users to learn will cost more money in the long run, as you’ll need to provide more training and more support down the road.
- Module/API availability. Smart vendors and open source communities alike provide open and accessible ways to tap into the product and its data, and when appropriate, to extend it. If you don’t see these options, ask yourself why. Will your options to extend functionality be hindered by the lack of a clearly defined API or modular architecture? Or worse, will your data be locked into a proprietary structure, or marooned? Ways to access data should be non-negotiable to organizations that don’t want to get stuck down the road.
Considering The Strength of the Software Community
A strong community of users and service providers can help effectively support any software product and guide its evolution. This is true of vendor-provided software, but it's a particularly important consideration for open source software. Because many open source packages are supported and improved solely by a community, the health of that community is critical. What should you consider when looking at software communities? And how do those considerations differ for open source and vendor-provided products?
- How large is the community? Any product has a user base--the stronger the base, the more likely that the product will be around in the future and continue to improve. Are there companies that specialize in implementing the software? Are there training resources? How about user groups and events based around the product? With open source, it's also important to look at the number of developers and contributors to the code base. While an extensive community is useful for any product, it's critical for an open source product--open source products need a community in order to thrive and grow.
- How frequently are new releases put out? Success in software comes from momentum and innovation. Products that don’t innovate are quickly by passed by their competitors--or, they become vulnerable to the introduction of an open source alternative. Make sure vendors have a strategy and rationale for software releases. In open source, look for communities that can put out important and well planned releases often. This demonstrates the ability to organize, and may be a strong indicator of the ability to survive.
- How advanced is this community? Not all companies or communities draw the best and brightest with the most technically innovative ideas. Some projects are guided primarily by one or two well-intentioned individuals. Others are full of cutting-edge technologists challenging each other for mutual technical respect. You want to hitch your wagon to a community that has intelligent, motivated and innovative plans the same as you would in selecting a company to work for.
How well does a community support its users? You cannot overestimate the importance of support. It is vital both to newcomers who need help getting started and to the experienced users who get stuck. Some vendor-provided software packages are supported solely by the company that makes them--in this case, the quality of that support is vital. Some open source products are supported primarily by a core community of developers and users through online messaging, making the helpfulness and responsiveness of that community a key concern. Vendor-provided software typically provides assurance of some kind of support, but this support might be far less robust than that of an active open source project. Further complicating this subject is that many of the more complex software packages, whether open source or vendor-provided, have communities of consultants and firms that can also provide support. But in practice, support can only be evaluated on a product-by-product basis. What are the support options? What do current users say about the quality of the support?
What Are The Strengths of Vendor-Provided Software?
There are reasons many organizations pay for vendor-provided software, including:
- Ease of Getting Started. Organizations that don’t already have experience with open source projects often find commercial software has a less-daunting road to getting up and running. Vendors often provide sales support and engineering staff trained to make this happen.
- Documentation. Finding up-to-date, well-written and easy to use documentation can be a problem with any software. However, vendor-provided software often comes with better documentation because it is someone’s job to write it and keep it up to date for each release or version of the product.
- Accountability. As opposed to a piece of electronic equipment or a car, “bugs” and defects are expected in a software product, and discussed openly as a risk of using the product. While you’re generally on your own for any issues with an open source package, commercial vendors typically warranty against software flaws that can impact your organization.
- Mature Ease-of-Use. While it varies by product, in general, paying customers and a team of customer-facing sales people often push vendor-provided software into better user interfaces and ease of use. Open source products are often driven by developers instead of business or marketing folks, which can result in user experience and usability being pushed down the list of priorities.
What Are The Strengths of Open Source Software?
Why might you prefer open source software? Let’s explore some of the most common benefits.
- Free to Try, Buy and Update. You can download the full version of an open source software package and start exploring it, typically without paying a dime. You can set up a prototype or rollout the full system without any fee for use. And, as long as you’re careful with customizations, you can likely upgrade to future versions and get access to new features the community has built for you--without cost. Of course, don't forget that you'll typically need to invest time or money into installing, configuring and updating the package, but with open source you have more choice over what and when.
- Ability to Customize and Control. Developers often focus on providing a flexible data model, extensible and/or modular code base, and APIs designed to give customers the ability to customize and modify for their needs. What’s more, while vendor-provided options generally tie your organization to the vendor’s vision for the product, or even occasionally commit you to terms that make it difficult to use other options, open source products allow you more control over your own destiny should you want to do something different.
Community-Driven Solutions. Because open source software is developed by a community with shared needs, there tends to be a greater sense of what is really needed--and what is not. A Darwinian sense of value vetting occurs, and the best ideas get done, and the worst do not. Typically communication and collaboration on the community’s Web site, chat groups, events and conferences drive the most pressing issues directly into the hands of the developers solving problems--cutting out the middle men in marketing, management, sales, etc.
Alignment of Philosophy. Most non-profits find the concept of open source attractive for cultural reasons. The idea that open source software represents value created without the intention of generating profit is a natural fit. If an organization needs to put time and money into software, they often find it preferable for those resources to support a package that is available to everyone without cost.
Critically Assessing Your Own Need
You can likely see benefits and drawbacks to each type of software. There is no single right or wrong answer for all organizations. Instead, you’ll need to decide which strengths and weaknesses matter most for your unique situation.
For instance, if you’ll need to highly customize a package, it’s likely to be more expensive to customize traditional vendor-provided software--if it’s even possible. However, if your organization generally needs lots of training and support, traditional vendor-provided solutions are likely to be a better fit.
Start by building a list of your needs, researching and weighing options on more factors than just cost. Conduct thorough due diligence, compare features and, whenever possible, try out the software. Do not allow the relative accessibility of an open source system to tempt you to start using it without having a solid set of requirements to compare against commercial alternatives. Likewise, you should never pay for software without researching its open source alternatives.
When it comes down to the wire, open source software and vendor-provided software aren’t so different. It’s critical to look at the features, attributes and costs for each--and then weigh the unique benefits each model can bring. By choosing to use an open source system, you are tapping into a community of peers and taking more control of your software destiny, but you are also choosing a course of action that will require a different mindset--and perhaps more work to support--down the road.
In the end, there’s no easy answer. Open source software isn’t likely to be a free-and-easy cure to all your woes, but it’s certainly a viable option worth considering. Vendor-supported solutions don’t have a monopoly on solid feature sets or good support, but they may be a faster and easier choice especially for simple needs.
But don’t let the choice overwhelm you. The possibilities don’t have to be dizzying if you break down your needs and considerations, and compare the options side by side.
For More Information
Nonprofit Open Source Initiative Primer
A useful overview of what open source software is, including a chapter on comparing vendor-provided and open source options, provided by a nonprofit organization dedicating to facilitating the use of free and open source software in the nonprofit sector.
Vendors as Allies: How to Evaluate Viability, Service and Commitment
A look at how to evaluate the intangible aspects of vendor-provided software, like long-term viability, support and their commitment to your organization.
The definitive place to research and download open source software.
Jeff Walpole is the CEO of Phase2 Technology, a Web application development and consulting firm based in Washington, DC, with specialized expertise in the open source community. More insights on open source, Web application development trends and Web technology can be found on the company’s staff-written blog at www.agileapproach.com. If you have feedback for the author on this article, please send it to firstname.lastname@example.org.