Helios: Oxide Rackを動かすillumosディストリビューション
(github.com/oxidecomputer)- HeliosはOxide Rackを動かすillumosディストリビューションであり、この最上位リポジトリのツールとドキュメントが複数のソフトウェアconsolidationを束ね、ディストリビューション全体のビルドを管理する
- ディストリビューションはillumos-gate stlouisブランチを中核OSとして使用し、Oxideハードウェア向けの追加要素と一部のパッケージング変換を加えたstock illumosパッケージを主に提供する
- すべての構成リポジトリが公開されているわけではなく、非公開consolidationは
OXIDE_STAFF=no gmake setupでクローン・ビルド対象から除外できる - 独自パッケージのビルドは最新のHelios環境で
rustup、gmake setup、Rust製のhelios-buildを使って行い、開発中はshadow compilerと一部のチェックを無効にするquick buildが可能 - ビルド結果はローカルのboot environmentにインストールすることも、
pkg.depotdで別のテストシステムへ配布することも、インストールせず変換済みパッケージリポジトリだけを作って確認することもできる
Heliosの役割と構成
- HeliosはOxide Rackを動かすillumosディストリビューション
- ディストリビューション全体は複数のソフトウェアconsolidationで構成され、この最上位リポジトリのツールとドキュメントがビルドを主導する
- 公開されているconsolidationには次が含まれる
- boot-image-tools: Oxideハードウェア向けブートイメージ組み立てツール
- garbage-compactor: 中核OS以外のパッケージ向けビルドスクリプト
- helios-omicron-brand: Omicronコンポーネント向けzone brand
- helios-omnios-build: 中核OS以外のパッケージ向けビルドスクリプト
- helios-omnios-extra: 中核OS以外のパッケージ向けビルドスクリプト
- illumos-gate stlouisブランチ: カーネル、libcなどの中核オペレーティングシステム
- phbl: Pico Host Boot Loader
- pinprick: ROMイメージ圧縮ユーティリティ
- illumos/image-builder: 起動可能なillumosディスクイメージのビルドツール
- amd-host-image-builder: AMD CPU向けROMイメージ構成ツール
- まだ公開されていないconsolidationもある
amd-firmware: AMD CPUファームウェアのバイナリblob、今後公開予定chelsio-t6-roms: Chelsio T6 NICファームウェアblob、今後公開予定pilot: Oxideシステム向け低レベル制御ユーティリティ、今後公開予定dmar-report: DRAM marginingレポート生成器、今後公開予定
- 非公開リポジトリへのアクセス権がない場合は、
OXIDE_STAFF=no gmake setupでまだ公開されていないソフトウェアのクローンとビルドをスキップできる
開始環境と初期設定
- これは独自のOSパッケージをビルドしてインストールしたい場合の手順であり、Heliosを使うことだけが目的ならhelios-engvmの事前ビルド済みHeliosソフトウェア情報を参照する流れになる
- 推奨される出発点は、最新のHeliosがインストールされた物理または仮想のビルドマシン
- 仮想マシンのインストール詳細はhelios-engvmにある
- 物理x86システム向けインストールメディア情報も同じリポジトリにある
helios-engvmの手順でVMを作成したなら、必要なパッケージはすでにインストールされているはず- ISOインストーラや別の方法でHelios環境を作った場合は、
pkg:/developer/illumos-toolsパッケージが必要なことがある- インストール状況は
pkg list developer/illumos-toolsで確認する - 不足していれば
pkg installで導入する
- インストール状況は
- 最新のHeliosパッケージを使うことが望ましく、
pkg update後に表示される指示を確認する必要がある- 更新によって新しいboot environmentが作成されたと表示されたら、
rebootで有効化してから先に進む
- 更新によって新しいboot environmentが作成されたと表示されたら、
- RustとCargoは、Rustプロジェクト公式のバイナリを
rustupでインストールする- 公式インストール手順では
shの代わりにbashを使う - 例のコマンドは
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash
- 公式インストール手順では
リポジトリのクローンとhelios-build
- Heliosマシンでリポジトリをクローンしたら
gmake setupを実行するtools/helios-buildでRust製のhelios-buildツールがビルドされる- 複数のリポジトリが
projects/以下にクローンされる
oxidecomputerGitHub組織の非公開リポジトリにアクセス権がない場合は、次のように公開リポジトリのみを使うようにできるOXIDE_STAFF=no gmake setup
helios-buildツールは初回ビルドに時間がかかることがある- 初期設定段階では想定されるプロジェクトリポジトリをクローンするが、その後の更新やブランチ切り替えのような操作は一部のリポジトリにしか行われない
- どのリポジトリが自動更新対象かは
config/projects.tomlのauto_updateで確認できる - それ以外のローカルクローンは通常のGitリポジトリと同様に、自分でブランチ切り替えやpullを管理する必要がある
- どのリポジトリが自動更新対象かは
illumosビルド方式
- Heliosの中核OSコンポーネントはillumos-gateのstlouisブランチから来ている
- Heliosシステムに含まれるパッケージの大半は、stock illumosにOxideハードウェア向けの追加要素と軽微なパッケージング変換を加えたもの
helios-buildはillumosビルドを容易にするためにビルド設定を管理し、illumosビルドツールを呼び出す複数のwrapperを提供する- 上流のillumos文書であるBuilding illumosは、Heliosツールが代行する処理の大半を扱っている
- 開発中は次のコマンドでquick buildを実行できる
./helios-build build-illumos -q- quick buildは最終統合で要求されるshadow compilerと一部のチェックを無効化する
- ビルド時間はビルドマシンのCPU数とローカルストレージ性能によって変わる
- 完全なビルドログは大きく、たとえば
tail -F projects/illumos/log/nightly.logで確認できる - ビルドが成功すると、
projects/illumos/packages/i386にパッケージリポジトリが生成され、その後さまざまな方法で変換・インストールできる
ビルドしたパッケージのインストールと配布
-
ローカルのビルドマシンにインストール
- 新しくビルドしたパッケージは
./helios-build onu -t my-be-nameでビルドマシンにインストールできる - このコマンドはillumosパッケージを変換・インストールし、
-tで渡した名前の新しいBoot Environmentを作成する - 新しいboot environmentは
onuによって有効化され、ユーザーは再起動してその環境に入る - boot environmentの情報はbeadm(8)を参照
- 再起動時はブートメッセージを確認し、boot loaderと対話できるようコンソールの前にいるのが望ましい
- インストール後は
pkg list -Hv system/kernelで、system/kernelパッケージがローカルのファイルベースon-nightlypublisherとquick buildバージョン3.0.999999から来ていることを確認できる
- 新しくビルドしたパッケージは
-
別マシンへパッケージリポジトリサーバとして配布
- ビルドマシンとは別にテストマシンがあるなら、ビルドマシンの
pkg.depotdパッケージリポジトリサーバを使える ./helios-build onu -Dは最新ビルドのパッケージを変換し、パッケージサーバを起動する- 例では
0.0.0.0:7891でサービスを提供する - サーバはControl-Cなどで終了するまで動作し続ける
- 対象マシンでは
pkgrepo info -s http://genesis:7891でビルドマシンへの接続を確認する - stock Heliosシステムには、デフォルトで中央リポジトリ
https://pkg.oxide.computer/helios/3/dev/を使うheliospublisherが1つある - テストマシンでは
on-nightlypublisherを追加して優先検索対象に設定し、既存のheliospublisherのstickyルールを緩和する pkg set-publisher -r -O http://genesis:7891 --search-first on-nightlypkg set-publisher -r --non-sticky helios- 状況によっては更新前に
entireメタパッケージを削除する必要がある - 特に
lipkgbrandベースのzoneがある場合に該当することがある - stock illumosの
onuツールはこれを自動で行う pkg update -nvでdry-runを実行し、quick buildパッケージに更新されることを確認する- 例では325個のパッケージが更新され、新しいboot environmentの作成と有効化、boot archiveの再ビルドが必要になる
- バージョンは、stlouisブランチのコミット番号ベースのstock Heliosバージョンから
3.0.999999のquick buildバージョンへ変わる - 実際の更新は
pkg update -vで行い、成功したら新しいboot environmentへ再起動する必要がある - 再起動後もpublisher設定は保持される
- 以後は、新しいビルド、パッケージサーバの再起動、テストマシンでの
pkg update -vという流れを繰り返せる
- ビルドマシンとは別にテストマシンがあるなら、ビルドマシンの
-
インストールせずパッケージだけ生成
./helios-build onu -Pはquick build結果のパッケージをインストールせず、変換だけを行う- 変換済みパッケージリポジトリは
tmp/onu/repo.redistに生成される - この方法はビルドリポジトリの内容を確認したいときに便利
pkgrepo info -s tmp/onu/repo.redistpkgrepo list -s tmp/onu/repo.redistpkg contents -t file -s tmp/onu/repo.redist '*microcode*'- パッケージファイルを保持して、複数のビルド出力の比較、リモートシステムへの転送、その後のインストールに利用することもできる
変更作業と反復ビルド
- システム変更作業は通常、quick build後のクリーンなビルドワークスペースから始めるのが望ましい
- 特定のソースファイルを変更し、コンポーネントを再ビルドしたい場合は、まず
bldenvでビルド環境に入る./helios-build bldenv -q- 新しい対話型シェルが起動し、
PATHやその他の変数が正しく設定される
- コンポーネントのディレクトリへ移動し、
dmake -S -m serial installのようなコマンドでビルド・インストールできる- 例では
cmd/idでidコマンドをビルドし、proto領域へインストールする
- 例では
- このようなtargeted incremental edit-and-recompile方式は、短いサイクルで変更がコンパイルできるかを確認するのに適している
-
最も正しいが遅い選択肢
- OS全体を再ビルドできる
- このプロセスは、可能な範囲で正しい結果を保証する唯一の手順
- 増分方式で説明のつかない問題が起きたら、まずfull buildを試すのがよい
- コマンドは
./helios-build build-illumos -q
-
保証はないが速い選択肢
dmake installでproto領域のバイナリを更新したなら、OS全体を再ビルドせずにパッケージだけ再生成してインストールできるbldenv内で$SRC/pkgへ移動し、dmake installを実行する- その後、更新済みパッケージでパッケージリポジトリサーバを起動するか、ローカルインストールを進める
-
ファイルシステムを直接扱う選択肢
- オペレーティングシステムは最終的にはファイルシステム内のファイル群なので、パッケージングツール以外の方法も可能
- 修正したバイナリをビルドシステム上でそのまま実行したり、
scpやrsyncでテストシステムへコピーして実行したりできる - そのバイナリがライブラリやカーネル変更を必要とする場合は動作しない可能性がある
- 新しいboot environmentを作成し、その中のファイルを調整することもできる
- boot environmentは、変更・スナップショット・クローン・起動が可能な独立したZFSファイルシステム
beadm create、beadm mount、beadm activateを使える- 完全に新しいディスクイメージやramdiskを作成し、VMまたはPXEで起動することもできる
- Helios専用のイメージ生成ツールはhelios-engvm imageツールにある
- これらのツールは、quick buildパッケージや任意の追加ファイルをイメージテンプレート修正によって含められる
- ベースとなっているのは上流のillumos/image-builder
OSイメージアーカイブ
- Oxide compute sled向けOSイメージをビルドする過程でイメージアーカイブが生成される
- このアーカイブにはboot ROMとroot file system ramdiskイメージが含まれる
- JSONファイルのメタデータも含み、omicron1 brandと同じ形式を使う
- ファイル内容は、Heliosと、Oxide Rackの物理システムへOSイメージをダウンロード・インストールする必要があるOmicronの一部との間でコミットされたインターフェースになっている
- Omicron利用に必要なファイルは最低でも次を含む
oxide.json: 少なくともv=1キーとOSイメージ識別用のt=osキーを持つメタデータヘッダファイルimage/rom: 32MiBのhost boot ROMイメージimage/zfs.img: 任意サイズのhost root file system ramdiskイメージ
- エンジニアリングや診断目的の追加ファイルが含まれることがある
- 例:
bldbまたはnanobl-rs向けのunix.z圧縮カーネル、cpio.z圧縮boot archive - 異なる診断機能を表すsuffix付き追加ROMファイルの配列
- 例:
- 追加ファイルはcommitted interfaceではなく、今後いつでも変更される可能性がある
- イメージアーカイブを解釈するソフトウェアは、認識できないファイルを無視しなければならない
ライセンス
- 著作権は2026 Oxide Computer Companyにある
- 別途記載がない限り、すべてのコンポーネントはMozilla Public License Version 2.0でライセンスされる
1件のコメント
Hacker News のコメント
これが公開されてうれしい。ローカルにデプロイして、できるだけ多くを学んでみるつもり
Oxideは、技術スタックとそこで働く人たちの両面で、ほとんど夢の会社に近い
でもすぐに「サーバーOSはそもそも何をするんだ?仮想マシンを立ち上げるだけでいいのでは?必要なのはLinuxそのものではなく、Linux仮想マシンを動かせることではないのか」と考えがつながった
個人インフラではSmartOSにかなり投資してきたが、Joyent買収後の将来が心配だった
Oxideの機器を使うほど大きな組織で働いていたらよかったのに。偽物のIBM PC AT的な互換性の構造物、ひどいBMCやiDRAC、ハードウェアRAIDコントローラーのようなものをいじらずに済むなら、ものすごく良さそう
外から見る限りではSunに似た雰囲気で、まさにそういう会社を夢見てきた
ただ、家族を養う立場では給与体系的に厳しい。子どもが大学を卒業して、もう大きな収入が必要なくなった頃には、その夢を叶えられるかもしれない
Oxideが提供しているものを、5歳児に説明するように教えてもらえる?ウェブサイトを見てもピンとこない
購入してオンプレミスで使うハードウェア+ソフトウェアなのか、PaaSなのか、また別のクラウドプロバイダーなのか分からない
結論から言うと、その通り。購入してオンプレミスで使うハードウェア+ソフトウェアだ
既存のオンプレミスクラウド製品の大半との違いは、ハードウェアとソフトウェアがうまく連携するように設計した単一ベンダーだという点。ソフトウェアは可能な限りオープンソースにしており、だからこそこうした発表も出てくる
ほとんどの製品は複数ベンダーの製品を束ね、実質的にインテグレーションを売っている。Oxideはその方式がさまざまな問題を生み、自社製品がそれを解決すると見ている
もう1つはSKUが2つしかない点。ハーフラックとフルラックだけで、1U単位で買うのではなくラック単位で買う
ラック全体を1つのまとまった単位として設計すると、1Uフォームファクターでは不可能なことができる。ファンの話ばかりするという冗談があるが、実際そうだ。従来の1Uより大きなスレッドを使うため、より大きなファンを使え、低いRPMで回せるので電力を節約できる
意図した設計上の選択だが、副次的な効果もある。低RPMのおかげでサーバーがずっと静かになる。初期の見込み客の中にはデモ中に「これ、本当に電源入ってますか?」と聞いた人もいたほど
サーバーを買う理由が静かさだけというわけではないだろうが、製品を単なる統合作業ではなく全体として考え直すと生まれる面白い例だ
Oxide の人たちが Sun 出身だということは分かるけれど、Linux ではないものを選んだことに、事業上の価値提案という面で実際に技術的な利点はあるのだろうか?
illumos が Linux より技術的に優れている部分があるのは分かるが、それが購入する顧客にとって本当に重要なのかは分からない
イデオロギーや伝統のために、より多くのコンピュータを売れなくするような厄介な問題を開いているのではないかと思う
Linux コンテナのワークロードを運用する立場からすると、これが根本的に 非 Linux であるという事実は、購入理由ではなく購入をためらう理由になる。Linux バイナリを無変更で実行できることは分かっている
顧客に見える製品の詳細ではなく、大半はその事実すら知らない可能性が高い
顧客が気にするのは、そのラックが効率的で安定しており、ニーズに合っているかどうかだ。ここで Linux ではなく illumos を選んだのは、その価値を効果的に提供するための選択だ
もちろん、同様の製品を Linux 上に作れないという意味ではなく、私たちは illumos のほうが目的に合っていると判断した
この決定はチームとともに RFD[1] の形で行ったもので、番号は #26 だが現在は公開されていない。真剣に検討した選択肢は Linux の KVM と illumos の bhyve で、かなり長い文書だ
結局は一つの道を選ばなければならず、私たちはこの道を選んだ。この部分を直接開発しているわけではないが、これまで障害になったと見る理由はなく、むしろ正しい選択だった可能性が高い
なぜ非 Linux である点が購入に反対する理由になるのか気になる。補足してもらえるとありがたい。ああ、下のコメントを見た: https://news.ycombinator.com/item?id=39180814
1: https://rfd.shared.oxide.computer/
なぜほかではなく illumos 派生を使ったのかは、最初のラックを出荷したときの Q&A[1] で少し触れており、今日このあと行う録画討論[2] でも改めて説明する予定だ
[0] https://hubris.oxide.computer/
[1] https://www.youtube.com/watch?v=5P5Mk_IggE0&t=2556s
[2] https://mastodon.social/@bcantrill/111840269356297809
プラットフォームエンジニアが最新カーネル、ドライバ、主要ライブラリの問題修正に一日を費やし、実際のアプリケーションがその上に依存することになる
あるいは IoT ベンダーの 99% のように、ベース OS を絶対に更新せず、それを狙う実用中のエクスプロイトが存在しないことを祈る道を選ぶ
だから中堅企業は CentOS 問題で大いに泣いた。有償で完全な RHEL インストールを運用しなくても、比較的安定したプラットフォームにとどまりながらセキュリティアップデートを受けられたからだ
10年ほどごとにすべての依存関係を見直す必要はあったが、1〜2年の更新サイクルについていくよりははるかに楽だ。システムによっては検証期間だけで6か月以上かかるため、その周期では短すぎる
これはほぼ Linux 特有の問題に近く、*BSD のような代替は Linux が提供するものの大半を提供しながらも、このような継続的な破壊がはるかに少ない
Oxide のシステムを一つにまとめ上げるチームとして、これ以上の人たちは想像しにくい
今は Linux だけで仕事をしているエンジニアだが、高価値のワークロードを動かせるもう一つの強力な Unix があった時代が懐かしい
Linux の openvswitch と Solaris の Crossbow SDN 機能を比べるなら、いつでも Crossbow を選ぶ
Linux が間違っているという意味ではないが、ツール群がそれぞれ勝手な道を進んで複雑性を生み、その上をさらに複雑なツールで再び抽象化しなければならないような形で、「マスタープラン」レベルの凝集性が著しく不足している
Azure Host OS、Bottlerocket、Flatcar のようなものと大きくは違わない
スタック全体を把握しており、カーネルコードの一部は Sun 時代から自分たちが持っていて、セキュリティ評価のためにソースへのアクセスを望む顧客に公開できる点が重要だ
illumosについてよく知らなかったのでWebページを見たところ、冒頭に「illumos is a Unix operating system」と書かれている
illumosはmacOSのような本物のUnixなのか、それともGNU/LinuxのようなUnix系OSなのか?
OpenSolarisベースで、OpenSolarisはSystem V Release 4(SVR4)とBerkeley Software Distribution(BSD)に基づいている。Illumosはカーネル、デバイスドライバ、システムライブラリ、システム管理用のユーティリティソフトウェアで構成される。このコアは、Linuxカーネルが複数のLinuxディストリビューションの基盤になるのと同じように、複数のオープンソースIllumosディストリビューションの基盤になる
https://www.opengroup.org/openbrand/register/
そのため UNIX™ 商標は使えない
しかし中身にはAT&T Unixカーネルとユーザー空間のソースが入っている
PDP-11 Unix System III: https://www.tuhs.org/cgi-bin/utree.pl?file=SysIII/usr/src/ut...
IllumOS: https://github.com/illumos/illumos-gate/blob/b8169dedfa435c0...
Oxideを応援していないわけではないが、製品がまだあまりにニッチで初期段階なので、実際の企業がしばらくこれを買うとは想像しにくい
去年の夏の終わりになってようやく最初の顧客に最初のラックを出荷し、その顧客もIdaho National Laboratoryだった
今こういう賭けができる場所は、実質的に 国立研究機関 くらいに見える
Oxideの顧客にはIdaho National Laboratoryと、あるグローバル金融サービス組織が含まれる。Fortune 1000企業への追加導入も今後数カ月以内に完了する予定
別のやり方でローンチしようと計画しているなら、ローンチ前から会社を潰したも同然。運よく生き残る少数もいるが、それがスタートアップ10社中9社が失敗するという統計に寄与している
最初の顧客層に 極度に集中 してキャズムを越えなければならず、その次がマスマーケット
人々が学んだりスタートアップが試したりすることで、将来のラック販売や採用につながり得る
いまだに「オンプレミスなんて……うへえ」と思っている人たちにも提案は刺さる
自前のハードウェア上で クラウドのような体験 を提供するものに見える
Dell並みに安ければよかったのだが
唯一の問題は汎用コンピュート向けに作られているため、われわれにはもっと高速なプロセッサの選択肢が本当に必要だったこと
ドキュメントが明確で直感的に見える点が本当にいい。個人的には、illumosコミュニティが歴史的に苦戦してきた領域がドキュメントだったと思う
新しいソースリリースで consolidations の話を見ると温かい気持ちになる。ただしリポジトリ構成を大きく誤解していない限り、伝統的なgateパラダイムとは違う方向に見える
いくつか、主にツール関連の質問がある。なぜgmakeなのか? 後でdmakeもどうせ必要になりそうだが
手順ではrustupをbashで明示的に実行するよう書かれているが、これはアップストリームの欠陥なのか、それともローカルのshがPOSIXに完全には準拠していないのか?
内部開発はどうしているのか? Oxideの人たちはillumosワークステーションを使っているのか、それとも全員が仮想マシンで開発するか、サーバーにSSHしているのか?
なぜMPLなのか? GPL互換性のためか?
Oxideの人たちがillumosワークステーションを使っているのか、仮想マシンやサーバーSSHで開発しているのかについてはここに書いた: https://news.ycombinator.com/item?id=39181727
ただし実際にillumosをワークステーションで使っている人たちもいる
MPLについてはここにある: https://news.ycombinator.com/item?id=39181844
そのコメントでは「なぜ」について深くは述べなかったが、可能性の範囲の中ではよい妥協点だと思う。BSDよりはコピーレフト的だが、GPLほど制限的ではない
たいていのオープンソースプロジェクトと同じように、そこにも Linuxism/Bashism がある
広く利用でき、他のプラットフォームでも使え、より現代的な機能がある
ソフトウェアがオープンソースなのは素晴らしいが、ほかのハードウェアにデプロイして使えるのだろうか?
何らかの理由で会社がこれ以上 Oxide ラックを購入できなくなった場合、インフラをゼロからやり直す必要があるのか、それとも Oxide ハードウェアを中心に拡張を続けられるのか?
購入した Oxide ラックをもう使わないことにしたなら、仮想マシンを次に選んだインフラへ移せばよい
Linux/Mac/BSD ではないカスタム Unix で、企業がどんなワークロードを動かしたいと思うのか本当に気になる
より成熟した OS の多様性が生まれるのは応援したいが、エンドユーザーが誰で、どんなニーズを持つのか想像がつかない
必要に迫られれば Windows Server もブートできると思う
Illumos を使った理由は、Sun や Joyent など出身の人が多く、自然なバイアスがあるのも確かである
しかし、これは IBM 互換 x86 パーソナルコンピューターではない、というかなり説得力のある理由もある。BIOS も UEFI も従来型の BMC もなく、最新の x86 を使いながらも、プロプライエタリなファームウェアやバイナリブロブを可能な限り取り除いているように見える
各スレッドにはサービスプロセッサとハードウェアの信頼の起点があり、それが CPU を直接ブートし、AMD のトレーニングブロブをロードしたうえで OS をブートする
現時点で自分たちだけが持っているコンピューターのために、そうした変更を Linux や BSD にアップストリームするのは難しいだろう。結局は独自のダウンストリームフォークを維持する必要があり、OS の堅牢性に責任を持つ別の主体もいないため、何年もサポートし開発してきた OS を使うほうがよい、という判断になる
顧客はラック上で仮想マシンを実行するのであって、アプリケーションを illumos 向けにビルドするわけではない
目的を達成するのに必要な任意の OS を、その仮想マシンの中で動かすことになる
十分な人材を採用できるなら、クラウドのサーバーが必ずしも同じ OS である必要はない、という主張にも説得力がある
この OS の上でコードを実行するのではなく、この OS が提供する仮想マシンの上でコードを実行するのだから
Oxide を最初にどうやって知ったのか気になる
私はたまたま彼らのポッドキャストに行き着いたのだが、自分にはものすごいマーケティングのように感じる。製品を直接売ること以外はすべてやっている
各エピソードの最後に短い売り込みを入れるのもよいかもしれない
「コンパイラに何かをさせるのに本当に苦労した」といった話をしているうちに、昔話へ脱線するような感じだ
それでも話し続けてほしいし、うまくいってほしい
一方、Oxide and Friends は伝統的なポッドキャストというより、Twitter で始まり、今は Discord で行われているライブの「スペース」やグループ通話の録音に近い
ポッドキャストとしてだけ聴くより、ライブで参加するときに最も楽しめる形式だと思う。ライブで聴いてみると、録音版の雰囲気をずっとよく理解できる
https://oxide.computer/podcasts/oxide-and-friends
サーバーラックを発表したときから、これを期待していた
もし Oxide が倒産したら、誰も文鎮になった機材など欲しがらないだろうから
MPL はコピーが GitHub に公開で上がっているかどうかを問わない、という点を覚えておく必要がある
弁護士ではないが、非顧客がコードを閲覧できるかどうかに関係なく、顧客に対しては MPL 上の義務がある