オープンソースプロジェクトのリリースサイクルについて教える

オープンソースを運営、利用する人のためにbaserCMSのリリースを伝えるよ。

この記事は2022年baserCMSアドベントカレンダーの記事です。
baserCMSのリリースを数年行ってきたので振り返りたいと思います。

今までのリリースを振り返る

baserCMSのプロダクトにおいて、2019年の8月からリリース担当者としてgondohがほぼ毎月リリースを行ってきました。
それまでは不定期のリリースとなっていたのですが担当者となりまずはリリースサイクルの見直しから実施しました。

なぜリリースサイクルの見直しを行ったのか。

以前のbaserCMSのリリースタイミングはある程度機能が変更されたらリリースをするという方法で、特定の基準がありませんでした。
そのため「長いリリーススパンがあるとデグレが発生する」という問題が発生していました。そういった問題が発生することで何がおきるかというとリリースに対して心理的安全性が下がりリリースを行うこと自体に二の足を踏むような状態が少なからず起きていました。
その他にも軽微な修正を行ったけれどもいつリリースされるかわからないような状態も発生したりし少なくとも安定したリリースが行われているとは言えない状態となっていました。

そこで変更の取込をなるべく早くしデグレの心配を少なくし安定した状態にするにはーということで毎月リリースを行うことを決定しました。
これはいかなる軽微な変更があっても実施することをルールとしサイクル自体を負荷の少ないものにするものでした。

リリース回数の推移

さて、サイクルを見直したことでリリースされた回数はどうなったのか。
集計結果は下記となります。
 

2010 7
2011 8
2012 7
2013 5
2014 4
2015 3
2016 5
2017 12(baserCMS4リリース)
2018 6
2019 10(毎月リリース開始)
2020 11
2021 11
2022 9

2017年はbaserCMSのメジャーバージョンアップが行われた年で、多数のバグフィックスのため同月に2回リリースを行うなど活発にリリースが行われました。
その2017年をのぞいた年平均のリリース回数は下記となります。

2010年~2018年:  平均 5.6回 (2017年除く)
2019年~2022年:  平均 10.2回

リリースサイクルのルールを決める前と後では平均回数に倍近い差が出ていました。
体感ではありますが、以前に比べより心理的にもプロダクトとしても安定したリリースが行えているのではないかと思います。

実際のリリースではどういったことを行っているのか

では実際にどういったリリース作業を行っているのかーですが、オープンソースプロダクトよろしくwikiにまとめられ内容が公開されています。

https://github.com/baserproject/basercms/wiki/リリース

ごちゃごちゃしてて読むの疲れるという方に向けてざっくり言うと下記の作業を行っています。

  1. 開発ミーティングを開催しリリーススケジュールを決定
  2. 変更情報を取り込んでパッケージング
  3. 変更概要とパッケージをウェブで公開
  4. 公式サイトのアップデート

このサイクルを月に1回のペースで実施しています。

今後

baserCMSコアパッケージのリリースを行う担当者をリリースマネージャとして任命し私で3代目?になると思います。
リリースをおこなって3年になりますのでそろそろ別の人間に変わってもいいんじゃないかと思ってますよ。

年に数回セキュリティのアップデートを含むリリースがあるのですが、その際は公開する情報量やJVNとの対応などもありリリースマネージャ一人では行っていません。
ある程度組織化され情報もまとまりつつあり安定したリリースが行えている状態だと思います。

bsaerCMS5も来年には公開され次のステージに変わっていくと思いますがリリースにおいてはこの流れを引き継ぎいいプロダクトとして世の中で利用してもらえればなと思います。

この記事は2022年baserCMSアドベントカレンダーの記事です。前の人の記事もできれば是非見てみてください。

  • このエントリーをはてなブックマークに追加

RELATED