抱きしめて殺す?AppGet開発者は、マイクロソフトが助けと仕事の話で彼を引き入れたと主張しているが、その後、驚くほど似たパッケージマネージャーをリリースした。

Table of Contents

抱きしめて殺す?AppGet開発者は、マイクロソフトが助けと仕事の話で彼を引き入れたと主張しているが、その後、驚くほど似たパッケージマネージャーをリリースした。

更新AppGet の開発者である Keivan Beigi 氏は、Microsoft がオープンソースの Windows パッケージ マネージャーを公式機能として開発するために彼を雇うところだったが、その後 6 か月間沈黙した後、WinGet を発表した経緯について説明しました。Beigi 氏によると、WinGet は「 AppGet に非常に感銘を受けた」とのことです。

Microsoftは今月初めのBuildバーチャルイベントでWinGetを発表しました。当時、シニアプログラムマネージャーのデミトリウス・ネロン氏は次のように述べています。「他のパッケージマネージャーも検討してみてはいかがでしょうか? 素晴らしい製品だと思います。既に著名なパッケージマネージャーチームといくつか話し合いました。Chocolateyは活気のあるコミュニティを持ち、膨大な数のアプリケーションを擁し、オープンソースとエンタープライズの両方の顧客をサポートしてきた豊富な実績があります。Scoopは、UACポップアップなしでソフトウェアをインストールできる便利な方法を提供します。Niniteは、インストールしたすべてのアプリのアップデートを監視します。他にも、AppGet、Npackd、PowerShellベースのOneGetパッケージマネージャーなど、多くのパッケージマネージャーがあります。」

AppGetについてはここで言及されていますが、あくまで脚注として言及されているだけです。Beigi氏の説明は異なる視点を示しています。彼は2019年7月に、Windowsアプリ展開チームの「Microsoftの上級管理職」から連絡を受けたと述べています。その管理職は、AppGetの構築とWindows開発者の「生活をはるかに楽にしてくれた」ことに感謝し、「AppGetの構築で皆さんの生活を楽にする方法についてのフィードバックをいただきたい」とBeigi氏に面会を求めました。

Beigi は、Microsoft の本拠地である米国ワシントン州シアトルからそう遠くないカナダのバンクーバーに拠点を置いています。

マイクロソフトが彼のサービスを自社の代替サービスに置き換えることは、ベイギ氏が面談に同意した時点では想定していなかっただろう。彼はAppGetの背後にある構想と将来の計画について説明した。マイクロソフトはAzureクレジットで彼を支援できるかもしれない。

その後まもなく、ベイギ氏はマイクロソフトから「AppGetにもっと時間を費やし、場合によってはマイクロソフトで働くこと」を検討して欲しいとのメールを受け取った。その後の話し合いで、提案内容が明確になった。マイクロソフトが彼のコードを使用し、そのコードは「Microsoft AppGet」になるか、あるいは名前が変更される可能性があるとのことだった。

12月、ベイギ氏はシアトルでマイクロソフトとの面接を丸一日かけてこなしたと言い、「全て順調に進んだと思っていた」と付け加えた。しかし、6ヶ月後のBuild直前まで何も起こらなかった。また別のメールが届いた。「皆様のご意見とご指摘に深く感謝しております。Windowsパッケージマネージャーを開発しており、最初のプレビュー版を明日のBuildで公開いたします」。さらに、「当社のパッケージマネージャーもオープンソース化する予定ですので、皆様からのあらゆる貢献を歓迎いたします」と付け加えていた。

ブラッド・スミス

マイクロソフトは大丈夫?Windowsの巨人、オープンソースに関して「歴史の間違った側にいた」と認める

続きを読む

採用されなかったという知らせは残念だったが、ベイギ氏は既にそれが実現しないと確信していた。MicrosoftのWinGetの発表とGitHub上のコードを見て、ようやく動揺したという。「WinGetのコアとなる仕組み、用語、マニフェストのフォーマットと構造、そしてパッケージリポジトリのフォルダ構造に至るまで、すべてがAppGetに大きく影響を受けています」と彼は主張した。

ベイギ氏は、マイクロソフトが違法行為を行ったとは言っていない。WinGetはC++で書かれているのに対し、AppGetはC#で書かれており、Apache License 2.0に基づくオープンソースだ。「私が気になったのは、この件全体の対応だ」と彼は言う。「通信速度が遅くてひどいこと。そして、最後には全く連絡がなかった。しかし、一番傷ついたのは発表内容だ。客観的に見てWinGetのほとんどのアイデアの源泉であるAppGetが、たまたま存在する別のパッケージマネージャとして言及されただけだ」

AppGetと同様に、WinGetもYAMLマニフェストに基づいており、コマンドも似ています。YAMLマニフェストを使用する理由については、Beigiが2018年7月にこちらで解説しています。

ベイギ氏は釈明として、確かに2月にマイクロソフトに何が起こっているのか尋ねたところ、誰かが連絡すると言われたものの、「結局連絡はなかった」と付け加えた。旅費の払い戻しさえも困難だったという。

ここで問題となるのは、オープンソースプロジェクトからアイデアを借用することが許されるかどうかではありません。これはよくあることです。一方、マイクロソフトが、支援や雇用の希望を申し出ることで誰かからアイデアや計画を引き出し、その後事実上自社製品を廃止したという主張は、最善の行動とは言えず、マイクロソフトが比較的最近になってオープンソースへの愛着を抱き始めたことと相容れません。ジュニパー・エデュケーション・グループのCTOであり、Microsoft MVPでもあるジェームズ・ランドール氏は、Twitterで次のように述べています。「彼らが自らの主張を忠実に守っているのであれば、この件について何も言わないのは理解できません。このような悪質な行為は、彼らが自ら主張している理念そのものを損なうものです。」

このようなアカウントは、同社がオープンソースコミュニティで支持を得ることを困難にし、Microsoftが後援する.NET Foundationのような取り組みを弱体化させています。Illyriad GamesのCTOであり、.NET Foundationの理事も務めるベン・アダムズ氏は、「これはひどい話です。しかし、WindowsチームがC++パッケージマネージャを開発していることについて、私たちに何をしてほしいのか、よく分かりません。憤慨している人のうち、プロジェクトにスターを付けたり、貢献したり(2015年から1人の貢献者)、あるいは彼を支援したりした人はどれくらいいるでしょうか?」と述べています。

Adams 氏は次のように付け加えた。「.NET OSS が消滅するのは残念であり、間違いなく非難されるべきことです。しかし、著者の苦情を見ると、MS の採用プロセスが不十分で、AppGet が発表で適切に認識されていなかったようです。2 番目に調査してみます。」

AppGetについて、Beigi氏はGitHubで次のように述べています。「Microsoft WinGetのリリースに伴い、AppGetの開発は終了しました。クライアントとバックエンドサービスは2020年8月1日までメンテナンスモードに移行し、その後は完全に停止されます。」

Microsoft にコメントを求めており、それに応じてここで更新します。®

5月28日17時30分GMTに更新。

マイクロソフトはコメントを返答しましたが、同社はこれを採用に関する問題としてのみ捉えているようです。「この候補者の経験について遺憾に思います。社内で状況を調査中です」と広報担当者は述べました。

Discover More