Open Source Software Solutions
Open Source Software can offer an incredible set of advantages to any business if you can approach it with a full understanding of how the open source process works, and are willing to work within that process. The most common mistake is assuming that the vendor and support models of the propriety software market are applicable in the open source arena. The two models are interchangeable in the same sense that a bus and a dump truck are interchangeable modes of transportation. There isn't anything necessarily wrong with either the bus or the dump truck, but they each are unique in many respects.
At Geekwright we are quite familiar with the open source world. We can assist you at many levels if you are considering incorporating open source in your business strategy. Here are some of the things you need to consider that we can help you with:
Of course the software features are important, but selecting the best package for your needs gets more complicated. There are many different types of open source licenses, and you need to make sure your intended use isn't in conflict with the license. Open source software also varies widely in quality and viability. Some products may look nearly perfect at first blush, but suffer from attrition of key developers, poor quality control, lack of proper change management or many other issues. If your business is going to depend on it, you need to have viable support and risk mitigation plans in place.
Patch/Release Monitoring and Deployment
Development cycles vary wildly between projects, so you will need a plan for monitoring the release activity of the software you use, as well as a plan for deploying updates. You have to consider critical security patches, routine bug fixes as well as new releases with added features.
Virtually all open source projects have mechanisms to report bugs and discuss other issues, but different projects have wildly varying response times and expectations for the technical proficiencies of the bug reporter. Quite unlike the typical proprietary software vendors, a bug report in the open source world may well go directly to a key programmer rather than than being buffered by a help desk or support center. Understanding and exploiting this key difference can actually make it possible to build a relationship with the developer which could result in a better quality of support from the open source projects. The peril of ignoring the difference could even be complete alienation of the developer, leaving you without direct primary support. Proper planning and establishing a process for issue reporting are key to your success.
Training and Education
Some open source projects have a slick manual, classes and books available, while some might have some how-to articles in a web site, and some others might only have an archive of a mailing list where people have talked about using it. Depending on the nature of your open source plans, you may need training or education for end users, support staff, developers or even management. If gaps exist between your needs and the available materials, you will need a plan and the resources to fill them.
If open source is that risky, why consider it?
After reading all of the above, you might be thinking you would have to be crazy to consider open source software. The truth is, virtually everything mentioned above applies to proprietary software as well. Let's just consider one case as an example. The viability of a software product is a very common concern. In the proprietary software market it is quite common for a large company to insist on some sort of code escrow arrangement with a smaller or troubled vendor. This sort of agreement is sort of insurance for the buyer, and gives the company access to the source code and rights to use it in the event that the vendor can no longer support it. In the open source world the source code and the rights to use it are virtually automatic. There is no additional cost or legal agreement needed. Good planning is good planning, and is critical to your success with open source or proprietary software.
There are many ways to turn the differences of the open source model into business advantages. In the traditional proprietary software model, the relationship between customer and vendor is a strict compensation driven model. The customer pays the vendor. The customer can request that a feature be added to the software, but the compensation has already occurred. The vendor must perceive a significant future compensation potential to be at all influenced. Open source is driven more on a participation model. Contributions of code, training materials and other resources make you a participant, not a sale. As a participant, you can more easily influence the future directions of an open source project. A look through the list of developers contributing code to some open source projects shows large well known companies are doing just that. As part of an overall open source strategy, participating in projects that can benefit your business can be an effective IT investment.
Geekwright is ready to help your business develop an effective open source strategy. We offer services ranging from being a single point support solution for open source projects you depend on, to helping you develop in house open source expertise.