Getting the Most out of Open Source Software
Open source software promises great benefits in flexibility, speed and ease of programming … and, of course, significant cost savings. Yet many CIOs/CTOs fear thorns that sometimes can be hidden among the roses. They worry about support, quality, and licensing complexities.
This article explores how you can minimize open source risks – and maximize the benefits.
Open source, of course, refers to software whose code is made available to you. Open source software is usually given away free. In contrast, most software that you purchase, like Microsoft Word, is “closed source” – meaning they sell you a compiled version, that is an unintelligible string of zero’s and one’s.
- Quality: There are many thousands of open source projects – some enormous, some small; some full applications, some code libraries that can be incorporated into projects. Some of the open source projects are extremely high quality — for example, GNU (creator of many free Unix tools, such as C++ compilers) and the Apache Foundation (distributor of the Apache Web server and numerous other tools). Other open source projects are of low quality or incomplete, but a computer scientist has no trouble assessing quality.
- Free: You can save many thousands of dollars by using Linux (free) instead of Solaris; MySQL (free) instead of Oracle or Microsoft SQL Server; GNU’s C++ compiler (free) instead of Microsoft’s Visual C++ compiler. However! Even with free software, usually time and cost is involved in customizing the software for your purposes and integrating it into your Web site or other system.
- Modifiable: If you’d like to add a feature or fix, or change the way something is done, you can do that — since you have the source code. You can then even contribute your changes back to the open source project, and if there are problems with it, someone will probably find them and fix them.
- Transparency and Security: With commercial software, you generally have to hope that they did things right – but with open source software, you or your programs can check.
- Support: Support for open source projects is inconsistent. You can ask questions of the developers, in IRC chat rooms or newsgroups, and sometimes there are consultants who will help you for money, but for less prominent open source projects it can require more effort to find answers to your questions, or solutions to your problems. This is an area where bringing a reliable custom software firm into the team can be a big asset.
- Incompleteness: Many open source projects are released before they are polished – and may never become polished. So it’s often a good idea to work with programmers who are adept at evaluating what’s needed to get open source software into a state that you can use, and who are experienced at adapting it to exactly suit your needs.
- Licensing: There are a few types of open source licenses, and the most restrictive of them (GPL — the GNU Public License) may prevent you from using their code in software that you sell. It’s almost always okay to use their code on your own websites (or on your clients’ websites); but if you are distributing a compiled program to many people, you have to carefully check that the license permits you to incorporate that library. Usually this is not a problem, as less restrictive licenses are quite popular, and as projects with more restrictive licenses sometimes offer a separate commercial version (moderately priced) that removes those restrictions.
If you have questions about using, adapting, or finding support for a particular open source software package, give us a call at 212-447-1100.