Refractions Research était un petit cabinet de conseil de Colombie-Britannique, d'environ six personnes, dont les premiers contrats venaient de gestionnaires du gouvernement provincial qui refusaient d'utiliser le logiciel SIG d'ESRI. Cette clientèle inhabituelle a poussé l'entreprise à s'investir profondément dans les bases de données, et sur un projet d'atlas des bassins versants à l'échelle de la province, l'équipe stockait des données spatiales découpées dans des tables PostgreSQL. L'expérience a rendu évidente l'idée suivante : si la base de données pouvait faire plus avec ces géométries stockées que les y insérer et les en extraire, ils disposeraient d'un moteur d'analyse spatiale interactif en temps réel.

Vers 2000, les bases de données spatiales se résumaient à l'option Spatial Data d'Oracle 8i, ou à la spécification OpenGIS Simple Features for SQL, et à peu de choses d'autre. La spécification décrivait trois façons de stocker la géométrie : découpée dans des tables annexes de coordonnées, sous forme de grands objets binaires, ou sous forme de type géométrique natif. Ramsey a d'abord tenté de vendre du conseil spatial Oracle au gouvernement de la Colombie-Britannique et n'a trouvé aucun preneur. Tester les autres options dans PostgreSQL a abouti à des impasses : les tables annexes étaient bien trop lentes pour être utilisables, et les BLOB étaient plus rapides mais n'offraient aucun moyen d'indexer la géométrie. L'équipe a failli s'arrêter.

Dave Blasby, le seul développeur à avoir fait des études formelles en informatique, a parcouru le code source de PostgreSQL et sa section contrib et a déclaré qu'il pouvait construire un type personnalisé. En quelques jours, il l'a fait : un type géométrique doté d'un index spatial GiST qui, relié à l'applet cartographique Java de l'entreprise, fonctionnait à merveille — d'une rapidité remarquable même sur de très grandes tables. Comme aucun écosystème commercial pour les extensions PostgreSQL n'existait, Refractions a décidé que le meilleur usage commercial du code était de le publier en open source et de le laisser générer un flux entrant de clients.

Le 31 mai 2001, l'entreprise a annoncé PostGIS 0.1 sous licence GPL : un type géométrique, un index spatial et un ensemble initial de fonctions, des collègues contribuant un chargeur Shapefile, des fichiers de compilation et de la documentation. Le monde géospatial open source attendait : Frank Warmerdam de GDAL et Daniel Morissette de MapServer sont apparus sur la liste de diffusion dès le premier mois, et des développeurs des écosystèmes GeoTools et GeoServer ont suivi rapidement.

Descendre sous la documentation pour écrire le type natif que la spécification ne pouvait atteindre, puis offrir le code là où se rassemblent les clients

Les conceptions réalisables de la spécification étaient des impasses ; la conception gagnante, un type natif, n'était atteignable qu'en descendant sous la documentation utilisateur de PostgreSQL jusque dans son code source.

La voie du conseil Oracle n'avait pas d'acheteurs, tandis que l'open source bénéficiait d'une demande visiblement affamée : aucune base de données spatiale libre n'existait pour la pile SIG ouverte en pleine croissance.

Sans écosystème commercial pour les extensions PostgreSQL, une vente de licence était impossible ; l'open source était le seul canal de distribution, et la paternité du code faisait de Refractions les experts évidents à recruter.

Publier tôt une version 0.1 sur une liste de diffusion publique a permis à GDAL, MapServer et aux leaders géospatiaux Java de l'adopter en quelques semaines, accumulant de la crédibilité plus vite que n'importe quelle publicité.

Le cabinet de conseil est resté intact comme moteur de revenus tandis que le code gratuit servait d'entonnoir, si bien que le don finançait précisément le travail qu'il faisait la promotion.

Quand toutes les approches documentées échouent, descendre d'un niveau sous la documentation ; et quand ce que vous avez construit ne peut pas être vendu, l'offrir là où les acheteurs de votre véritable travail se rassemblent déjà.

PostGIS est devenu le moteur spatial de la pile SIG open source, avec GDAL, MapServer et les projets géospatiaux Java qui s'y sont intégrés dans les semaines suivant la publication de 2001. Blasby l'a maintenu pendant ses premières années ; Ramsey a quitté l'entreprise en 2008 pour travailler à plein temps sur PostGIS, désormais chez Crunchy Data. Pour son vingtième anniversaire, il a recueilli 302 points sur Hacker News ; les commentateurs ont qualifié PostGIS de quasi-standard de l'industrie, ont affirmé que même le centre de R&D d'Esri à Portland l'utilisait, et se sont souvenus d'avoir rendu visite à Refractions à Victoria pour des conseils après l'avoir adopté — le flux entrant que la publication était conçue pour créer.

VÉRIFIEZ LES SOURCES

Les sources

  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 ·