A Refractions Research era uma pequena consultoria da Colúmbia Britânica, com cerca de seis pessoas, cujos primeiros contratos vinham de gestores do governo provincial que se recusavam a usar o software de GIS da ESRI. Essa base de clientes incomum levou a empresa a se aprofundar em bancos de dados e, num projeto de atlas de bacias hidrográficas de toda a província, a equipe armazenava dados espaciais fragmentados em tabelas do PostgreSQL. A experiência tornou óbvia a ideia seguinte: se o banco de dados pudesse fazer mais com aquelas geometrias armazenadas do que apenas inseri-las e retirá-las, eles teriam um motor de análise espacial interativo em tempo real.

Por volta de 2000, bancos de dados espaciais significavam a Spatial Data Option do Oracle 8i, ou a especificação OpenGIS Simple Features for SQL, e pouco mais. A especificação descrevia três formas de armazenar geometria: fragmentada em tabelas laterais de coordenadas, como objetos binários grandes, ou como um tipo de geometria nativo. Ramsey primeiro tentou vender consultoria espacial da Oracle ao governo da Colúmbia Britânica e não encontrou interessados. Testar as outras opções no PostgreSQL chegou a becos sem saída: as tabelas laterais eram lentas demais para serem utilizáveis, e os BLOBs eram mais rápidos, mas não ofereciam nenhuma forma de indexar a geometria. A equipe quase parou.

Dave Blasby, o único desenvolvedor que havia estudado formalmente ciência da computação, leu o código-fonte do PostgreSQL e a seção contrib e disse que poderia construir um tipo personalizado. Em poucos dias ele o fez: um tipo de geometria com um índice espacial GiST que, conectado ao applet de mapa Java da empresa, funcionava muito bem — maravilhosamente rápido mesmo em tabelas muito grandes. Como não existia um ecossistema comercial para extensões do PostgreSQL, a Refractions decidiu que o melhor uso comercial do código era liberá-lo como código aberto e deixá-lo gerar tráfego de clientes entrantes.

Em 31 de maio de 2001, a empresa anunciou o PostGIS 0.1 sob a GPL: um tipo de geometria, um índice espacial e um conjunto inicial de funções, com colegas contribuindo com um carregador de Shapefile, arquivos de build e documentação. O mundo geoespacial de código aberto estava esperando: Frank Warmerdam, do GDAL, e Daniel Morissette, do MapServer, apareceram na lista de discussão no primeiro mês, e desenvolvedores dos ecossistemas GeoTools e GeoServer vieram logo em seguida.

Ir abaixo da documentação para escrever o tipo nativo que a especificação não conseguia alcançar e, em seguida, entregar o código de graça onde os clientes se reúnem

Os projetos implementáveis da especificação eram becos sem saída; o projeto vencedor, um tipo nativo, só era alcançável indo abaixo da documentação do usuário do PostgreSQL até seu código-fonte.

A rota de consultoria da Oracle não tinha compradores, enquanto o código aberto tinha uma demanda visivelmente carente: não existia banco de dados espacial gratuito para a pilha de GIS aberto em rápido crescimento.

Sem um ecossistema comercial para extensões do PostgreSQL, uma venda de licença era impossível; o código aberto era o único canal de distribuição, e a autoria tornava a Refractions os especialistas óbvios a serem contratados.

Lançar cedo como 0.1 numa lista de discussão pública permitiu que o GDAL, o MapServer e os líderes geoespaciais Java adotassem em semanas, acumulando credibilidade mais rápido do que qualquer publicidade poderia.

A consultoria permaneceu intacta como o motor de receita enquanto o código gratuito atuava como funil, de modo que a doação financiava exatamente o trabalho que anunciava.

Quando toda abordagem documentada falha, vá um nível abaixo da documentação; e quando aquilo que você construiu não pode ser vendido, entregue-o de graça no lugar onde os compradores do seu trabalho real já se reúnem.

O PostGIS cresceu até se tornar o motor espacial da pilha de GIS de código aberto, com o GDAL, o MapServer e os projetos geoespaciais Java integrando-se semanas após o lançamento de 2001. Blasby o manteve nos primeiros anos; Ramsey deixou a empresa em 2008 para trabalhar em tempo integral no PostGIS, agora na Crunchy Data. No seu vigésimo aniversário, atraiu 302 pontos no Hacker News; os comentaristas chamaram o PostGIS de essencialmente o padrão do setor, disseram que até o centro de P&D da Esri em Portland o usava, e lembraram de ter visitado a Refractions em Victoria em busca de conselhos após adotá-lo — o tráfego de clientes entrantes que o lançamento foi projetado para criar.

CONFIRA AS EVIDÊNCIAS

As fontes

  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 ·