kmyblueがLTSを出してる理由

あすかです。

今回は「Fediverse (4) Advent Calendar 2024」16日目の記事です。ちょっと短めの話をやります。

Misskeyってあれですね、あれ、頻繁にアップデートやってる。毎月1回はアプデやってますよね
Firefishなんかは、ローリングリリースと言って、もうバージョン番号は設けませんから好きな時にアプデしてくださいと。

kmyblueではリリースの頻度をできるだけ減らしたいという思いがありまして、その理由はもちろん、サーバー管理者はIT精通者ばかりではない、もしくは忙しくて時間が取れない人が多いっていう状況を想定してるんですね。

あすかみたいなkmyblue開発者ならいいんですけど、それ以外のサーバー管理者にとっての日常とは、サーバーを管理することではなく、そのサーバーで何をやるか、誰と関わるか、すなわち利用者目線があすかより強いんじゃないかと。
もちろんサーバー管理もおはぎも責任として大切なんですけどね、一日そればかりやって潰れないのは開発者くらいですよね。開発してない管理者って基本的にいうほど熱狂はしてないと思います。っていう表現で読者に伝わります?

もちろん依存パッケージを全部最新にアップデートしてもらって、最新の機能が使えるのが開発者としては理想かもしれませんけど、時間のないサーバー管理者もいますから、そういう人たちにとって大切なのは最新の技術を使うとかいった開発者視点の話ではなく、いかに自分の日常を最大限確保するかだと思うんですよね。

ですから、kmyblueとしてはあまり管理者に負担を強いることはしたくないです。そういう事情があって、kmyblueでは最新版のほかにLTSを出しています。

最新版 は、本家Mastodonの開発版を取り込んで、kmyblueの新機能も入れます。その代わりメジャーバージョンアップは2ヶ月に1回になります。本家でアップデートがあった時の取り込み(チェリーピック)が大変になるので、これ以上間隔を開けることはできないです。

LTS は、本家Mastodonの最新安定版(4.3.x)をベースに、基本的にkmyblue独自機能のバグ修正、本家でアップデートがあった時の取り込みしかやらないです。kmyblueやMastodonの最新機能は使えませんが、比較的リリース回数は少ないです。

もっともこのようなリリースサイクルを明確に定めたのは今年のはじめからなんで、それ以前のLTSはあくまで「本家Mastodonの安定版をベースにするので開発版より安定してる」くらいの付加価値しか考えてなかったのでわりと頻繁に更新してました。

LTSなんですが、リリースは本家Mastodonでアップデートがあったときのみというのが基本なんですけども、例外もあります。

ただ、LTSだからって必ずしもリリース間隔があくとは限らないです。特に今年8月は本家Mastodonで頻繁にアップデートがあって、それに引っ張られたりしました。

リリース回数の比較

LTSのリリース回数、最新版と比べて確かに少ないんですが差はそんなにないです。
15.x-ltsの一つ前の5.x-lts(本家4.2.x相当)の実績として、これはリリースの考え方を明確にする前の期間も含まれるので参考になりますけども、

本家で4.2.0が出てから4.3.0が出るまでにkmyblue最新版を使っていた場合、5.0-ltsから14.2までの間に必要になるアップデートは33回です。
対してLTSだけを使っていた場合、5.0-ltsから5.25-ltsまでの間に必要になるアップデートは25回です。
8回しか違わないですね。ちょっと時間があれば最新版のほうがましと。

ただ一番少ないのは本家ですね、本家は13回だけでいいのでしたから、kmyblueをやるってだけでそれはもう本家より大変になりますね。
本家より多い原因として、kmyblue独自機能の不具合修正。これ、通常は本家のリリースと合わせて更新するんですけど、クリティカルな問題に関しては本家関係なくすぐ直したりします。

15.0-ltsが出てからで数えると、最新版では7回、LTSでは6回と、まだ1回しか差がありません。(※15.6-ltsは16.0と同時に出たので、最新版を使うなら15.6-ltsへのアプデは不要です)

無駄なリリースは減らしたい

最新版とLTSの回数差だけでなく全体の回数も減らしたいんですよね。ただでさえv4.2.xは本家の2倍という状況なので。
例えば15.1-ltsのリリースノートこれだけですけど、

15.2-ltsはこれですね、

15.2-ltsの修正は連合のことを考えると大変重要ですけども、それに比べると15.1-ltsの修正内容は自分のサーバー内で完結することで、直ったところで影響やおはぎはそんなに大きくないと。
15.1-ltsと15.2-ltsをひとつのリリースとして出せれば、リリース回数を節約できたと思うんです。そうすればサーバー管理者に負担をかけずに済みますし。
こういうところもひとつひとつ検証して、リリース回数減らせればと思ってます。

この記事を書いた理由(余談)

本家の都合で、やらなくてもいいけどどちらかといえばUbuntuのバージョンを上げたほうが今後楽になるんじゃないかなと思ってこういうお知らせを出しました。
Ubuntuのアップグレードって時間かかりますよね、手間ですよね、本家で4.4.0が出るのは早くても来年の春以降、数ヶ月以上後になりますけど、それまでに時間を見つけてゆっくり対応を考えてくださいね、くらいの意味合いで出したんです。

で、このお知らせを出した当日にUbuntuを24に上げた人がいたんです。あせりましたよ、あすかまだやってないですから。
もちろんkmyblueでも実際にUbuntu 24.04のテストサーバーを立ち上げて一通り動作確認したうえでこのお知らせ出してますけど、kmy.blueサーバーではまだですから。なんならローカルの開発環境はまだ20.04ですから。
ちなみにGitHubのCIテストではまだUbuntu 22っぽいですね。

自分以外みんな意識高すぎない?と焦ったおはなしでした。どうしよう


いいなと思ったら応援しよう!