This term ‘Open Source’ pops up in discussions about Community Health Maps and the blog and I realize many may not really know what it means. That’s OK, I’m going to explain it here. From both licensing and software development perspectives, there are two broad categories of computer software: proprietary and open source. The figure below shows some examples of both types.
Proprietary software is created and sold by a corporation. They create software and sell it to make a profit. When purchasing it you may also be paying for the privilege to get help and support using the software. Or you may have to pay extra for that privilege. Two examples of proprietary software are Microsoft Office and Esri’s ArcGIS. There is also a license that accompanies a proprietary software package. When you purchase software, you are actually just buying a license that gives you the rights to operate the software. You never actually own the software itself. That software license will restrict use in some way:
- the number of computers you are allowed to install the software onto,
- the time period that the software will operate, and
- the number of features you are licensed to use.
Open Source Software
Open source software (OSS), on the other hand, is created by a community of software developers (programmers). It is created to solve a common problem and is made available freely for everyone’s use. Open Office, Android and QGIS are examples. Open source software also comes with a license. That license tends to grant rights to users. For example:
- The freedom to run the software for any purpose.
- The freedom to study how the software works.
- The freedom to redistribute copies so you can help your neighbor.
- The freedom to improve the program.
Access to the source code may not be important to most, but the freedom to use the software as you see fit very well may be.
Why Give it Away for Free?
To many it is counter-intuitive for something of value to be given away for free. However, open source software development isn’t entirely altruistic. Most of these programmers work for companies providing services with the software. Those involved in an open source project simply feel that this is a better way to create software. There are several reasons for this:
- there are a lot of “eyes” on the code and bugs can be spotted and fixed quickly,
- having access to the source code let’s you understand how the software is working, it’s not a ‘black box,’
- you are not locked into a particular vendors system, licensing scheme or software release schedule,
- you have the freedom to create any missing functionality that you need
- you benefit from the contributions of others and vice versa.
Making Money with OSS
Obviously you can provide services using OSS. However, there are other ways to make money with open source. Companies like Facebook, IBM, Sun, and Google are all heavily involved in open source. Let’s take the example of Google. They may be the world’s largest open source company. One of the keys to their business are vast server farms, which include several million servers. Google never would have been able to get their company off the ground if it weren’t for the Linux operating system. The cost of putting a proprietary operating system like Windows on all those servers would have been prohibitive. Now their open source Android operating system is the most popular on the market with a 66.5% market share. In another example, even Esri’s ArcGIS includes some open source software components ‘under the hood.’ This is because some open source software licenses allow that software to be bundled with proprietary software and sold for profit.
Any given open source software is considered a ‘project’ and they aren’t all user friendly and useful. You still have to determine if the software will meet your needs. An important aspect is getting help and support. Things to look for include a good online manual, ‘how-to’ books, and an active listserv.
Let’s take QGIS as an example. It has fantastic support. It has a great online manual, training material, case studies, sample maps, commercial support, email listservs, plus a number of ‘how-to’ books written by people who use QGIS. The QGIS project does not have a corporation behind it. It has about 30 independent but dedicated core developers. They work in a democratic fashion, voting on new features to be implemented. As an end user you can provide input with feature requests! With QGIS, if there is a feature you need that doesn’t exist, you can hire (sponsor) a programmer to create it. It then may become part of the core program or it may be written as a standalone plugin. That feature then becomes part of the software and everyone benefits. As a user of the software, you can easily contact someone involved in developing the software and ask questions and request features. With proprietary software you never have such direct access to the development team. You can also donate to the QGIS project. Your donation will pay for developers to fix bugs and implement new features. Beyond programming there are many ways people can contribute to a project like QGIS. You can report bugs when you encounter them, write and translate documentation, contribute a case study, and write books.
Open source is both a development methodology and a software license. In the end it is really impossible to say that a proprietary software like ArcGIS is better than the open source equivalent like QGIS or vice versa. You must decide if either works for you, and freedom and monetary cost may be part of that decision.
There are a lot of acronyms in GIS and specifically open source GIS. Here are some you may encounter:
FOSS = Free and Open Source. Historically there were two similar software movements, Free Software and Open Source software. They are so similar that they now are lumped together, and people simply use this acronym when talking about them.
FOSS4G – Free and Open Source for Geospatial. This is free and open source software specifically for mapping. OsGeo (below) holds annual open source GIS conferences called FOSS4G. The next is coming up later this month in Bonn, Germany.
OsGeo – Open Source Geospatial Foundation – this is a non-profit organization whose mission is to foster global adoption of open geospatial technology by being an inclusive software foundation devoted to an open philosophy and participatory community driven development. To be considered an OsGeo project a software must meet certain requirements. QGIS is a project under the OsGeo umbrella.