In part 1, I highlighted four myths (FUD) that I felt needed to be addressed:
- OSS is bad for the economy and defies the values of capitalism
- OSS support is bad, slow, and/or non-existent
- OSS products are second rate ("created in the garage" mentality)
- OSS can't be good because it is free
There are many options for getting OSS support. I will list six that I am aware of.
Single Vendor Support
Many well established open source projects offer support for a fee. Typically these support fees are minimal when compared to proprietary software where they charge 18-21% of the purchase price. Some projects offer a totally free version of their software with a subset of features but offer an enterprise license with full support that has the complete bundle of features. In either case, this model is similar to the normal proprietary model where you pay for the support of your product. Also, many major software vendors like IBM, Sun, and Oracle are leveraging open source products within their software offerings. In cases like this, these vendors provide support for the OSS products. The only downside to this is they are often not certified on the most recent version of the OSS products.
Stack Vendor Support
In this model, a single company provides support services for a suite of products. Companies like SpikeSource & SourceLabs provide support for a suite of products while Redhat provides support for its own "appstack" which includes jBoss, Red Hat Linux, Apache, MySQL, PostgreSQL, and languages like Perl and PHP. The following diagram is from SpikeSource's web site that shows a few different stacks that are supported.
All OSS products have community support. Many people not familiar with OSS believe that this is nothing more then interacting with some hacker in his garage. This might be true if you are betting your business on a product with a development team of three (which is not highly recommended). But most serious OSS contenders have a huge community following which provides 24x7x365 support from people all around the world. This is where I see an advantage of community support over proprietary software support. In the OSS world, it doesn't matter if you are a billion dollar company or a startup, your issues are equally important and addressed. In the proprietary world, top customers typically get priority over others because huge contracts carry a lot of clout. Many critical fixes and security issues are fixed and patched literally overnight. In fact, if you know how to fix the issue, you can make the changes and submit it to the project team to be reviewed and possibly patched. That beats waiting for the next service patch!
Do It Yourself
You also have the option to not pay any support and fully support the OSS yourself. This makes sense for most non-mission critical products like blogging software (WordPress) and wikis (Mediawiki), but is not recommended for mission critical products like server based Linux and ESB's like Mule.
Another option is to use consultants. This can be individuals who are experts with certain OSS products or companies that specialize in installation and/or support services for various products. You can see a huge list of consulting companies on Sourceforge.net who specialize in certain areas. Some companies use consultants for installations and upgrades, but chose the "Do it yourself" method for everything else. Sourceforge also offers support services for several products.
Mix and Match
The sixth model is to mix and match a combination of the five support models above. Many OSS products rely on a LAMP (Linux, Apache, MySQL, PHP) stack. A company may already have a stack support vendor it deals with and may choose one of the other models to support the specific product. I'll use my Mediawiki example again. Mediawiki may not be a mission critical application at your company, but a few other applications might rely heavily on LAMP, including the wiki. The LAMP stack may already be covered by a stack vendor so you may chose the community or "Do it yourself" models for the wiki.
So the next time somebody tells you that you can't get support for OSS, forward them this link. This myth is pure FUD. I am not saying the all OSS products have good support, but then again, that is true for proprietary vendors also. Part of the vendor selection process for OSS should include your support requirements. If support is critical, make sure you pick a product that has strong support options in one or more of these models.