Open Source

QField - A QGIS Related App for Data Collection

QField is an application for collecting field data via an Android device. It was started 4-5 years ago by the Swiss company OPENGIS.ch LLC which also employs several core QGIS developers. QField has reached the point where it rivals most data collection apps. The only reason we have not been using it for Community Health Mapping workshops is that it is not available for iOS. This is simply because the open source license used by QField does not allow it to be wrapped into a proprietary software license like the one Apple employs for it's store.  If however, you are a Community Health Mapper who uses Android it is a fantastic choice.NOTE: It is possible to set up an app which is compatible with iOS but does not participate in the App Store. This solves the licensing issue. Setting up an app this way necessitates becoming part of the iOS Enterprise Program which costs money.  QField developers would like to make this happen, and it will likely involve iOS users donating to QField.9xQCp89zAlthough QField is rooted in QGIS code it is not a miniature version of QGIS. Rather it is a streamlined data collection app. As they say, "the buttons are few and they are large," so you can work with it out in the field. QField lets you create a map in QGIS and upload that map to your mobile device. From there you can collect data.The workflow for QField looks like this. You begin by making a QGIS project on  your computer. Importantly this project will contain the point, line or polygon layer(s) you want to populate in the field. (NOTE that Fulcrum only allows the collection of points!) This means you think of your survey form and data to be collected in the office, and create fields in your GIS layer(s) for each question you want to answer. With a little bit of QGIS editing familiarity this isn't any more difficult or time consuming than creating a form in Fulcrum.  You then upload the folder containing the QGIS project and data to your mobile device. The GeoPackage data format, which is the default for QGIS 3.x, works great with QField. There is even a QGIS Plugin named QFieldSync that facilitates migrating your project to your device. Once the data has been copied to your mobile device you can open your QGIS map file using QField.Qfield1QField uses the same rendering engine as QGIS so the map will look identical to how it did in the office.  Once the map is open you can select from one of two modes: Browse or Digitize. When collecting data you would choose Digitize. Then select the layer you want to work with.Qfield2For public health officials with security concerns QField is a great fit because there is no third party cloud platform involved. The data is not being streamed across the internet. All the data is stored locally on your mobile device. You can simply use the My Files app on your device to navigate to your GeoPackage file and email it to yourself. If it is too large you can connect your device to you computer to download it or use a data sharing app such as DropBox or Google Drive.Since this is an open source project you can request new features and report any bugs you encounter by contacting the developers! Since QField doesn't cost anything to download and use, you can also consider donating to the project to help it continue. Even small donations are helpful to projects like this. Doing this makes QField better for everyone. I encourage you to try it out.

So What is Open Source Exactly?

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.FOSS_vsProprietaryProprietary Software 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:

  1. the number of computers you are allowed to install the software onto,
  2. the time period that the software will operate, and
  3. the number of features you are licensed to use.

Open Source SoftwareOpen 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:

  1. The freedom to run the software for any purpose.
  2. The freedom to study how the software works.
  3. The freedom to redistribute copies so you can help your neighbor.
  4. 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.open-sourceWhy 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:

  1. there are a lot of “eyes” on the code and bugs can be spotted and fixed quickly,
  2. having access to the source code let's you understand how the software is working, it's not a 'black box,'
  3. you are not locked into a particular vendors system, licensing scheme or software release schedule,
  4. you have the freedom to create any missing functionality that you need
  5. you benefit from the contributions of others and vice versa.

Making Money with OSSObviously 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.QGISLet’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.SummaryOpen 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.End Note: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.OsGeoOpen 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.