해결책
1990년대에는 진지한 GIS 벤더라면 모두 자사의 독점 파일 형식을 제공했기 때문에, 패키지 간에 지도 레이어를 옮기려면 다시 디지타이징하거나 일회성 변환기를 작성해야 했다. Esri 자체의 ARC/INFO 커버리지 형식은 강력했지만 폐쇄적이었다. Esri가 1990년대 초 ArcView 2와 함께 셰이프파일을 도입했을 때, 시장 선도 기업으로서는 이례적인 선택을 했다. 형식을 보호하는 대신 완전히 문서화한 것이다.
셰이프파일은 하나의 파일이 아니라 세 개의 파일이다. .shp는 기하를 담고, .shx는 레코드 오프셋의 인덱스이며, .dbf — 1980년대 dBASE IV 테이블 — 는 속성을 담는다. 설계는 소박했다. 토폴로지가 없고, 2 GB 상한이 있으며, 널 값은 0으로 읽힌다. 당연히 들러리였어야 했다.
1998년 7월 백서 'ESRI Shapefile Technical Description'(J-7855)은 전체 바이트 수준 레이아웃을 공개했다. 무료로 읽을 수 있고 무료로 구현할 수 있었다. 이제 어떤 프로그래머든 일주일이면 변환기를 작성할 수 있었다. 오픈소스 라이브러리들이 그것을 채택했고, 그다음 모든 경쟁 GIS가, 그다음 모두가 읽을 수 있어야 했던 모든 정부 데이터 포털이 채택했다.
새로운 리더가 생길 때마다 네트워크 효과는 깊어졌다. 교환 형식은 좋을 필요 없이 흔하기만 하면 되므로, 누구나 합법적이고 저렴하게 지원할 수 있는 하나의 형식 — Esri의 형식 — 으로 수렴했다. 기술적으로 더 우수한 대안들은 지원하는 것이 보상 없는 노동이었기 때문에 틈새에 머물렀다.
이룬 것
제품이 아니라 바이트를 공개하라: 개방성이 우아함을 이긴다
왜 통했는가
구현이 무료이고 제약이 없었으므로, 경쟁사와 공공 기관이 자체 교환 형식을 발명할 이유가 없었다.
리더와 라이터가 늘어날 때마다 네트워크 효과가 더해졌다. 데이터 포털이 셰이프파일을 전제로 삼게 되자, 그것을 벗어나는 일은 아무도 내고 싶지 않은 세금을 내는 일이 되었다.
교환 형식은 추함을 견딘다. 이 형식의 결함 — dBASE IV 속성, 2 GB 상한, 토폴로지 부재 — 은 보편성보다 덜 중요했다.
Esri는 전략적으로 이겼다. 자사의 네이티브 형식이 경쟁사 사용자들까지 데이터를 옮기는 통로가 되었고, 그들을 Esri 도구 쪽으로 끌어당겼다.
형식은 우수성이 아니라 채택 비용으로 이긴다. 대안들은 더 깔끔했지만 문서화되지 않았거나 라이선스가 있었기에 아무도 채택하지 않았다. 자신의 형식을 무료로 구현할 수 있게 하고, 결함은 보편성의 대가로 받아들여라.
그 후
거의 30년이 지난 지금도 셰이프파일은 조직 간에 벡터 GIS 데이터가 이동하는 가장 흔한 방식이다. 오픈 지오스페이셜 컨소시엄은 이를 대체하기 위해 2014년 SQLite 기반 후속 형식인 GeoPackage를 표준화했지만, 채택은 여전히 부분적이다. 데이터 포털, 인구조사, 오픈소스 도구들은 여전히 모두가 읽을 수 있는 그 파일을 기본값으로 삼는다. 대부분의 GIS가 기반으로 삼는 오픈소스 데이터 라이브러리인 GDAL은 셰이프파일 지원을 핵심 의무로 유지한다. 모두가 미워하기 좋아하는 그 형식은 모두가 사랑해야 했던 형식들보다 오래 살아남았다.
근거 확인하기
출처
- ESRI Shapefile Technical Description Esri White Paper (J-7855) · esri.com
- What is a Shapefile? GIS Lounge (Geography Realm) · gislounge.com ·
- GeoPackage Standard — Open SQLite Format for Geospatial Data Open Geospatial Consortium · ogc.org