Debian GNU/LinuxベースのソフトウェアルータVyOSの公式サイト内のVyOS Networks Blogにて、今年4月25日に投稿された記事 Community,Contributors,User Base and LTS builds が少し荒れた。
VyOSのコミュニティ自体が小規模、もしくはVyOSのコミュニティに興味が無いユーザが多い為だろうか、ブログが公開されてから3日程度で沈静化。redditにもスレッドは立ち上がったもののレスポンスは多くはない。しかし大規模なOSSプロジェクトで同じような内容の投稿が有ったら、炎上具合はVyOS Networks Blogの比ではなかっただろう。
自分とVyOSとの関わりについて
nightly build版(Rolling Release版)のisoファイルをダウンロードしVirtualBoxやVMware Fusion等へのデプロイと動作の確認、またはDocker経由でソースからビルドし動作の確認など、ユーザとしてVyOSを利用している。VyOSのコミュニティには参加していない。
VyOSを動作させる為のホスト機側の要求スペックが低くて済む点や、nightly build版であっても最近は動作が安定している点、試したい機能は一通り揃っている点等で重宝している。
ブログ記事の要約および意訳
該当のブログ記事は以下のとおり。
https://blog.vyos.io/community-contributors-userbase-and-lts-builds
以下は、上記のページの記載内容の日本語訳および少し要約した文である。
最近、LTSリリースの構築手順に関する質問を多く受けています。 私達は、特にユーザーの行動の特定のパターンを考慮してその分野で変更を加えています。今こそ、それについて議論する良い機会です。
Long-Term Support Release Builds
将来的にLTSブランチを構築する方法が変更されます。オンラインビルディングプラットフォーム(VyOS Image Builder Enhanced)を使用してビルドすることが可能になりますが、このサービスは費用がかかります。ストレージ、CPU、およびトラフィックの使用量に対して支払いが必要です。代替案として、すべてをソースからビルドすることも出来ますが、LTSリリースをビルドする場合、カスタムパッケージのビルド、リポジトリへの組み込み、およびイメージのビルドは自己責任になります。
これまでのLTSリリースの構築は非常に簡単でしたが、その背景には、VyOSの早期のユーザーが古いがテスト済みのLTS(当時はまだLTSとは呼ばれていない)と、実験的で常に不安定なブランチの間で選択する必要があったという経緯があります。
最近、個人利用ではなくオンラインで配布するためにLTSイメージを構築する人が増えています。毎月、自動化されたLTSビルドを提供するGitHubリポジトリが増えています。私達はこれらの人々に対し配布を停止して欲しいと丁寧に要請していますが、私達の要請を無視したり協力しない人々もいます。彼らは私達に何かを負っていると主張したり、私達を侮辱したり、オープンソースであるからといって私達の全ての作業を要求すると言っています。その為、より厳しい措置に出ざるを得ません。
VyOSの名前でイメージを配布しない理由を再度説明しましょう。非公式のイメージが壊れていたりバックドアがある場合、それらは私達の評判に影響します。私達はランダムな人々の行動に責任を負うことは出来ませんが、コミュニティの信頼がかかっている為にVyOSプロジェクトの評判を守る必要があります。これを解決するには、人々が正しいことをして名前とアートワークを置き換える必要があります。VyOSの名前は商標登録されており、アートワークも自由なライセンスではありません。これはVyOSプロジェクトの評判を保護する一般的な方法です。
また、リポジトリをホスティングし常にWeb上で利用可能にする事は無料ではありませんし、GitHub Actionsで行われるcold buildsなど、イメージのビルドで使用される帯域幅も無料ではありません。VyOSプロジェクトにとっての利益は何でしょうか?ユーザーベースからの貢献を促進しますか?答えはいいえです。
常に壊れているローリングリリースの時代は過ぎ去りました。私達のテストスイートは完璧ではありませんが、ブートしないイメージやさまざまな機能を持つ構成をロード出来ないイメージは公開されません。
一部の顧客は、まだLTSブランチに追加される必要のある機能のために、プロダクションでローリングリリースを使用しています。それが十分であれば、それは家庭や実験室のユーザーにとっても十分でしょう。
Community
私達はコミュニティを愛しており、私達と一緒に取り組んでくれる全てのコントリビュータ(貢献者)と、VyOSが認識され今日のような存在になる以前から私達と共にしてくれた顧客に非常に感謝しております。
長い間、コントリビュータはLTSイメージに無料でアクセス出来てました。プロジェクトに継続的に参加してくださって、私達の仕事を共有出来る事をうれしく思っています。顧客は素晴らしいソフトウェアにアクセス出来、自社のコアビジネスに集中出来ます。私達のチームはビジネスニーズに関するシンプルなサポートを超えるよう努めています。私達は、VyOS for Goodプログラムを非常に誇りに思っています。これは、学校・大学・科学研究所から消防士や救助チームまで、様々な組織にVyOSへのアクセスをもたらします。
しかし、私達のコミュニティにはコントリビュータは何人いるのでしょうか? GitHubの統計を見ると殆どのコミットはVyOSチームのメンバ(VyOSから支払われている人々)によって行われており、熱心なコミュニティメンバーはわずかです。10年間のプロジェクトの存在の中で、私達のリポジトリに10回以上のプルリクエストを行った人の数は52人です。10年間で52人の人々です。これを考えてみてください。
他の同じくらい古いプロジェクトを見てみましょう。OPNSenseには2倍のコントリビュータがおり、10倍のスターがついています。Hugo(静的サイトジェネレータ)には1500人のコントリビュータがおり、72kのスターがついています。
私達は貢献してくれたすべての人に感謝しており、引き続きLTSリリースの作業を共有し、数が増えることを願っています。しかし、簡単に構築可能なLTSリリースはコミュニティの成長を促進しませんでした。
簡単に構築可能なローリングリリースと確立されたコントリビュータ向けのLTSイメージは消えません。プロジェクトが貢献しやすくなるようにし、私達と一緒に働く人々を報奨したいと考えています。しかし、あなたがコミュニティメンバを称するのであれば、あなたは私達のように努力をしなければなりません。
VyOSプロジェクト側の意見
LTS版のVyOSのビルド方法の変更および有料化、ユーザ個人でビルドした野良VyOSのオンライン上での公開の是非、VyOSコミュニティのコントリビュータの人数について言及している。
VyOSプロジェクト側はコントリビュータや顧客に対し感謝の意を述べる一方、他の類似のプロジェクトと比較をするとVyOSプロジェクトのコミュニティの規模が小さく、ユーザが自分でビルド出来てしまうというLTSリリースの現行のやり方がコミュニティの成長を促進していない事と、VyOSプロジェクトがこれに対処する為にはVyOSユーザのコミュニティへの積極的な参加が必要と述べている。
VyOSプロジェクト側の投稿に対するユーザの反応(抜粋)
以下はVyOSプロジェクト側の投稿に対するコメントの一部。
VyOSのサブスクリプションの金額が高額な点、市場におけるVyOSの立ち位置の見誤り、投稿記事の内容(特に後半部分)に関する批判が多くを占めていた。
・市場におけるVyOSの立ち位置を見誤っている。エンタープライズなルータはパフォーマンスが優れており基盤となるハードウェアに最適化されている可能性が高い為、企業のネットワーク基盤としてVyOSを使用する事は無い。
中小企業にとってVyOSの年間8,000ドル程度の契約は正当化するのが難しい。
ITでの作業は楽しいものであるべきであり、友人や家族を怒らせたり自分自身に大きなフラストレーションを与えたりする為に、最新ビルドを実行したくはない。
LTSビルドへのアクセスを制限したり、独自のコミュニティやコントリビュータを拒否したりしないアプローチを取るべき。これは、ユーザーベースや潜在的な顧客を増やすのに役立たない。むしろ、ソフトウェアに関する追加サービスを提供することで、顧客にお金を払うように説得すべき。
・この投稿の態度 (特に後半) から、私の貢献と「コミュニティ」への参加はメンテナにとって重要ではないことがわかる。参入障壁を増やしたり、リポジトリに充分なスターを付けていないと批判したりしても、コントリビュータやエバンジェリストのコミュニティは成長しないことを理解して欲しい。エンタープライズの顧客に焦点を当てる事は理解出来るが、趣味のユーザに対してそのような軽蔑を示す必要は無い。
・実際、コミュニティに対する態度は変化しており悪い方向に進んでいる。皆さんは持続可能なビジネスモデルを考える必要が有る。企業の世界で競争するには、特にネットワーク部門では苦労して稼ぐお金が必要。
・この決定が覆されるか、少なくとも個人ユーザやホームラボラトリがLTSバージョンを入手出来るようガイドラインが示されることを願っている。
VyOSチームの立場は理解出来るが、殆どの人、特にネットワークやホームラボラトリの人はネットワーク愛好家であり、エンドユーザのみである事を忘れないで欲しい。殆どの場合、必ずしもプログラマや開発者ではない。その為、githubでPRを発行してソリューションを提供することは一般的では無い。
・5年間、年間6,400ドルのサブスクリプションを契約するとソフトウェア自体だけで32,000ドルとなる。その価格帯であれば、余裕のある企業はハードウェアルータを1組購入するだろう。正直に言うと、これは中小企業が支払える金額をはるかに上回り、趣味人が自宅のルータやラボに投資する金額をはるかに上回る。小規模ユーザを追い払い、プロジェクトを以前よりもニッチなものにしてしまうだろう。
・多くの点で、これはProxmoxの現在のEnterpriseリポジトリへのアプローチに似ている。
VyOSチームへのフィードバックとして、Proxmoxのようなリポジトリ層を導入出来れば素晴らしいと思う。
ProxmoxにはEnterprise、非サブスクリプション、およびTestリポジトリが有る。
誤解しないで欲しい。私は多くの状況でtest/currentを実行することに全く満足しているが、一部の非本番環境のユースケースでは依然として重要であり、testを実行する事はコミュニティの多くの人が望んでいる以上にストレスになる可能性が有る。
また、パッケージ、カーネル、アドオン自体のコンパイルを制限しないのもありがたい。説明されているように、それは思ったほど悪くはなく、それほど簡単では無いが、説明されているように1.4ローリングをビルドする代替手段としては出来た。
自分の見解や感想
野良ビルドなVyOSがgithubで多く公開されている件について。ビルドという手間が増えるものの無償で商品版と同等の物が入手可能な現状を鑑みると、そりゃそうなるでしょうと思う。
今更言っても仕方ない事だが、他社のソフトウェアルータのように無償でダウンロードおよび利用が可能で、機能やデータプレーンの帯域をMaxで使用したい場合はサブスクリプション契約が必須...などで始めればよかった。
LTS版のビルドの有償化は賛成。今まで無償でビルド出来る環境を維持してくださった事に感謝している。nightly build版は今やそこそこ安定稼働するまでになってきたので、サポート不要でVyOSを開発環境や学習用環境等で使うだけなら無償でisoファイルを落とせるnightly build版で充分だろう。
しかし、個人ブログならともかくプロジェクト公式のブログでコントリビュータの人数やgithubのスターの数の少なさの不満をユーザが見える所でぶちまけるのはどうかと思う。
OPNSenseやHugo等のプロジェクトと比較しメンバー数やgithubのスターの数の少なさをユーザに愚痴っても、良い印象は持たない。
IPネットワークの世界の中ではVyOSは非常に有名なソフトウェアでユーザ数が多いかも知れないが、上記のユーザの返信にも記載が有ったとおり、サーバやセキュリティ等を含めITの業界全体から眺めるとVyOSはどちらかと言うとニッチな製品なので、プロジェクトのメンバー数やgithubのスターの数が他の有名なOSSより少ないのは仕方がない事だろう。
なぜ大炎上しなかったのか?
上記にて所々で触れられていたとおり、VyOSのコミュニティがとても小さく、VyOSの利用者の殆どが「ユーザー」に留まっているからだろう。ユーザはプロジェクトのメンバー数やgithubのスターの数なんか殆ど気にしない。成果物が大変気に入り、プロジェクトの存続を強く願ったり理念に賛同した場合は寄付はするかもしれない。(自分の場合、OpenBSDやMyDNSなど)
自分を含め多くのネットワーク屋にとってVyOSが要件を満たす動作をすれば良く、もしダメであってもVyOSの他のバージョンや他のソフトウェアルータに流れるだけである。VyOSのユーザの多くはプログラマーでもOS屋さんでもないと思われる。VyOSのコミュニティに参加しなくても不便不自由を感じないユーザが多くを占めているから、コントリビュータの人数やgithubのスターの数が少なく見えるのだろう。
※2023年9月1日に投稿されたVyOS 10周年の記事にて、VyOSプロジェクト側が野良VyOSがオンライン上で公開されてる事を把握している旨の記載が有った。この件に関しては以前から把握していたようだ。
https://blog.vyos.io/vyos10-debian30-gnu40-foss 10 years of VyOS, 30 years of Debian, 40 years of GNU
参照サイトなど
https://vyos.io/ VyOS
https://vyos.net/get/nightly-builds/ nightly build版VyOS
https://blog.vyos.io/community-contributors-userbase-and-lts-builds 公式ブログの該当記事
https://www.reddit.com/r/vyos/comments/1ccrjyn/community_contributors_user_base_and_lts_builds/ redditの投稿 Community, Contributors, User Base and LTS builds
https://opnsense.org/ OPNSense
https://gohugo.io/ Hugo
https://debslink.hatenadiary.jp/entry/20240406/1712367184 Dockerを使ってVyOS 1.4.0-epa2をビルドした