微软如何杀死AppGet



上周,Microsoft Build 2020会议上发布了WinGet的软件包管理器,作为其声明的一部分。许多人认为这是微软与开源运动融洽相处的又一证明。但是免费软件包管理器AppGet的加拿大开发人员Keivan Beigi却没有。现在,他正试图了解过去12个月中发生的情况,在此期间他与Microsoft代表进行了交谈。 无论如何,Ceyvan现在都停止了AppGet的开发。客户端和服务器服务会立即进入维护模式,直到2020年8月1日,之后它们将永远关闭。



作者在他的博客中按时间顺序列出了事件一切始于一年前(2019年7月3日),当时他收到了微软开发团队负责人Andrew的来信:

Ceyvan,

我管理Windows App Model开发团队,尤其是应用程序部署团队。我只是想向您发送一封简短的感谢信,感谢您创建appget-这是Windows生态系统的重要补充,它使Windows开发人员的工作变得更加轻松。我们可能会在未来几周内在温哥华与其他公司会面,但是如果您有时间,我们希望与您和您的团队会面,以获取有关如何使您的生活更轻松地开发appget的反馈。

Ceyvan激动不已:他的业余项目被Microsoft发现!他回答了这封信-两个月后,在换完信后,他来到了位于温哥华的Microsoft代表处开会。出席会议的是安德鲁(Andrew)和同一产品组的另一位开发经理。 Ceyvan说他们度过了愉快的时光-他们讨论了AppGet背后的想法,当前Windows上的程序包管理器中做得不好的事情以及他对AppGet未来版本的计划。开发人员给人的印象是,微软希望帮助该项目:他们自己问他们能为他做什么。他提到在Azure上获得一些贷款,关于新的MSIX软件包格式的一些文档会很高兴,并且可以解决单个下载链接的问题。

一周后,安德鲁(Andrew)发了一封新信,实际上他邀请安德鲁(Andrew)在微软工作:“我们希望对Windows上的软件分发进行一些重大更改,并且有很大的机会来帮助改善Windows和Azure / Microsoft中的应用程序分发系统的外观365.考虑到这一点,您是否考虑过可能在Microsoft上花更多时间在appget上?”他写了。

卡文起初有些犹豫-他不想去微软从事Windows应用商店,MSI引擎和其他用于部署应用程序的系统的工作。但是他们向他保证,他所有的时间都只能在AppGet上工作。经过大约一个月的冗长的电子邮件通信,他们得出的结论是,该协议将与获取合同非常相似-微软雇用开发人员及其程序,然后他们决定是否将其重命名为其他名称,或者将其重命名为Microsoft AppGet。

塞凡写道,在整个过程中,他不太了解自己在微软的角色。他的职责是什么?我应该向谁报告?谁向他报告?在这些缓慢的谈判中,他试图澄清一些答案,但从未得到明确的答案。

经过几个月的非常缓慢的电子邮件谈判,他被告知通过BizDev进行的招聘过程将花费很长时间。加快流程的另一种方法是简单地“加分”雇用他,之后他将开始着手转移代码库。他没有反对意见,因此他们计划在雷德蒙德举行几次会议/采访。

这个过程已经开始。 2019年12月5日,卡文飞往微软总部的西雅图,在那里度过了整整一天,采访了不同的人并与安德鲁进行了谈判。傍晚,我乘出租车去机场-返回温哥华。

他被告知要等待人事部门的电话。但是到了六个月后,Ceyvan一直没有收到微软的任何消息。直到2020年5月中旬,安德鲁的一位老朋友宣布第二天发布WinGet:

嗨Ceyvan,我希望您和您的家人过得很好-与美国相比,不列颠哥伦比亚省在Cove方面做得很好。

很抱歉,项目经理的职位没有工作。我想花时间说我们非常感谢您的意见和建议。我们开发了适用于Windows的程序包管理器,首个预览版将于明天Build 2020上线。我们还将在博客中提及appget,因为我们认为Windows上的各种程序包管理器都有空间。我们的包管理器也基于GitHub,但显然带有我们自己的实现等。它也随开源代码一起提供,因此显然,我们将很高兴收到您的任何输入。

塞万并不感到惊讶。到那时,已经很明显,他不会被邀请到微软工作,这并没有让他感到不适,因为他怀疑自己想在这么大的公司工作。

但是第二天,当他看到GitHub存储库时,真正的惊喜就在他身上:“当我向妻子展示存储库时,她说的第一句话是:”他们将其命名为WinGet?你是认真的吗??”我什至不必向她解释清单的基本原理,术语,格式和结构,甚至是软件包存储库的文件夹结构,都是受到AppGet的启发。”

“让我感到难过的是,这家市值达1.4万亿美元的公司终于聚在一起,为其旗舰产品发布了不错的软件包管理器吗?不,他们应该在很多年前就这样做。塞文写道,他们不应该像以前那样破坏Windows应用商店。 -实际上,无论我多么努力地推广AppGet,它的增长速度都不会像Microsoft的解决方案那样快。我创建AppGet并不是为了致富,成名或在Microsoft工作。我之所以创建AppGet是因为我相信Windows用户也应该在管理应用程序方面获得体面的经验。让我困扰的是这一切到底是怎么完成的。缓慢而糟糕的沟通。最后,完成广播静音。但最重要的是,这一消息令我震惊。 AppGet客观地讲,这是WinGet大多数想法的来源,只是作为另一个软件包管理器提到的,这个世界只是偶然地存在。同时,还提到了WinGet与其他软件包管理器的共同点非常少,并且对其进行了更为详尽的解释。”

Ceyvan Beigi并不沮丧。他说没有一线希望。至少,WinGet建立在坚实的基础上,并且具有成功的潜力。 Windows用户最终可能会得到一个不错的软件包管理器。对于他来说,这个故事已经成为一种宝贵的经验:“活一个世纪-学习一个世纪”。

他解释说,复制代码不是问题,这是开源的本质。他并不是要复制软件包/应用程序管理器的一般概念。但是,如果您查看OS X,Homebrew,Chocolaty,Scoop,ninite等中的类似项目,那么每个人都有其独特之处。但是,WinGet的工作方式与AppGet大致相同:“想知道Microsoft WinGet的工作原理吗?去读一本我两年前写的关于AppGet如何工作的文章,”他写道。

塞凡只是因为没有提到他的工作而感到沮丧。

以供参考。 “拥抱,延伸和扑灭”是美国司法部定义的一个短语,Microsoft用来描述Microsoft的部署策略,该策略使用业界广泛接受的标准。策略是扩展这些标准,并进一步利用这些差异来获得优于竞争对手的优势。

就AppGet而言,不能说这种策略是以其纯形式应用的,但是可以考虑一些要素。支持自由软件的人认为这是一种道德上不可接受的行为方式,并且仍然怀疑微软将Linux子系统引入Windows操作系统(WSL)的计划。他们说微软从本质上说并没有改变,也永远不会改变。





All Articles