解決策
Refractions Researchはブリティッシュコロンビア州の小規模なコンサルタント会社で、約6人の社員を抱え、初期の契約はESRIのGISソフトウェアを使うことを拒んだ州政府の管理職たちから得ていた。この異例の顧客層が同社をデータベースの深みへと押しやり、州全体の流域アトラス計画では、チームは分割した空間データをPostgreSQLのテーブルに保存していた。この経験から次のアイデアは明白になった。もしデータベースが、保存されたジオメトリを出し入れするだけでなく、それ以上のことをできれば、対話型のリアルタイム空間解析エンジンが手に入るのだ。
2000年頃、空間データベースといえばOracle 8iのSpatial Data Option、あるいはOpenGIS Simple Features for SQL仕様くらいしかなかった。この仕様はジオメトリを保存する3つの方法を記述していた。座標の副テーブルに分解する方法、バイナリラージオブジェクトとして保存する方法、そしてネイティブなジオメトリ型として保存する方法である。RamseyはまずBC州政府にOracleの空間コンサルティングを売り込もうとしたが、引き受け手は見つからなかった。PostgreSQLで他の選択肢を試すと行き詰まった。副テーブルは使用に耐えないほど遅く、BLOBはより速いもののジオメトリにインデックスを張る方法がなかった。チームはほとんど諦めかけていた。
正式に計算機科学を学んだ唯一の開発者であるDave Blasbyは、PostgreSQLのソースコードとcontribセクションを読み、カスタム型を作れると述べた。数日のうちに彼はそれを成し遂げた。GiST空間インデックスを備えたジオメトリ型で、同社のJavaマップアプレットに接続すると見事に機能し、非常に大きなテーブルでも驚くほど高速だった。PostgreSQL拡張機能の商用エコシステムは存在しなかったため、Refractionsはこのコードの最良のビジネス活用はオープンソースとして公開し、それによって顧客の流入を生み出すことだと判断した。
2001年5月31日、同社はGPLの下でPostGIS 0.1を発表した。ジオメトリ型、空間インデックス、そして初期の関数群であり、同僚たちがShapefileローダー、ビルドファイル、ドキュメントを提供した。オープンソースの地理空間界は待ち望んでいた。GDALのFrank WarmerdamとMapServerのDaniel Morissetteが最初の1か月以内にメーリングリストに現れ、GeoToolsやGeoServerのエコシステムの開発者たちがすぐ後に続いた。
達成したこと
仕様が到達できなかったネイティブ型を書くためにドキュメントの下層へ降り、顧客が集まる場所でそのコードを無償で提供した
うまくいった理由
仕様の実装可能な設計は行き止まりだった。勝利をもたらした設計であるネイティブ型は、PostgreSQLのユーザードキュメントの下層、ソースコードへ降りることによってのみ到達できた。
Oracleコンサルティングの道には買い手がいなかった一方、オープンソースには明らかな需要の飢えがあった。急成長するオープンGISスタック向けの無償の空間データベースは存在しなかったのだ。
PostgreSQL拡張機能の商用エコシステムがなかったため、ライセンス販売は不可能だった。オープンソースが唯一の配布チャネルであり、作者であることがRefractionsを採用すべき明白な専門家にした。
0.1として早期に公開メーリングリストへリリースしたことで、GDAL、MapServer、Java地理空間のリーダーたちが数週間以内に採用し、どんな広告よりも速く信頼を積み上げた。
コンサルタント会社は収益エンジンとしてそのまま維持され、無償のコードがファネルとして機能したため、無償提供がそれ自体が宣伝する仕事の資金となった。
応用できること
ドキュメント化されたあらゆるアプローチが失敗したときは、ドキュメントの一段下へ降りること。そして、作ったものを売れないときは、本当の仕事の買い手がすでに集まっている場所でそれを無償で提供することだ。
その後
PostGISはオープンソースGISスタックの空間エンジンへと成長し、GDAL、MapServer、Java地理空間プロジェクトが2001年のリリースから数週間以内に統合した。Blasbyは最初の数年間それを維持し、Ramseyは2008年に同社を離れてPostGISのフルタイム作業に従事し、現在はCrunchy Dataに在籍している。20周年の際にはHacker Newsで302ポイントを集めた。コメント投稿者たちはPostGISを事実上の業界標準と呼び、EsriのポートランドR&Dセンターでさえそれを使っていたと述べ、採用後に助言を求めてビクトリアのRefractionsを訪れたことを回想した。それはこのリリースが生み出すよう設計されていた顧客流入そのものだった。
出典をたどる
出典
- PostGIS at 20, The Beginning Paul Ramsey (Clever Elephant blog) · blog.cleverelephant.ca ·
- [postgis] Initial Release of PostGIS postgis-users mailing list (OSGeo archive) · lists.osgeo.org ·
- PostGIS at 20, the Beginning (Hacker News discussion) Hacker News · news.ycombinator.com ·