Open Source Software

What is Open Source Software (OSS)

“Open source software is software that can be freely used, changed, and shared (in modified or unmodified form) by anyone. Open source software is made by many people, and distributed under licenses that comply with the Open Source Definition.”

Open Source Initiative

Is it Free?

Yes, and no. The source code for Open source software is available for free but there are costs involved beyond the core code.

While the core programs themselves are free there are costs for hosting, installation, configuration, and customization where required. Many open source programs have add-ons available to extend functionality, add-ons can either be open source or commercial products.

What types of OSS are available?

It might be easier to ask what types of OSS aren’t available. There are OSS alternatives for almost every type of commercial software. There are operating systems, business suites, media players, graphics and desktop publishing applications, databases, and so on. The biggest issue isn’t “is there an OSS version of the software you need” but “which OSS would best meet your needs”.

What advantages/disadvantages does OSS have over commercial software?

  • Cost: The cost of commercial software can run in the hundred’s or thousands of dollars per application just for your initial installations. After that there are often recurring upgrade or licensing fees. There can sometimes be upgrade and licensing fees involved with some OSS but they are generally drastically less that commercial versions, if there are any at all. However, OSS may be slightly more expensive to maintain if you don’t have a knowledgeable person on staff to handle upgrades and modifications (see Security).
  • Security: Because OSS software is community driven and the code is freely available, bugs and vulnerabilities can be located and corrected much faster than in a proprietary system that relies on a relatively small internal team to find and address problems. The one downside is that OSS does tend to require more frequent upgrades than commercial software; not because it is more buggy or less secure but because there is a new release every time a security issue or major bug is found. Commercial companies tend to wait and bundle a lot of bug and security fixes, and modifications in one large release. This means that instead of problems being addressed immediately, users may wait months before their software can be upgraded.
  • Usability: Here commercial software may, in some cases, have an advantage over OSS. Because the majority of any OSS community is generally developers, the creation of an application can sometimes be more focused on functionality and security, rather than the user interface (UI) and documentation. The size of the community has a large impact on this. A large community increases the odds of technical writers and UI developers being involved. Smaller communities can sometimes have interfaces that may not be intuitive for non-developers, or have documentation that’s incomplete or written from a developers perspective. The is a wide variation in OSS projects and should be evaluated on a case by case basis.
  • Web Environment: Some commercial software, like enterprise level website content management systems, require specialized software be installed on the server, in addition to the program itself, to be able to run. In some cases this specialized environment can cost as much or more than the program itself. OSS software is generally written to work with other common OSS applications, if any extra software is required, mostfrequently this would involve things like a database application or specific operating system.For example, a client was using a commercial enterprise level content and member management system that cost roughly $1000/month in licensing fees. In addition, their web server had to have software installed in order for the program to run which made their web hosting expenses another $1000/month and their annual costs over $20,000 a year.
  • Software availability and compatibility: When evaluating an application it is important to look at what other software it will have to interact with. Do you need it to connect to a database, or bookkeeping program? Are all the files you receive created in Windows based programs? What do you need to do with the files? Cross platform compatibility is much better now than it was in the past when it was common to not be able to work with a file because it was created on a different operating system. It is better, but some issues still remain.
  • Customizable: In general, OSS is more customizable because the core code is freely available to work with, which is generally not the case with commercial software. Commercial software can provide a lot of built in options but if you want to modify the program beyond these options, it is either not possible, or expensive; and can in some instances create a problem with upgrading down the road. Many OSS programs are written so that they can be customised in way that will not seriously impact the ability to upgrade later on.
  • Modular/scalable: In general, OSS is more scalable than commercial software, many OSS applications come as a core program with many add-ons available. These add-ons can provide small modifications to the core program or drastically expand the overall functionality. Some commercial software does offer bundles that expand on their core application’s functionality. Unfortunately, it is often in the form of bundles that can cause users to have to purchase more than they actually need. OSS add-ons allow users to expand or modify the program precisely according their own needs.