Xingle 氏が、ブログ「オープンデータ先進県「福井」の残念なデータに思う」で、次のようなことを書いていました。

2 年前このデータを見たとき、ついカッとなって上記のデータを良い感じの形式に変換する API を作ったりしました。が、公開を目前にして「どう考えても元々のデータを直すべきで、万が一にも自分の API を使ってアプリを作るような人が出ても困る」と我に返り、踏み留まりました。

「万が一にも自分の API を使ってアプリを作るような人が出ても困る」ということですが、なぜ困るのか疑問に感じていました。そもそもアプリを作る人がいないのであれば、県や市町村としてオープンデータとして公開するのは無駄な作業になるし、まして手間をかけて「元々のデータを直す」ことは税金の無駄遣いだと思います。

最近公開された徳島県のオープンデータポータルサイト(Our Open Data)では、個人でもデータカタログに登録できるようになっています。そこで、APIを作ってデータカタログに登録して公開することにしてみました。公開しているAPIは、徳島県県土防災情報システムの道路気象、雨量、水位のデータを加工したもので、以下の2種類の API です。

徳島の気温、雨量、水位 GeoJSON

徳島の気温、風速、風向、雨量の10分データ

下の図がそのAPIを使って作成したサンプルです。

image

このAPIの作成に要した日数は6日間です。時系列データを作ったり時間雨量の計算をしたりする方に時間がかかっているので、APIの作成だけであれば3日でできると思います。今後、このAPIを使ったアプリを作ろうと思っているのですが、アプリの作成には10日以上かかると思います。それで今すぐに作るのは、かなり負担になるので将来 d3.js でグラフを描く機会に作成しようと思っています。

今回のAPIの作成の開発費がどうなるかというと、人件費を考慮すると日当5万円で30万円です。でも、自分でやっているので、自分の人件費を除いて計算すると電気代とパソコンの消耗費ぐらいでほぼゼロに近いと思います。

今後の運営経費に関して計算してみると、今回の公開には Amazon の S3 を使っています。単価は、1000回のGETのリクエスト使用料が$0.0037、ネットワークの下り側の使用料金が1GBで$0.14となっています。APIのファイルサイズで一番大きいのは雨量データで32KBです。1000PV当たりで計算すると、リクエスト使用料が$0.0037、ネットワークの使用量が32MBなので料金が$0.0045になります、合計で$0.0082で1ドルを120円とすれば約1円です。S3ではなく普通のサーバーを使っても同じようなものだと思います。公開以外に、データの処理コストが必要になります。今回のAPIの処理は10分毎の処理で処理時間は2.5秒なので、サーバーに少し負荷がかかるので無料ということはないですが月何百円の単位だと思います。こうして計算してみると運営経費は本当に僅かな額です。

次に収益の方ですが、現状では収益は見込めないです。もし、Webアプリを作った場合どうなるかというと、広告収入は可能だと思います。イケダハヤト氏がブログで収入を公開していますが、今年の4月分だと129万PVで、バナー、記事広告アフィリエイトで59万円なので、1000PV当たり457円ということになります。自分のWebサイトの場合は Google アドセンスしか貼っていないのでそれよりは低いですがそれでも半分以上の単価になっています。地域限定で日常的に使うアプリの場合、スポンサーは結構取りやすいと思うので457円の単価は難しくないと思います。

しかし、地域対象のアプリで問題なのはアクセス数を稼ぐのが非常に難しいということです。徳島県の場合人口が76万人しかいないので100万PVというのは夢のまた夢です。それに、アプリを作るのに10日とか書ましたが一人で作ってかつ業務の内容も分かっているからできる話であって、普通に開発会社が開発するのであればフロントエンドのエンジニア、サーバー側エンジニア、Webデザイナー等3~4人でチームを組んで、ヒアリング等も必要になってくると思います。そうなれば数百万円のコストが必要になってくるので、自治体から委託料をもらわずに自社開発するのは無理だと思います。

それだったらなぜ「オープンデータ」という話になるかというと、stackoverflowの調査だと、開発者の70%が週に2時間以上趣味やオープンソースの開発でプログラミングをしており、週10時間以上している人も20%います。そういう開発者の力を活用しようというのがオープンデータです。確かに、今回のAPIの作成はテストにも使っているので、自分としてもさほど負担には感じていないです。また、オープンデータはアプリのプロトタイプをテストするのには便利だと思っています。

海外ではソフトウェア開発者は比較的給料もよくて恵まれている職種なのでOSSの開発をする余裕がある人が多いと思います。日本では、そういう開発者の層は薄いので、オープンデータの活用が本当に進むかどうか不透明な部分がありますが、日本でもOSSの開発経験がエンジニアの採用時に実績として重視されたり、GitHub がポートフォリオになるような時代になっていくと思うので、将来的には海外と同じようになると思います。

また、日本ではXingle氏のように行政がきちんとしたデータを提供すべきだと考える人が多いと思います。確かに、XMLやRDF等で提供されていれば形式を勝手に変更されることがないだろうという安心感があります。一方Excelで作ったデータであれば、自治体の職員がすぐに様式を変更できるので、その対応を考えておかないといけないのが結構煩わしいと思います。

でも逆にいえば、XMLやRDFの場合、修正の必要が生じたときに自治体としてすぐに対応できるのかということがあります。また、経費や手間をかけてXMLやRDFで提供している場合、利用者が少ない場合でも提供を継続してくれるのかという不安もあります。現実に日本のオープンデータで最も規模の大きいものの一つである「政府統計のAPI機能」で、総務省以外の省庁の統計データは更新がほとんどされていません。恐らく各省庁は別のシステムで統計を作っていて、政府統計のシステムにデータを手入力するのはあまりにも手間がかかるし、一方でシステム化をするにはコストが必要ですがそのコストの説明ができないため、従来通りExcel形式での公開ということになっているのではないかと思います。

そういうことを考えれば、自治体ではできるだけ手間をかけずに内部で使っているデータをそのまま公開した方がいいと思います。そして、エンジニアの方が便利なAPIを作ったら、「万が一にも」とか言わずにどんどん公開したらいいと思います。公開するための経費はほとんど必要ないし、オープンデータを使ってアプリを作るということは自己責任で作るということなので、APIの提供者は運用についてあまり気にする必要はないと思います。それに、個人が開発したAPIを使うことに対するアプリ開発者側の不安は、APIの作成ルーチンをOSSで公開することではかなり緩和されると思います。そういうことで今回のAPIを作成するプログラムは、GitHubで公開しています。長くなったのでAPIの作成の話は次回にします。