Intro to Open Source
Open Source Software (OSS) is well known in the tech community as an alternative to proprietary software. Many large companies like Facebook, Amazon, and Google use open source software in their applications with many startups depending on it to build their businesses. In this article, I’ll focus on map-related software that’s currently available and what it’s used for. Let’s start with the tools used to build interactive mapping applications and move our way back to the database.
Leaflet and OpenLayers are the most widely used open source packages for building map-based web applications. Both can be used to display geographic data, toggle layers, and pan around maps. There are some differences between the two, though. Leaflet makes it easy to quickly deploy basic web maps but has less advanced features when compared to Open Layers (though extensions written by the Leaflet community expands its base capabilities). On the flip side, Open Layers can be used to edit data, create “swipe” maps, and display labels. The learning curve is steeper is a bit steeper, but more feature rich mapping applications can be made with this added capability.
GeoServer is a server software that hosts map services and provides the foundation for Leaflet and OpenLayers. This server technology supports a variety of data formats including shapefiles, KML, GeoTiffs, and more. It interfaces with popular databases like MySQL, PostgreSQL (through PostGIS), and Oracle. The underlying code is based on open standards and can interface with many other software.
PostgreSQL is a database that has been around since the 1980s and was originally developed by UC Berkley. It’s comparable to large software vendors like MS SQL Server or Oracle. PostGIS enables PostgreSQL to store, analyze, and edit spatial data. It can do things like buffer, intersect, and merge. Combining these together you get a powerful geodatabase that can keep up with the most demanding spatial workloads. Going back to GeoServer, it works best with the Postgre/PostGIS model, so consider deploying that along with it.
A few misconceptions about OSS
The biggest misconception about open source software is security. Organizations, especially government organizations, tend to think open source is less secure than licensed software. They think if code is available for anyone to see, then it makes it easier to hack. This is a misunderstanding: with more eyes on the code, security flaws can be detected more frequently and corrected. Leaflet is an open source software and it powers the mapping features of big companies like Facebook, Etsy, and Evernote. If big companies use open source for critical operations, then you can bet government can, too. There’s a wealth of articles about OSS security and I encourage you to read them.
Using open source software in your organization isn’t just about saving money, either. By leveraging what others have created you can innovate on more differentiating elements of your business. For example, rather than Instacart building their own mapping platform to support visualize routing paths, they can leverage Mapbox (which is another OSS) to help drivers get from place to place. This allows them to focus on the complicated algorithms needed to efficiently route deliveries.
Innovation in government can happen in a similar way by allowing additional time to focus on more important needs rather than building something from scratch. In 2016, the US created a policy that encourages the use of OSS to boost efficiency and innovation in government. As you consider how OSS might help your organization, remember to consider what other things you can get to if you have more time.
Success with Open Source at Garden Grove
Garden Grove has been running their public facing web maps with open source software for the last four years. As demand grew for the city’s GIS services, existing infrastructure couldn’t keep up. Joseph Schwartz, GIS Admin for Garden Grove, set out to improve level of service while operating within his existing budget. “There were two motivations for using open source software. The first was to improve performance for our internal users by moving public facing mapping applications to separate hardware. The second was to keep costs low”, he said.
The public facing maps became a useful way for the public to get access to information they need like zoning, street sweeping days, and parcel information. With many people accessing this data, map services became slower for internal users. By shifting the public demand to new hardware, performance of internal systems was improved and reduced frustration for city staff. Cost was a big factor in using OSS. Rather than paying thousands for an upgrade on existing software, similar capabilities could be deployed without paying for additional licensing.
There is a tradeoff for using open source over licensed software, though. “It takes time to configure and tune something like GeoServer. There isn’t tech support you can really call to get help.” Over the years, Joseph has tinkered and tailored to optimize the stack required to run the city’s public mapping applications. You can’t call tech support, but there is a thriving community and great documentation for things like Leaflet, GeoServer, and PostGIS. Joseph mentioned that it’s rare that you must troubleshoot GeoServer. After it’s deployed and working, it’s very reliable.
So, what have the results been at Garden Grove? “Upper management is happy about the improved level of service, internal users have more reliable internal map services, and the public has access to the information they need.” It can be difficult to find a situation where all stakeholders get some benefit. In the case of Garden Grove, they augmented their GIS rather than replacing it. Open source doesn’t have to be an all or nothing game, you can mix it in with your existing software investments in a way that works for your organization. If you’re on a budget and want to innovate, look in to open source and implement a small pilot project to see how it works for you.