Free (as in Beer)

Well, not quite beer. But I thought that might get your attention.

Three things to remember about the PC: (1) the PC is cheap, (2) the PC prefers open source software over proprietary software, and (3) the PC is cheap. If you can get a better product for less or no money and you buy the expensive stuff, the PC thinks you should be beaten with your own Pocket PC (which you probably paid too much for anyway).

Factoring out hardware and training monkeys to do and watch everything, to have a nice web mapping application with ESRI software you need ArcIMS ($8,000+), SDE ($8,000+), a RDBMS like Oracle or SQL Server ($8,000+), and an IDE to develop with ($800+/-), for a total of ~$25,000+ for minimal server configurations, plus annual software maintenance fees for the rest of your natural life. Ouch.

Open source to the rescue! In the August 2005 issue we talked about how the open source database server PostgreSQL, when combined with the open source PostGIS project, can be used as an OGC-compliant spatial database server. In the June 2005 issue we talked about the open source programming language PHP, for which many free, open source IDE’s have been written. That gives us our development environment and our database server. Now all we need is something to make pretty maps. Enter MapServer.

MapServer is an open source web mapping project that was created by the University of Minnesota for a NASA sponsored project and is currently developed by programmers all over the world. Like ArcIMS, it’s a development environment for constructing spatially enabled Internet applications. It includes all the normal things you’d expect from such a product – access to various vector and raster data formats, feature labeling with collision detection (actually a lot better than ArcIMS, because you can force labels to show regardless of collisions), map element automation, numerous output formats including gif, jpeg, png, pdf, flash (swf), and others, on-the-fly projection, and lots more. It can also act as a client or a server for OGC WMS and WFS. In all respects, it’s a full-fledged, robust web mapping solution. It will run on anything, from Windows to Linux to MacOS, on Apache or IIS. And it’s free.

Address Information Center, as it’s not directly tied to a client that will physically beat us, is often the application the PC uses for new technologies. It was already written in PHP, so it was simply a matter of converting the queries (“does this parcel lay in a floodplain?”) from ArcXML to PostgreSQL/PostGIS SQL calls and then making the actual maps with MapServer. Once the PC figured out some of the map file settings (MapServer uses a configuration file much in the way ArcIMS uses an AXL file), it was a piece of cake. Today, when you visit Address Information Center, you’re using completely free, open source software.

As you can see in the table below, the cost savings are significant.

But cost isn’t everything. The PC wouldn’t sacrifice functionality or stability to save a buck. Besides doing everything we need to do quite well, it is also:

  • Faster
  • Easier to code (I ended up with several hundred fewer lines of code)
  • Easier to work with as a developer
  • More robust, stable, and reliable
  • Has increased functionality
  • Very light on system resources, so you can run it on less expensive hardware
This isn’t pie-in-the-sky stuff. We have a real, high-traffic (12,000+ users a month) Internet mapping site made entirely with free software. Hopefully, if that doesn’t give you ideas, it will at least give you pause before you cut your next check for proprietary software. Enjoy, and may there be free beer for everyone.