Refractions Research war eine kleine Beratung in British Columbia mit etwa sechs Mitarbeitern, deren frühe Aufträge von Managern der Provinzregierung kamen, die sich weigerten, ESRI-GIS-Software zu verwenden. Diese ungewöhnliche Kundschaft trieb die Firma tief in die Datenbanken, und bei einem provinzweiten Projekt für einen Wassereinzugsgebietsatlas speicherte das Team zerlegte räumliche Daten in PostgreSQL-Tabellen. Diese Erfahrung machte die nächste Idee offensichtlich: Wenn die Datenbank mit diesen gespeicherten Geometrien mehr anfangen könnte, als sie nur hineinzulegen und wieder herauszunehmen, hätten sie eine interaktive Echtzeit-Engine für räumliche Analyse.

Um das Jahr 2000 bedeuteten räumliche Datenbanken Oracles Spatial Data Option von 8i oder die Spezifikation OpenGIS Simple Features for SQL und wenig sonst. Die Spezifikation beschrieb drei Arten, Geometrie zu speichern: zerlegt in Seitentabellen von Koordinaten, als binäre große Objekte oder als nativen Geometrietyp. Ramsey versuchte zunächst, der Regierung von BC Oracle-Spatial-Beratung zu verkaufen, und fand keine Interessenten. Das Testen der anderen Optionen in PostgreSQL stieß an Sackgassen: Seitentabellen waren viel zu langsam, um brauchbar zu sein, und BLOBs waren schneller, boten aber keine Möglichkeit, die Geometrie zu indizieren. Das Team hörte fast auf.

Dave Blasby, der einzige Entwickler, der formell Informatik studiert hatte, las den Quellcode von PostgreSQL und den contrib-Bereich durch und sagte, er könne einen benutzerdefinierten Typ bauen. In wenigen Tagen tat er es: einen Geometrietyp mit einem räumlichen GiST-Index, der, an das Java-Kartenapplet der Firma angeschlossen, brillierte – wunderbar schnell selbst bei sehr großen Tabellen. Da es kein kommerzielles Ökosystem für PostgreSQL-Erweiterungen gab, entschied Refractions, dass die beste geschäftliche Nutzung des Codes darin bestand, ihn als Open Source zu veröffentlichen und ihn eingehenden Kundenverkehr erzeugen zu lassen.

Am 31. Mai 2001 kündigte die Firma PostGIS 0.1 unter der GPL an: einen Geometrietyp, einen räumlichen Index und eine erste Reihe von Funktionen, wobei Kollegen einen Shapefile-Loader, Build-Dateien und Dokumentation beisteuerten. Die Open-Source-Geowelt hatte gewartet: Frank Warmerdam von GDAL und Daniel Morissette von MapServer erschienen innerhalb des ersten Monats auf der Mailingliste, und Entwickler aus den Ökosystemen von GeoTools und GeoServer folgten schnell.

Unter die Dokumentation gehen, um den nativen Typ zu schreiben, den die Spezifikation nicht erreichen konnte, und dann den Code dort verschenken, wo sich Kunden versammeln

Die umsetzbaren Entwürfe der Spezifikation waren Sackgassen; der siegreiche Entwurf, ein nativer Typ, war nur erreichbar, indem man unter die Benutzerdokumentation von PostgreSQL in seinen Quellcode hinabstieg.

Der Oracle-Beratungsweg hatte keine Käufer, während Open Source eine sichtbar ungestillte Nachfrage hatte: Es existierte keine freie räumliche Datenbank für den schnell wachsenden offenen GIS-Stack.

Da es kein kommerzielles Ökosystem für PostgreSQL-Erweiterungen gab, war ein Lizenzverkauf unmöglich; Open Source war der einzige Vertriebskanal, und die Urheberschaft machte Refractions zu den offensichtlichen Experten, die man engagierte.

Die frühe Veröffentlichung als 0.1 auf einer öffentlichen Mailingliste ließ GDAL, MapServer und die Java-Geo-Führungskräfte innerhalb von Wochen übernehmen und steigerte die Glaubwürdigkeit schneller, als jede Werbung es konnte.

Die Beratung blieb als Umsatzmotor intakt, während der freie Code als Trichter wirkte, sodass die Schenkung genau die Arbeit finanzierte, für die sie warb.

Wenn jeder dokumentierte Ansatz scheitert, eine Ebene unter die Dokumentation gehen; und wenn das, was man gebaut hat, nicht verkauft werden kann, es an dem Ort verschenken, wo sich die Käufer für die eigentliche Arbeit bereits versammeln.

PostGIS wuchs zum räumlichen Motor des Open-Source-GIS-Stacks heran, wobei GDAL, MapServer und Java-Geoprojekte innerhalb von Wochen nach der Veröffentlichung von 2001 integrierten. Blasby betreute es in den ersten Jahren; Ramsey verließ die Firma 2008, um Vollzeit an PostGIS zu arbeiten, heute bei Crunchy Data. Zum zwanzigsten Jubiläum erhielt es 302 Punkte auf Hacker News; Kommentatoren nannten PostGIS im Wesentlichen den Industriestandard, sagten, selbst Esris Forschungs- und Entwicklungszentrum in Portland verwende es, und erinnerten sich, Refractions in Victoria nach der Übernahme für Rat besucht zu haben – der eingehende Verkehr, den die Veröffentlichung erzeugen sollte.

DEN BELEGEN FOLGEN

Die Quellen

  1. PostGIS at 20, The Beginning Paul Ramsey (Clever Elephant blog) · blog.cleverelephant.ca ·
  2. [postgis] Initial Release of PostGIS postgis-users mailing list (OSGeo archive) · lists.osgeo.org ·
  3. PostGIS at 20, the Beginning (Hacker News discussion) Hacker News · news.ycombinator.com ·