In the past few years a powerful set of open source software has emerged as a robust, full-featured, scalable alternative to proprietary GIS software. The stack is built with open standards at its core, allowing users to swap in different components if the default open ones are not working out, reducing overall risk. While there are many open source geospatial options, the stack of PostgreSQL/PostGIS, GeoServer and OpenLayers has emerged as a best of breed set of components that fit together seamlessly, with extensive communities of contributors around them, in addition to mature companies offering commercial quality support. They work together to truly open information for a wide variety of contexts, instead of just making a single web-based map.
PostgreSQL is a powerful, open source relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). An enterprise class database, PostgreSQL has advanced features such as Multi-Version Concurrency Control (MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions (savepoints), online/hot backups, a sophisticated query planner/optimizer, and write ahead logging for fault tolerance. It supports international character sets, multibyte character encodings, Unicode, and it is locale-aware for sorting, case-sensitivity, and formatting. It is highly scalable both in the sheer quantity of data it can manage and in the number of concurrent users it can accommodate. There are active PostgreSQL systems in production environments that manage in excess of 4 terabytes of data.
PostGIS adds support for geographic objects to the PostgreSQL object-relational database. In effect, PostGIS "spatially enables" the PostgreSQL server, allowing it to be used as a backend spatial database for geographic information systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS follows the OpenGIS "Simple Features Specification for SQL" and has been certified as compliant with the "Types and Functions" profile. PostGIS has been certified by the Open Geospatial Consortium as compliant with the “Simple Features for SQL 1.1” specification. PostGIS also implements much of the ISO “SQL Multi-media” (SQL/MM) standards for geospatial functionality. PostGIS has been developed by Refractions Research as a project in open source spatial database technology. PostGIS is released under the GNU General Public License.
GeoServer is an open source server focused on connecting existing geographically-referenced information to the Geoweb using open standards. It was started by a non-profit organization called The Open Planning Project (TOPP), to help build an interoperable Spatial Data Infrastructure by providing high quality, easy to use, open source software to potential data providers. It has evolved to become an easy method of connecting existing information to Virtual globes such as Google Earth and NASA World Wind as well as mapping websites such as Google Maps, Windows Live Local and Yahoo Maps. GeoServer also serves as the Web Coverage Server 1.1 and Web Feature Server 1.0 and 1.1 reference implementation, also implementing the Web Map Server 1.1.1 and Web Coverage Server 1.0 specifications.
GeoServer allows the publishing of geospatial data as maps/images (using the Web Map Server), as actual data (using the Web Feature Server), and allows users to update, delete, and insert features (using the Web Feature Server-Transactional). The focus of the software is ease of use and support for open standards, in order to enable anyone to quickly share their geospatial information in an interoperable way.