How features are developed, plus details on releases, support, and plugins.
Editor’s note: Tim Sutton has been a figurehead for free and open source software (FOSS), is past chair of the QGIS steering committee and is also co-owner of Kartoza. Here he kindly writes about how QGIS works on a project level from his vast experience. – Nicholas Duggan, FRGS, CGeog (GIS)
Whilst most readers may be familiar with the proprietary software model (where the source code of applications is not shared with clients and users), over the past 30 or so years, there has been a wellspring of new software developed under a new, open, model. This software often generically referred to as “open source” or “free and open source software (FOSS)” is provided with the complete source code of the product that can be modified and shared at will.
The “free” in “free and open source software” (FOSS) does not refer to financial cost. Rather it refers to “freedom” the freedom to procure, provision, modify, and redistribute the software both in binary and source-code forms.
FOSS has gained so much ground over this that it is now the driver for large swathes of the internet, with large companies such as Google using FOSS products in massive deployments within their infrastructure. It has increasingly made inroads onto desktop and mobile environments, too, with popular projects such as the Firefox web browser and the core of the Android phone operating system being developed under this model (amongst many others).
In 2002 Gary Sherman, a lone developer in Anchorage, Alaska, started creating an open source geographical information system which is today known as QGIS. He shared his work over the internet, and, over the subsequent years, hundreds of developers, translators, documentation writers, and other contributors have built up the software to the point that is now, 17 years later, a competitive, feature-rich GIS application that runs on Windows, MacOS, and Linux operating systems.
Your Projects and QGIS
QGIS, like popular proprietary GIS applications, is a software system for creating, analyzing, visualizing, and sharing spatial information. In QGIS, our users come from every sector of civil society and commerce, including banking, national and local government, insurance, conservation, mining, civil engineering, and many more.
You can, for example, open a project containing your city plan with separate map layers of information representing roads, buildings, zoning regions, infrastructure, and so on. You can show and hide individual layers and attach and view attribute information.
QGIS includes “data-driven” styling rule-based tools for creating rich cartographic products from your spatial data. It has a host of fill types, line-styling options, point-marker styles, color ramps, and other options that allow you to govern how your data is displayed.
One of the powerful features of QGIS is the set of tools it provides for digitizing. This includes support for snapping to features within the same layer and features in other layers.
There are tools for vertex-based editing of line and polygon layers, splitting and joining geometries, “trace” digitizing, copying, moving, rotating, and simplifying features.
QGIS provides CAD-like tools for constraining distances and angles and ensuring lines are perpendicular via its Advanced Digitizing Panel.
Plus, it provides support for importing DXF and DWG files and exporting to DXF files.
QGIS also leverages GDAL/OGR to support a huge range of other vector and raster formats from the venerable Esri Shapefile to more modern formats like Esri File Geodatabases and the open Geopackage standard. This broad format support makes it easy to use data from a diverse range of sources.
Long-term Releases and Commercial Support
The QGIS.ORG project releases a new version of QGIS every four months. This is in keeping with the open source mantra: “release early, release often.” These frequent releases are a key mechanism for the project’s long-term sustainability.
Because we do not collect license or subscription fees from our users, our primary mechanism for introducing new features into the project is through business-to-developer agreements.
For example, a local government may get good use out of QGIS but needs a feature critical for their workflow. They would approach one of the many commercial support providers active in the QGIS project and commission them to implement the new feature for an agreed fee. The developer would advise his/her client at the outset of negotiations whether the new feature is likely to be approved as a new core feature for QGIS.
Once the new feature is incorporated, it will be automatically available in the “nightly build.”
Windows and Linux installers and become part of the next four monthly release. This is a somewhat novel approach compared to the relationship between a client and a proprietary vendor where the client has little ability to directly bring about the addition of a new feature.
For some organizations, the stability of the software and its feature set is of more concern as they do not wish to deal with potential bugs that may arrive with new features or with training users on new functionality arriving in QGIS every four months. For this class of user, QGIS.ORG provides long-term release (LTR) builds. These are supported with bug fixes for at least one year but do not receive any new features. The LTR release is normally released in “non-LTR mode” for several months before it enters LTR, during which it is stabilized with regular bug fixing.
QGIS provides a plugin system that allows any person or organization to extend the functionality to meet their specific needs. This is especially useful for organizations that need features that are very specific to a domain and probably would not be accepted into the generic core QGIS offering.
Plugins can be hosted and distributed locally in your organization or made available to the many hundreds of thousands of QGIS users via the QGIS plugin repository at plugins.qgis.org/plugins/ (if it meets our publishing requirements). Currently, there are more than 900 plugins listed there, any of which can be easily discovered and installed from within QGIS desktop with a few clicks of the mouse. (if it meets our publishing requirements).
Sponsors and Funding
QGIS.ORG relies on sponsorships and donations to provide funds to the project. These funds are used to pay developers and community members to carry out tasks such as bug fixing for upcoming and LTR versions of QGIS, improve the project documentation, host services, fund developer meetings, and so on.
To give an idea of scale, the QGIS.ORG budget for 2018 is around Euro 130,000, which is truly minuscule compared to the budgets of most proprietary GIS vendors. The B2D developer economy around QGIS is considerably more than that, and there is a huge amount of effort devoted to the project on a volunteer basis, the financial value of which is hard to estimate.
This model is very efficient as almost all of the financial activity surrounding QGIS gets converted directly into improvements for the project rather than overheads for marketing departments, accountants, office rentals, administrative salaries, and all the other things that typically weigh heavily against an enterprise’s bottom line.
Something for Everyone
Beneficiaries of QGIS include but are not limited to people who use it the following way.
- Participating in an open source project such as QGIS can be an exhilarating and freeing experience. IT managers can deploy it without the need to concern themselves with license managers and procurement and can cater to users with heterogeneous operating systems.
- GIS managers can mold the software to their requirements., extending it easily with new features and plugins.
- GIS professionals can gain access to a wide range of GIS capabilities and a huge and friendly community who can support their activities.
- Students and people new to GIS can run the software at home on their personal computers and use it to ramp up their skills.
- Entrepreneurs can use QGIS to develop their own products and services.
There really is something there for everyone!
Drivers and Motivations for Using QGIS
Additional comments from Andreas Neumann
[Editor’s note: Andreas Neumann is a GIS project manager (development) with “Kanton Zug, Grundbuch- und Vermessungsamt” (Switzerland). he is the current treasurer for the QGIS organization, and is a a board member of QGIS.ORG. Neumann’s comments were received after the original article went to the printer.]
Two major drivers, next to cost savings, as motivations for using QGIS are: