26 Feb 2015
There’s nothing more punk-rock than the sort of DIY ethics currently fueling open-source communities. The general subversiveness combined with an apparent twice-a-week minimum black t-shirt rule among developers may make the open source scene look kind of like a cool-guy/girl clique, at least from an outsider’s perspective.
Everybody is rebelling against something, right?
In the cloud computing ecosystem the basic theme is rebellion against failure, according to whatever that means to whomever is considering the question. And within that question is the other major decision; whether the given needs call for an open-source, or proprietary architecture. So let’s take a closer look at what the major differences between those two models mean for businesses.
Charging for Software
Generally, open source models are free and won’t charge for the use of software. Proprietary models may offer free packages at first, but ultimately always end up costing the customer. Many updates to proprietary software are free, but significant upgrades and the ability to add new packages often comes with a fee. Charges can also come in the form of a per-user fee. Open source options are based more on the development of a community. They take direction from the demands of the market and tend to start with a small collection of developers and users. Successful projects are quickly picked up, while others are left to languish in obscurity.
Vendor lock-ins occur with proprietary software. This means that the website and software used with a proprietary vendor can’t be taken to another provider. It also limits the ability to use other providers with the knowledge to use a particular product. In contrast, open source products are more flexible and allow users to move between different systems freely. Open source cloud computing offers a greater range of compatibility between several different products. Typically, if a proprietary solution goes out of business the end-user is left with an unusable product. With open source projects, there is usually another project or fork that can take off where the old one left off.
Modifying System Code
Proprietary software doesn’t allow the manipulation of the source code. Even simple modifications to change styling or add features are not permitted with proprietary software. This can be beneficial for users who are happy with a set of features that is completely managed by one company. For those who like to tinker and adjust software to their needs, it may not be an ideal solution. Open source options allow for modifications and a company can even create an entire fork based off the existing software. When a feature doesn’t exist within an open source application, a developer can be hired to incorporate the feature into the product.
Licensing and Hosting Costs
Using proprietary software isn’t for the faint of heart or light of wallet. Licensing and hosting fees are often higher with proprietary software. By using open source options, users can avoid having to pay operating system costs, and per-product fees to use the software. This provides more flexibility to those who run open source platforms. A new software package or feature can be quickly added on to an existing installation without the need to purchase a license. Additionally, proprietary software requires the use of commercial databases, which further add to the total cost of operation.
Product documentation is often more involved and useful with open source software. The reason for this is the large communities that often follow and support open source projects. Help documentation for proprietary software is often only surface level. This is partially due to the service-based nature of proprietary software. It’s more profitable when consumers have to rely on the company for support and technical services. However, this can negatively impact business if an update goes wrong and technical support can’t immediately correct the issue. Open source applications come with substantial documentation that is typically updated with each product release and freely available online.
Security and Performance Considerations
When you have an entire community of developers poking and prodding at an application, you tend to have better security. Many of the features that are put into proprietary software are designed to keep the software from being modified. This adds bloat to the code and prevents the option for a light and lean product. Additionally, excess code leaves more room for security and stability flaws. With open source software, there are many more eyes looking at the code and fixes tend to come in much more quickly than with proprietary software. Stability and advanced threat defense tends to be tighter with open source applications, as long as users keep their software updated. Out of date applications are just as vulnerable to hacking and infiltration as proprietary systems.
Open source and proprietary cloud services both aim to provide end-users with reliable software. Some users prefer the backing of a large company like Amazon or Microsoft, with a tailored list of compatible programs and services. Others prefer the interoperability and flexibility of open source alternatives like OpenStack or Eucalyptus. It’s not necessarily an issue of right or wrong per se. It just depends what the user’s specific needs are. For some open source software is the obvious choice, while those who want more predictably managed solutions may find proprietary solutions the ideal choice.