本記事では、
GBFS Version 3.0での変更点を紹介いたします。
今回は約2年半ぶりのメジャーアップデートです。
GBFSの基本的な情報についてはこちらの記事を御覧ください。
v3.0 Version
ターゲットとしては2022年中に v3.0がリリースされる予定でしたが、
おそらく2023年にずれ込む様子です。
[追記]
2023年8月時点では、v2.3 が引き続き "current version" ですが、v3.0 が "Ready for implementation"(実装の準備OK)というステータスになっています。
v3.0では、GitHubのissueにて提案されていた
8つの変更点が反映されます。
GBFS の Version history のページをもとに、変更点を順にさらっていきます。
v3.0-Draft (future version)
#182 - Require license_url, add attribution fields
#247 - Required rotation of deeplinks vehicle identifier
#328 - Change to OSM Opening Hours format for times and dates
#351 - Add Phone Number to Field Types
#352 - Remove string field type from price field
#354 - Semantic Changes: Bike becomes Vehicle
#370 - Extending vehicle_types.json
#384 - File requirements and Clarifying changes
#182 - Require license_url, add attribution fields
データのライセンスの明記の必須化と参照フィールドの追加
変更のあるファイル:
- system_information.json
変更内容:以下の項目が追加されました。
license_url
がオプションから必須に変更。
また、今後は license_url ではなく、the SPDX License List にある Identifier で記述。
NULLの場合には、public domain : CC0 1.0 Universalとみなされる。
CC0(シー・シー・ゼロ)とは、著作権が生じている著作物やデータについて、自発的に権利を放棄して、パブリックドメインにしようという宣言です。
他の CC ライセンスが著作権を前提として「利用の許諾を行う」のに対して、CC0 は
- 著作権を放棄し、
- 放棄できない権利は無条件かつ永続的な利用許諾を行い、そして
- 利用許諾も無効な場合には権利行使をしないということを「確約する」
という構成になっています。
CC0の宣言がなされたデータは、出所(クレジット)の表記も不要で、自由に利用することができます。
同時に、当該作品・データに関するいかなる責任も負わず、いかなる表明・保証も行わないことを宣言します。
参照:CC0とはどのような利用ルールでしょうか?(一般社団法人デジタル地方創生推進機構)
#247 - Required rotation of deeplinks vehicle identifier
(利用者のプライバシーを保護する方法として)車両 ID のローテーション
GBFSのリアルタイムデータでは、随時データをモニターすることでOD(Origin-Distination)マップを作成可能である。特にステーション(ポート)で貸し借りを行わない free flowting形式(ドッグレス形式)のシェアサイクルでは、これは大きな問題となる可能性がある。例えば、ユーザーが自宅前で借りて自宅前で返却した場合などは利用者の家を特定できてしまいプライバシーの問題が懸念されます。
そのため、bike_idをローテーションしてODマップを作成できないように対策する。
変更のあるファイル:
- free_bike_status.json
変更内容:以下の項目が追加されました。
bike_id
をローテーション(追跡できないように、利用の貸出時、返却時にbike_idを変更)
#328 - Change to OSM Opening Hours format for times and dates
時間や日付をOpenStreetMapの営業時間のフォーマットへの変更
変更のあるファイル:
- system_information.json
- station_information.json
変更内容:以下の項目が追加されました。
#351 - Add Phone Number to Field Types
電話番号の項目を新規追加
変更のあるファイル:
- system_information.json
変更内容:以下の項目が追加されました。
カラム名は未定だが、
新しく phone number
が追加される
#352 - Remove string field type from price field
料金フィールドから文字列タイプを削除
変更のあるファイル:
- system_pricing_plans.json
変更内容:以下の項目が追加されました。
price
にて、
string と non-negative float のデータタイプが許されているが、
non-negative floatに一本化。
#354 - Semantic Changes: Bike becomes Vehicle
(電動キックボードなど多様な乗り物がオープンデータ化されているため)"Bike" ではなく "Vehicle" という単語の使用への変更
変更のあるファイル:
- gbfs.md
- README.md
変更内容:
多様な乗り物がサービス提供されているため、
bike という表現ではなく、vehicle に表記を統一する。
#370 - Extending vehicle_types.json
乗り物タイプの種類の追加
変更のあるファイル:
- vehicle_types.json
変更内容:以下の項目が追加されました。
form_factor
の内容を追加。
- cargo_bicycle
- scooter_seated
- scooter_standing
スペックに以下の項目を追加
- wheel_count
- maximum_permitted_speed
- rated_power
#384 - File requirements and Clarifying changes
ファイルの必須項目とその変更の明確化
変更のあるファイル:
- station_information.json
- free_bike_status.json
変更内容:
- ユニークな systemIDという要件を、「SHOULD」から「MUST」に変更。
- すべてのendpoint と deeplink を HTTPS化
manifest.json の追加
追加されるファイル:
追加内容:
- system_id 毎のGBFSのバージョンとURLの管理
サンプル:
{
"last_updated":1667004473,
"ttl":0,
"version":"3.0-RC",
"data":{
"datasets":[
{
"system_id":"example_berlin",
"versions":[
{
"version":"2.0",
"url":"https://berlin.example.com/gbfs/2/gbfs"
},
{
"version":"3.0-RC",
"url":"https://berlin.example.com/gbfs/3/gbfs"
}
]
},
{
"system_id":"example_paris",
"versions":[
{
"version":"2.0",
"url":"https://paris.example.com/gbfs/2/gbfs"
},
{
"version":"3.0-RC",
"url":"https://paris.example.com/gbfs/3/gbfs"
}
]
}
]
}
}
補足
実際のver3.0はまだリリースされていないので、
issueから読み取った今回の記事の内容と実際のリリース内容とに違いがあれば、随時修正いたします。
GBFSを活用して広めていきましょう。