Open source software debuted 20 years ago in February. While arguments attempting to define its actual purpose (free speech versus free beer) sometimes seem perpetual, it has opened up new possibilities for organizations looking for affordable and customizable software code to help run their businesses and drive innovation.

Initial skepticism regarding free software and questions about the business model (“Why would programmers work for free?”) have led to steadfast enterprise adoption of open source software, with an array of options such as “completely free,” “free to a certain number of users/functions” and “free but with paid support licenses.”

As someone who has administered hundreds of Linux servers (which run Red Hat via paid support subscriptions, although it’s worth pointing out that CentOS is a totally free alternative with largely the same code base) I can attest to the benefits that open source has provided both to organizations and the technology realm in general. Without it the internet would be a far different place; much more limited, expensive, less robust, less feature-driven and less scalable. Big name companies would be much less powerful and successful as well in the absence of open source software.

SEE: Linux distribution comparison chart (Tech Pro Research)

There’s something to be said for proprietary software as well, however; it also has a rich history of providing many proven benefits to organizations. If your business is trying to decide whether to go with open source or proprietary products there are some insights which can help you make the decision. Of course it’s worth pointing out many companies don’t follow the “either/or” method but rely upon a blend of both open source and proprietary products. Let’s look at the pros and cons of each.

Advantages of open source

Cost

Obviously the foremost advantage here is cost. Saving money on software allows organizations to invest money elsewhere such as for high speed networks or faster storage arrays, and also allows them to pay good wages to staff such as the very programmers who will work with (or on) the open source code.

Flexibility

The flexibility of being able to customize and improve source code also brings significant gains, as well as to be able to participate in and provide benefit to overall software communities devoted to the same goals.

No requirements

Avoiding cumbersome licensing requirements or activation headaches is another noteworthy boon to open source, which frees companies from some of the onerous – and potentially punitive, if violated – mandates of proprietary software usage.

Freedom

Finally, I would list freedom as an advantage of open source. Proprietary systems can be entangling as well as confusing and can put companies in a position of dependency upon the vendor or being charged for software components or features they don’t need or want. Additionally, a vendor going out of business can negatively impact an organization using proprietary software, but open source software will go on so long as there is a developer community (whether internal or external) behind it.

Disadvantages of open source

It’s not all roses in the realm of open source; as the saying goes, nothing is ever truly free.

Support

One disadvantage to open source involves frequently subpar or poor support (except with paid support subscriptions) which often entails less-than-helpful knowledgebase articles or user forums with lackluster response rates. The ability to get a technician on the phone or engaged via a chat is rare.

Documentation

Documentation is also another problem. Many open source products I’ve used were poorly documented – or not documented at all. In many cases I’ve found documentation to be outdated and therefore useless as well.

Complexity

Undue complexity can be another issue. Case in point: the open source monitoring software Zabbix can be powerful, but also difficult to learn and administer. When problems occur, trying to straighten them out is a challenge, especially due to the support difficulties I previously described. Developers may also have a difficult time getting up to speed on code which may not be the most friendly to users and programmers, resulting in wasted labor.

Advertising

Annoying advertising components may be another factor which takes the shine off open source (especially in consumer products) but it should be pointed out that companies have to make money somehow, and if the ads aren’t intrusive or obnoxious sometimes it’s just a part of life.

Easier to detect vulnerabilities

Finally, one of the advantages of open source – transparent, customizable code which is accessible by anyone – can be turned into a disadvantage. If the code contains vulnerabilities which can be exploited, malicious individuals may be able to capitalize upon this. Without a proprietary vendor on the hook for releasing updates, fixes may be slower to arrive (though to be fair a strong developer community can develop solutions more readily as well).

In terms of the advantages/disadvantages of proprietary software, it would be easy enough to reverse the set of points for open source and list them below (for instance the advantage of open source software being free turns into a disadvantage for proprietary software in that greater expense is involved), so here are some unique points to consider.

SEE: Open source champion Munich heads back to Windows (free PDF) (TechRepublic)

Advantages of proprietary software

Single vendor

Often paid software involves a “one stop shopping” experience whereby a single vendor can provide all the applications and tools you need. There is no better example than Microsoft, which sells operating systems, productivity applications, messaging programs, and the like. By comparison, open source often involves a piecemeal or a la carte approach.

Enterprise-grade products

Proprietary software is often made and tailored for large-scale enterprises with a plethora of features. Vendors are well aware of industry standards and standard company requirements and include these concepts in their programming. This can help companies keep with the competition.

Professional interface

In my experience, proprietary software provides a better, more standard interface which generally fits the needs of most users. Maybe looks aren’t everything, but the polish of a paid product often outshines free counterparts.

Routine updates

Proprietary software is often updated frequently and while some might suggest vendors to do so in order to get more money out of customers for paid upgrades, they are also on the hook to patch vulnerabilities and exploits.

No programming needed

Your organization may have no need to customize or add code to software, so that particular allure of open source may be negligible to your business. Proprietary software is intended for out-of-the-box usage without much if any tweaking to use.

Integration across products

Many proprietary software packages integrate with other applications for better ease of use and convenience. For instance, Microsoft’s Lync instant-messaging client hooks into Microsoft Outlook, so you can see people’s availability status when reviewing emails, and instant messaging conversations are saved to Outlook.

Investments can pay off

One way to look at the issue of cost is that investing in proprietary software which has features open source lacks, or which works more effectively than open source can actually pay off down the road. Let’s say you spend $10,000 on software which then yields a return of $50,000 since your company was able to use this product to generate revenue. That’s a net profit of $40K. In similar fashion, vendors often reward large-scale, loyal customers with various discounts, incentives, or even free events such as dinners or golf outings.

Disadvantages of proprietary software

Products can be bulky

Proprietary software packages may contain a lot of bloat and unnecessary items. Microsoft Office, for instance, often installs many components few employees actually use, such as Access or Publisher. Yes, you can buy different versions or only install what you need, but many options are confusing and some people just elect to blindly install everything in case they need it.

Cost surprises

Aside from the issue of cost, sometimes pricing plans can contain surprises which can blindside you. There may be monthly or yearly fees, renewal price increases, or other hidden elements which require undue exertion to uncover when examining contracts.

Confusing license schemes

I used to be the main Microsoft licensing individual for a company I worked for and I have taken chemistry tests which were less complex than figuring out their licensing arrangement. It’s no exaggeration to say that there are dedicated experts out there whose career involves interpreting these arrangements for other people – that is their sole job.

Dependence on vendors

The flip side to the “one stop shopping” advantage is that you may end up being overly dependent on the vendor, locked into a closed system. The vendor calls all the shots on the components and features of the software you use, and while they may solicit and respond to feedback such changes can be slow to arrive.

Switching can be hard

Investing in proprietary software creates a repetitive model whereby oftentimes companies continue their investments in products based on the money they’ve already spent. In other words, fear of having wasted their money compels them to continue using products which may not fully meet their interests. Difficulties switching to competing or alternate software involve fear of having to start all over again, the logistics of replacing one software package with another, retraining staff and other “don’t rock the boat” elements. Some of this also applies to open source software to be sure, but without the financial commitment involved switching can be easier and less impactful in those scenarios.

Also see:

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays