I actually believe that this article is unnecessary, since open source has become widely accepted, and is in use pretty much everywhere already. Regardless, I think it is worth making the point once more, as it really is part of the foundations on which software is built, from my point of view. So here we go, in point form:
- Your challenges look a lot like those of other businesses – but they are not 100% the same, so software needs to be tailored to your needs. If you are paying for the software, paying for it’s customization makes it cost-prohibitive for all but the largest businesses. Open source means that you can concentrate your budget on the parts that make it yours, and let the open source community handle the parts that are in common.
- The best way to ensure that software works reliably is to test, test, test – and the best testing is done in production, believe it or not. So the more people that are running the software you are considering, the less likely you are to have fundamental problems with it. Open source keeps the barrier to adoption low, meaning it gets widely used, is better tested, and less likely to have bugs.
- Support for commercial software relies on software engineers, some of whom were involved in the creation of the software, which is great. In all likelihood, though, the group of engineers who really know the software all live in the same timezone, and don’t want to work a 24 hour day, so there are people who have been hired to get knowledgeable who are also involved. In the case of open source, in addition to the support from the community being free – the people who really know the software live all over the globe, and are generally willing to support at all hours. In addition, for many of the enterprise-ready open source projects, there are companies like RedHat willing to sell you support at a fraction of the cost of the commercial software support contracts. So if you really need a single throat to choke (so to speak), it is available!