Many of our customers have expressed in various ways (email, meetings, RFPs, etc.) a position on the use of Open Source software in their organizations. Some have been adamantly opposed to the use of any Open Source software on their networks, while others have asked for purely Open Source solutions. In most cases, however, the decision to use Open Source software is left up to us, the developers, to decide. When faced with such a decision, how can you best answer the question: Should I use Open Source software, or not?
Back in the day, before the term “Open Source” came about, common terms used for describing the cost of a particular piece of software included “freeware,” “shareware,” and “commercial.” Freeware was software with no price tag attached – you could use it for free, no matter what. Shareware, on the other hand, was software with a minimal and sometimes conditional price tag. You could use it for free for some period of time, with certain restrictions. If you wanted to remove those restrictions, you paid a price – usually a fairly nominal cost, sometimes as little as a few dollars. Finally, commercial software was pretty much anything else – you couldn’t use it without paying for it.
The Cost of Open Source Software
One important consideration in the use of Open Source software hearkens back to those very same categories. What is the actual cost to use the software? Open Source does not necessarily mean free. The Free Software Foundation defines free software as “software that respects users’ freedom and community. Roughly, the users have the freedom to run, copy, distribute, study, change and improve the software. With these freedoms, the users (both individually and collectively) control the program and what it does for them.” It goes on to say, “Thus, ‘free software’ is a matter of liberty, not price. To understand the concept, you should think of ‘free’ as in ‘free speech,’ not as in ‘free beer’.”
Open Source Restrictions/Limitations
The fact is, liberty comes with a price – even if it isn’t in dollars. The GNU General Public License, or GPL, which was one of the first and most widely used open source licenses, comes with restrictions. One of the most important restrictions to consider is that if you use GPL-licensed software in a larger software system you are developing, the larger system must also be licensed under the GPL. Yes, this means that if you’re building a system for commercial sale, and you use GPL software as part of it, you must provide your customers with the full source code to your entire system – not just the GPL parts of it. You must allow your customers to change and/or redistribute your software, create derivative works, and so forth. If you are not willing to do this, you cannot use any GPL software as part of your system.
Other open source licenses, such as the GNU Lesser General Public License, or LGPL, do not carry this same restriction. You can create proprietary software using open source LGPL software, without having to release your source code. The specific terms of each open source license vary, so it is important when choosing which open source software to use to carefully read and understand the licenses so you know what your obligations and restrictions are.
So, free as in what, exactly? Free, Open Source Software is not always “free as in beer” (without cost) or “free as in speech” (without restrictions). Rather, it is “free as in white box” – you have full access to the source code to read and understand it, make changes, fix bugs, and so forth. You may still have to pay for it (depending on who distributes it), and there may be restrictions on your use of it or how you can license your own software (depending on the license).
Should you include open source software as part of your software development effort? As you can see, it clearly depends on your needs. For projects intended to be distributed in an open source model, it’s probably the right thing to do. For systems which, due to contractual or legal obligations, must remain proprietary, you might want to steer away from many open source offerings.