This article was contributed by guest author: Howard Butler
An interesting property of Open Source Software (OSS) is that many of its users might not even know they’re using it. From your Garmin Nuvi telling you where to drive, to the multitude of websites you visit providing you with information, to ArcGIS processing your GIS data – OSS fills many niches in a unique and ultimately profitable way for users and software developers.
This article will describe what OSS is, why it can be a great fit for some areas of the GIS software domain, and how community-developed software can provide more reliability, flexibility, and functionality in well-suited situations.
What is OSS?
OSS typically possesses at least these three distinct properties:
- Free (as in freedom)
- Free (as in beer)
- A development community
Free (as in freedom)
Software licensing tends to touch off vigorous religious wars, but an important property of OSS is a software license that allows you as a software developer or a user to have freedom in how you utilize the software. This might include things like repackaging it and selling it under another name, embedding it in your own software, or altering the software in such a way that it suits your needs.
To achieve free as in freedom, you must have the source code, and you must be able to alter it in ways you see fit.
The major difference between the various Open Source licenses is the amount of freedom they allow a developer. Some licenses, like the widely used General Public License (GPL), essentially enforce that the source code to the software must be made available forever. Others, such as the widely used Berkeley Software Distribution (BSD) license, allow a developer to do just about anything they want with the software as long as the work is credited.
When using OSS in your own software, it is important to recognize the differences in the licenses and choose software that is licensed appropriately for your expected usage.
Free (as in beer)
Another property that all OSS shares is that it is free (as in beer).
Besides giving you freedoms as defined by the license, software developers are also giving OSS away for free. There are many reasons why they might be giving it away for free, but here are some of the most common business-oriented ones:
- They’re using it as loss leader for their services.
- The software itself has very little value to them or the reputational benefit is more valuable than the software itself.
- The ability to capture value has moved further up the software stack and, by giving it away for free, they ensure that a key component of the stack is their technology – enabling them to more easily capture the value that has moved up.
Whatever the reasons for being free, it must be noted that OSS is never truly cost free. A widely spoken maxim in OSS is: “OSS is free if your time is worth nothing.”
Time is required to learn, to leverage, and to use OSS, but in exchange for this investment, you gain flexibility, capabilities, and control of your own software destiny.
Using OSS that possesses the properties I’ve described will prevent you from being in the position where a vendor leaves you completely stuck. You will always have the option of moving the software forward (even by yourself if it came down to it) to keep your operations going. This flexibility is one of the most attractive items when organizations are evaluating OSS for long-term usage.
A development community
The final important property of OSS is a development community. OSS without a development community around it has almost no value and OSS lives through its community. There are as many types of OSS communities as there are software projects. They range from the stereotypical one-lone-guy-in-a-basement code hacker to corporately-sponsored multi-million dollar development endeavors.
Software without a community has very little value and provides you with no leverage as a developer or user. When evaluating OSS projects for their fit within your software infrastructure, determining the health of its development community is just as important as evaluating how the well its licensing fits.
In the OSS GIS software domain, an entity such as OSGeo exists to support and enable these software development communities.
OSGeo is a federation of software communities focused on geo-related activities, and OSGeo fills support roles for these communities by allowing them to leverage their common interests. Utilitarian activities, such as maintenance of source code repositories or bug tracking software, are one area where OSGeo plays a very helpful role. More ethereal items, like how to market and create visibility for OSS projects, are others that OSGeo helps to provide.
Where is OSS active in the geospatial software domain?
There are many software projects that are highly active in the geospatial software domain. Below is a short overview of some of the projects that might be of interest to the readers of the Aerial Services Geospatial E- Newsletter.
GDAL • www.gdal.org
The granddaddy of Open Source geospatial software projects is GDAL. GDAL stands for Geospatial Data Abstraction Library, and it is a collection of software libraries and command-line utilities for translating and manipulating raster and vector data. GDAL’s strength is focused in format translation and it is the most significant portion of the software. GDAL provides access to over forty raster formats and over thirty vector formats. GDAL is even used by ESRI for raster translation and Google Earth embedded GDAL in their software for format translation. If you are looking to transform data into a specific format, project some raster data, or do some image math, GDAL is an excellent choice.
OSSIM • www.ossim.org
Say you had 10,000 raw sensor images that were suitable for unsupervised image orthorectification. OSSIM would be an excellent choice to provide you with the capabilities to accomplish that task. OSSIM stands for play on “Awesome Imagery Processing,” and it is a toolkit that can provide you with some very advanced capabilities. The software is even used by the DoD for some tasks.
OSSIM’s capabilities include being able to use computer clusters for image processing, 3D visualization, unsupervised classification, and mosaicing.
MapServer • mapserver.gis.umn.edu
Once your data is formatted and processed, you can use software like MapServer to render your data for use in a web browser. MapServer is a highly capable geographic rendering engine that is focused on web output. Nearly a decade old, MapServer’s capabilities include being able to access data directly from ESRI ArcSDE, fine-grained rendering control through its mapfile format, and excellent OGC protocol support.
OpenLayers • www.openlayers.org
Once you have your data rendering for the web, you’ll want a nice capable in-browser viewer. OpenLayers can provide you exactly that.
I hope this article has given you an introduction to Open Source Software in general, and a taste of some OSS geospatial projects’ capabilities that you can investigate further with your favorite search engine. OSS can provide you with advanced capabilities, complete flexibility, and allow you to control your organization’s software destiny. In the next installment, I will go into more depth about how you can use GDAL in your data processing pipeline.
Howard Butler is a weblogger, private pilot, and independent software developer located in Iowa City, Iowa. His weblog can be found at http://hobu.biz. Howard is a member of the OSGeo Board of Directors and he is an active contributor to the GDAL, MapServer, GEOS, Proj.4, and libLAS OSS software projects.