Edition)に関するビジネスをMirantis社に売却しました。KaaSを展開しています。projectをDockerの名前に戻そうという提案が出ているDockerの父が、DockerとMobyの明確な違いについて語ってくれたDockerのはじまりDockerは、かつてdotCloud社が同じ名前でPaaSを提供していたときの「基盤」をOSSとして公開したものがはじまりです。friendlyなCLIでできるようにラッパーとして動作していました。このへんの詳しい経緯は下記のスライドにも詳しく載っています。speakerdeck.com現在はLXCに依存しておらず、libcontainerを基としたマイクロサービスのコンテナランタイムが動作しています。Projectは、雑に言えばDockerに関わるOSSたちの集合です。ProjectはGitHubのOrganizationとして存在していて、Dockerというプラットフォームを形作るマイクロサービスたちが以下のように分割されて管理されていますmobybuildkitvpnkithyperkitこの中でもmoby/mobyはDockerの根幹そのものであり、実態はDockerのロゴやライセンスなどのプロプライエタリなものを削ぎ落としたソフトウェアです。DesktopやOSS版Dockerなども含め、Dockerのプロプライエタリな要素を含みます。mobyはLinuxコンテナという優れたエコシステムをより簡単に提供するためにOSS化され、その代表であるDockerは、Stackoverflowでも好きなソフトウェアランキングで上位に入る程度の人気を誇っています。EEを売った今、Docker社に残るのはコミュニティです。projectは発表時こそ名前が変わることで話題になりましたが、実際のところmoby自体がプラットフォームとして覇権を得ることはなく、KubernetesとCNCFに負ける結果となりました。Dockerが提供したのは、コンテナが動いてビルド出来る環境であって、これはContainerdやBuildKitなどの他のプロジェクトで置き換えられるものです。そのため、インフラ基盤としてのDockerにもはや大きな意味はなくなってしまったのです。ここで残るのはDockerという大きなエコシステムですが、これには2つの顔があります。1つはインフラ基盤としてのDocker、もう1つは開発者が使うアプリケーション開発ツールとしてのDockerです。Hykesはこう語っています。enemy.つまりこうですMoby/Dockerの分割の目標は非常に単純でした。インフラストラクチャ部分のコードを開発ツールから分離するため、「Docker(Moby)はインフラストラクチャ基盤だ」と呼ぶ人々と「Dockerは開発ツールだ」と呼ぶ人々を分離できます。このように人々を別々のコミュニティに分離することは非常に重要でした。インフラストラクチャの人々と開発ツールの人々は異なる目標と優先順位を持ち、1つのプロジェクトが両方のグループを幸せにしようとすることは持続可能ではありませんでした。あまりにも多くの対立や誤解を生み出し、最終的に人々を怒らせました(私自身も含めて)。「Dockerは実際にはオープンではなく、Dockerメンテナーが私のPRをマージしなかった」というドラマの多くは、インフラストラクチャと開発ツールの人々の間のこの根本的な誤解に由来しています。Moby/Dockerの分割を行うことによって「Dockerは開発ツールで、Mobyはインフラストラクチャです。開発ツールに興味がある場合は、Dockerを使ってください。インフラストラクチャに興味がある場合は、Mobyを使ってください。当然のことながら、これによりインフラストラクチャの人々が混乱し、時には怒りを引き起こしました。これは、Dockerの定義を変更せざるを得なかったためです。一方で、既にDockerを開発ツールと考えていた人たちは、定義を変更する必要がないため混乱していませんでした。最終的に、コミュニティの分離が行われ、生産性の向上と争いの減少に繋がりました。振り返ってみると、最大の要因はMobyの分離ではなく、コンテナの分離でした。Kubernetesユーザーがdockerdにとらわれずにお気に入りのランタイムを選択できるようにするCRIにより、多くのmoby分離に怒ったKubernetesユーザーの人々は、containerd、cri-o、または他の人々がPodを実行している他のランタイムに移りました。Mobyの分割を元に戻すことが良いアイデアかどうかはわかりません(私の直感では、トラブルに見合う価値はないが、わかりません)。インフラストラクチャと開発ツールを明確に区別してください。Dockerをインフラストラクチャのプロジェクトにしないでください!実際そうではなく、また、そうあるべきではありませんでした。Docker初期からコミットしているのフルタイムのメンテナーでない限り、同じオープンソースプロジェクトで大規模に開発ツールの開発とインフラストラクチャの開発を混在させることがどれほど苦痛なのかわからないでしょう。私も、そうした行為を最悪の敵として迎えたくはありません。inductorです。2020の個人的に気になっているセッションまとめ月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。