Refractions Research era una pequeña consultora de Columbia Británica, de unas seis personas, cuyos primeros contratos provenían de gestores del gobierno provincial que se negaban a usar el software SIG de ESRI. Esa inusual base de clientes empujó a la empresa a adentrarse en las bases de datos, y en un proyecto de atlas de cuencas hidrográficas a escala provincial el equipo almacenaba datos espaciales fragmentados en tablas de PostgreSQL. La experiencia hizo obvia la siguiente idea: si la base de datos podía hacer más con esas geometrías almacenadas que solo meterlas y sacarlas, tendrían un motor de análisis espacial interactivo en tiempo real.

Hacia el año 2000, las bases de datos espaciales significaban la Spatial Data Option de Oracle 8i, o la especificación OpenGIS Simple Features for SQL, y poco más. La especificación describía tres formas de almacenar geometría: fragmentada en tablas secundarias de coordenadas, como objetos binarios grandes, o como un tipo de geometría nativo. Ramsey intentó primero vender consultoría espacial de Oracle al gobierno de Columbia Británica y no encontró interesados. Probar las otras opciones en PostgreSQL llevó a callejones sin salida: las tablas secundarias eran demasiado lentas para ser usables, y los BLOB eran más rápidos pero no ofrecían forma alguna de indexar la geometría. El equipo casi se detuvo.

Dave Blasby, el único desarrollador que había estudiado formalmente ciencias de la computación, leyó el código fuente de PostgreSQL y su sección contrib y dijo que podía construir un tipo personalizado. En pocos días lo hizo: un tipo de geometría con un índice espacial GiST que, conectado al applet de mapas Java de la empresa, funcionaba de maravilla: asombrosamente rápido incluso en tablas muy grandes. Como no existía un ecosistema comercial para las extensiones de PostgreSQL, Refractions decidió que el mejor uso comercial del código era publicarlo como código abierto y dejar que generara tráfico entrante de clientes.

El 31 de mayo de 2001 la empresa anunció PostGIS 0.1 bajo la GPL: un tipo de geometría, un índice espacial y un conjunto inicial de funciones, con colegas que contribuyeron un cargador de Shapefile, archivos de compilación y documentación. El mundo geoespacial del código abierto estaba esperando: Frank Warmerdam de GDAL y Daniel Morissette de MapServer aparecieron en la lista de correo durante el primer mes, y desarrolladores de los ecosistemas de GeoTools y GeoServer siguieron rápidamente.

Ir por debajo de la documentación para escribir el tipo nativo que la especificación no podía alcanzar, y luego regalar el código donde se reúnen los clientes

Los diseños implementables de la especificación eran callejones sin salida; el diseño ganador, un tipo nativo, solo era alcanzable yendo por debajo de la documentación de usuario de PostgreSQL hasta su código fuente.

La vía de la consultoría de Oracle no tenía compradores, mientras que el código abierto tenía una demanda visiblemente insatisfecha: no existía ninguna base de datos espacial gratuita para la pila SIG abierta en rápido crecimiento.

Sin un ecosistema comercial para las extensiones de PostgreSQL, vender una licencia era imposible; el código abierto era el único canal de distribución, y la autoría convertía a Refractions en los expertos obvios a quienes contratar.

Publicar temprano como 0.1 en una lista de correo pública permitió que GDAL, MapServer y los líderes geoespaciales de Java lo adoptaran en semanas, acumulando credibilidad más rápido de lo que cualquier publicidad podría.

La consultora se mantuvo intacta como motor de ingresos mientras el código gratuito actuaba como embudo, de modo que el regalo financiaba precisamente el trabajo que anunciaba.

Cuando todos los enfoques documentados fallan, baja un nivel por debajo de la documentación; y cuando lo que construiste no se puede vender, regálalo en el lugar donde ya se reúnen los compradores de tu trabajo real.

PostGIS creció hasta convertirse en el motor espacial de la pila SIG de código abierto, con GDAL, MapServer y los proyectos geoespaciales de Java integrándolo en semanas tras el lanzamiento de 2001. Blasby lo mantuvo durante sus primeros años; Ramsey dejó la empresa en 2008 para trabajar en PostGIS a tiempo completo, ahora en Crunchy Data. En su vigésimo aniversario atrajo 302 puntos en Hacker News; los comentaristas calificaron a PostGIS como esencialmente el estándar de la industria, dijeron que incluso el centro de I+D de Esri en Portland lo usaba, y recordaron haber visitado Refractions en Victoria en busca de consejo tras adoptarlo: el tráfico entrante que el lanzamiento estaba diseñado para crear.

CONSULTA LAS PRUEBAS

Las fuentes

  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 ·