Zabbix式オープンソースの秘密に迫る
Zabbix Summit 2024より、他のレポートとは少々異なった観点からZabbixのユニークさを解きほぐしてみたい。今回はZabbixのトレーニンググループのトップとプロダクトマネージメントチームのマネージャー、そしてかつてZabbixに所属したエンジニアへのインタビューを行った。その内容から数年前から抱いていた疑問「どうしてZabbix Summitは愛に溢れているのか?」を解き明かしてみたい。
GitHub UniverseやRed Hat Summitなどのベンダー主導のテクニカルな内容のカンファレンスではソフトウェアに関する詳しい解説、デモ、将来の計画や展望、そしてユーザー事例など基本的にはポジティブな内容がメインとなり、そこに集まるのは、プロダクトや企業に好意的な感情を持っている人達である。主催社もスポンサーもユーザーを増やしたい、売り上げを向上させたいという営利団体としての基本からは外れておらず、基本的には販促のための行為と言える。
筆者は数年来Zabbix Summitにメディアとして参加しているが、カンファンレスから受ける印象が他とは少し異なることを感じていた。何かが違う、しかしその何かの大元の要因がわからないという感覚が消えないのだ。そのために今回は、Zabbixの日本支社及び本社に無理を言って通常ではインタビューを受けない人達へのインタビューを試みてみた。
元社員に訊くZabbixのユニークさ
最初に紹介するのはZabbixの元社員、Ingus Vilnis氏だ。
Vilnis氏は約4年間、Zabbixで働いていたという。その前の職歴もITの企業でエンジニアをしていた。入社したのは2014年で、当時は30名に足らないくらいの組織だったという。退職した理由についても「非常に忙しく働いているうちに自分にプレッシャーをかけ過ぎて燃え尽きてしまった。要はバーンアウトしたんです」と語った。「Zabbixが他のソフトウェアと比べても大きく異なっているということは自分の中でも今でもその通りですね。他と比べることのできないソフトウェア」と語り、今でもユーザーとしてZabbixを愛用しているという。他と違うという部分について「他のオープンソースソフトウェアと比べてコミュニティの役割がはっきりしていることがその原因なのでは?」と問いかけてみたところ「あなたの意見には賛成だ。確かにコミュニティと言ってもユーザーとパートナーの集まりで、コードを修正したり新機能を追加したりするのはZabbixの役割だから。他のオープンソースソフトウェアであれば誰もがコードを修正することができる。ただZabbixにおいてはソフトウェアの開発について透明性が高いということも忘れないで欲しい」とコメントした。
Zabbixのユニークさは、ソースコードは公開されているが、コードの修正はZabbix社員のみが行うという点だろう。フロントエンドのGUIについてはJavaScriptでカスタマイズできるし、多くのカスタマイズされたウィジェットが公開されているが、コアの部分のコードはユーザーが修正することはできない。欲しい機能があれば提案を行うことは可能だし、その実装については投票で採択されるかどうかが決まる。もしも投票の結果、欲しい機能が実装されないのであれば、Zabbix本社のエンジニアに見積もりを取ってその費用を支払って開発してもらうことも可能だ。そしてそのコードも他のコード同様に公開される。
Vilnis氏は今でも特別なソフトウェアとして認めているZabbixについて一つだけ提案があるとして、以下のコメントをくれた。
「一つだけZabbixにお願いしたいことがあるとすれば、『Zabbixがどのように使われてその結果としてビジネスがどのように変わったのか?』を知る機会を提供してほしい。サポートのエンジニアも何かインシデントがあったとしてもそれが解決したら終わり。機能が追加されたとしてもそれがどのように継続的に使われているのかを知らないんです。要は自動車工場に故障したクルマを持ち込んで直してしまえばそれで終わり。実際にそのクルマがどんな仕事に使われるのかを見ていないんですね。だからその機能や修正が、ビジネスにどうインパクトを与えたのかを知る機会を作って欲しいと伝えています。もしそれが実行される時はユーザーとして協力は惜しみません」と語った。
すでにZabbixを離れているVilnis氏だが、Zabbixという製品も会社も特別な存在であることには変わりがないようだ。
トレーニングチームのトップとプロダクトオーナーへのインタビュー
次に紹介するのはトレーニングチームのトップとZabbixのプロダクトオーナーへのインタビューだ。
Lamberta氏はコミュニティのユニークさについて「Zabbixのコミュニティはユーザーとパートナー、そしてコード以外の部分、ドキュメントの翻訳やインテグレーションなどについて貢献を行うコントリビュータで成り立っています。他のオープンソースプロジェクトとはコミュニティのエンジニアがコードを書かないという部分が違っていますが、それだけではないと思います。コミュニティのメンバーは非常にはっきりと役割の違いを認識しています。なので『誰が何をするのか?』について混乱はありませんし、何かを決める場合も透明性が高いのです」とコメント。これは筆者が引き合いに出したKubernetesなどのオープンソースの場合、何かを決める場合に往々にして企業間の政治的な力が働くことに対するコメントだ。
またOrinskis氏は「プロダクトオーナーとしてZabbixの機能の実装や方向性などに対する責任を持っているとしながらも「我々はプロダクトに対して次に何をするべきか? を常に確認しています。ユーザーからリクエストされた機能追加や修正など細かな部分を、どうやったら確実にリリースできるのかを考えています」と語り、これもソフトウェア企業の場合、製品のリリースが常に遅れがちであることに対してオーバーコミットメントはせずに着実にできることを実践するのみということを伝えてくれた。
Lamberta氏は最後に「コミュニティの役割がはっきりしていることによって、お互いが協力する姿勢が強いのかもしれませんね。他のオープンソースコミュニティでは内部で競争が起こることも珍しくないと思いますが、我々はZabbixを良くすることで誰もが利益を得ることができるということを信じていると思います」とコメントした。
やはりコミュニティの役割がはっきりと定義され、混乱がなく透明性が高いということが、Zabbixという会社とソフトウェアが信じて愛する対象になっている出発点だろう。さらに追加するなら、今回のカンファレンスで何が違うのかを考えながら参加していた時に気付いた点を最後に述べたい。
Zabbixは学校に近い
「Zabbixは学校に近い」という言葉はカンファレンスの間、何度も参加者から出てきたコメントだ。それは特にZabbixのトレーナー資格について語られる場合に多かったように思われる。Zabbixの公式トレーニングを実施するトレーナーという資格を得るためには、すでにトレーナーになっているエンジニアからトレーナーになるための講習を対面で受ける必要がある。それは初期にZabbixの創業者であるAlexei Vladishev氏が、自らトレーナーとしてZabbixを教えていた時代から続いているという。そしてトレーナーになるために誰から講習を受けたのかということを学校の先輩後輩というような人間関係で継承されていく。いわば師弟関係が存在することで所属する企業が違っても書籍の執筆やトラブル時の支援など協力するための関係性が維持される。Zabbixにも資格制度があるが、資格試験ができる前からトレーナー養成のための対面のコースが存在し、対面の講習が難しいことに対する補助的な仕組みとして資格制度ができたという経緯らしい。つまり対面のトレーナー講習制度がコミュニティ内の人間関係を維持するための土台となっていると想像できる。またトレーニングチームのLamberta氏は「トレーニングチームの仕事の一つに社員のトレーニングがあります。我々はどのグループにいても少なからずZabbixのことは知っておかなければならないので」と語り、社内でもトレーニングというプロセスが社員同士の関係性を深める助けになっていることを説明してくれた。
またトレーナーという資格を持っていても、専業の教育ビジネスに従事しているというよりエンジニアとして顧客のシステムを構築する現場のエンジニアが多いようだ。実際にトレーナー向けの講習ではテキスト通りに進めると言うより受講者であるエンジニアの業務に合わせて脱線することもしばしばだそうで、トレーナーのZabbix愛が炸裂してしまうことも多いらしい。
毎回、参加するZabbix Summitで感じていた違いは、この師弟関係にも似た相互に信頼が形成できる人間関係が濃厚に残っていることに由来するようだ。これは時間とコストが必要な方法だが、学校のような雰囲気を醸成するためには必須なのだろう。またこの「学校らしさ」はオンラインサポートフォーラムなどの活動でも発揮されているという。質問に対して回答者が親身になって回答する、その経験を活かして質問を行ったエンジニアも回答する側に待った時には同様に対応する。この親切を繋いでいく経験が、あるべき姿として積みあがっているのがZabbixというコミュニティの特質だろう。
今や世界最大のオープンソースの非営利団体となったThe Linux Foundation/Cloud Native Computing Foundationは、Kubernetesだけではなくセキュリティや傘下のプロジェクトに対する認定試験開発に邁進している。ソフトウェアそのものに価格が付かず、サポートやインテグレーションが主なコミュニティに参加するエンジニアやその所属企業の収入源となるのであれば、認定試験を胴元である組織が開発し、その売上を胴元が支配し、その資格をベースにエンドユーザーに対するインテグレーションの差別化にするのは理にかなっている。認定試験の受験者を増やすためにも最適だろう。しかしその方法論ではZabbixにおいて奇跡的に実現できている「学校のような雰囲気」は難しいだろう。
今後もその奇跡が持続するのか、注意深く観察していきたい。