GitHubのマイルストーンを個人プロジェクトで設定してみたがイマイチだった

三行まとめ

  • ライブラリのセマンティックバージョニングは使う側にとって分かりやすいので採用したい
  • GitHubのマイルストーンは「互換性を失うバグフィクス」に弱いので、セマンティックバージョニングを採用しているライブラリには不向き
  • モバイルアプリはセマンティックバージョニングと無縁だが基本的には関係者とコミュニケーションのためのものなので個人プロジェクトではそれほど意味がない

解説

仕事でGitHubマイルストーンを使っていたので、個人プロジェクトで便利かなと思って使ってみたらそうでもなかったなという話です。

Ormaはマイルストーンを設定して開発してみたのですが、そもそも個人プロジェクトだと他の人とコミュニケーションする必要はないのでマイルストーン設定によって特に何かがやりやすくなるわけではないので、ほとんど意味はありません。むしろ、マイルストーンをきちんと管理しようと思うと「互換性を失うが重要なバグフィクス」をしたくなったときにセマンティックバージョニングを尊重してメジャーバージョンを上げる、ということが心理的にやりにくくなってしまいます。これはマイルストーンの設定が煩雑であるという以上のデメリットかなと思います。

なおモバイルアプリの場合はセマンティックバージョニングを採用する理由がないので、単にissueの優先度を示すものとしてマイルストーンを使うのはありかもしれません。とはいいえマイルストーンは基本的には関係者とのコミュニケーションのためかなと思います。

たとえばdroidkaigi2016 appはわりとうまく使っているようにみえますね。