作为Build 2020发布的一部分,微软本周早些时候发布了WinGet(不要与AppGet混淆)。在过去的几天里,我一直在收集我的想法,弄清楚过去12个月里到底发生了什么。
太长,读不下去了我不再开发AppGet了。客户端和后端服务将立即进入维护模式,直到2020年8月1日,届时将永久关闭。
一年前(2019年7月3日),我收到了一封来自微软高级经理安德鲁的电子邮件,
我负责Windows应用程序模型工程团队,尤其是应用程序部署团队。我只想给你一个简短的留言,感谢你构建appget——它是Windows生态系统的一个伟大补充,让Windows开发者的生活变得更加轻松。未来几周,我们可能会在温哥华与其他公司会面,但如果您有时间,我们很乐意与您和您的团队会面,就如何让您的生活更轻松获得反馈。
当然,我很兴奋;我的爱好项目被微软注意到是件大事。我回复了,两个月后又发了几封电子邮件,我们终于计划8月20日在微软温哥华举行一次会议。会议是在我、安德鲁和同一产品组的另一位工程经理之间进行的。我玩得很开心;我们讨论了AppGet背后的想法,我认为Windows中当前的软件包管理器系统有哪些缺陷,以及我对AppGet未来的计划。我们出去吃午饭,讨论了更多关于AppGet、Windows Phone和其他一些事情,但据我所知,会议的结果是,微软能做些什么来帮助我们?我提到一些Azure信用卡会很好,获得一些关于新MSIX软件包如何工作的文档,以及他们是否可以修复我在他们的一些下载链接中遇到的一些问题。
很高兴认识您并了解更多关于appget的信息。我正在跟进azure初创公司的定价。正如你所知,我们非常喜欢Windows上的软件包管理器,我们希望在这方面做得更多。我的团队正在成长,其中一部分是建立一个团队,负责确保Windows上的软件包管理器和软件分发向前迈出一大步。我们希望在Windows上实现软件分发的方式上做出一些重大改变,这是一个很好的机会(我想说这不是吗?)帮助定义整个Azure/Microsoft 365中Windows和应用程序分发的未来。
考虑到这一点,你是否考虑过花更多时间专注于appget,并可能在微软工作?
起初,我有点犹豫;我不想去微软做Windows应用商店、MSI引擎或其他与应用部署相关的东西。不久之后,我得到保证,我会把所有的时间都花在AppGet上。经过大约一个月的长时间邮件往来,我们得出结论,该安排将非常类似于acqui招聘;微软会雇佣我,AppGet会和我一起去,他们会决定是想给它改名,还是改名为微软AppGet。
在整个过程中,我都不清楚自己在微软将扮演什么角色。我的职责是什么?我该向谁汇报?谁/谁会向我汇报?在这些缓慢的对话中,我试图澄清其中一些答案,但从未得到明确的答案。
在又过了几个月又一次非常缓慢的电子邮件对话后,我被告知通过BizDev进行acqui招聘过程将需要很长时间。加快这个过程的另一种选择是,只需给我一笔“奖金”,然后在事后迁移代码所有权。我没有任何异议,所以我们在雷德蒙德安排了一些会议/采访。
我于12月5日飞往西雅图,在微软总部进行了一整天的面试/会议。我遇到了四个不同的人;其中三次会议更像是典型的面试;与Andrew的会面更多的是关于这一切结束后我们应该做什么,以及我们将如何迁移AppGet的流程和基础架构,以便能够处理微软的规模。我们讨论了一些选择,但总的来说,我觉得一切都很顺利。
我上次的会议在下午6点左右结束。我乘优步去了机场,回到了温哥华。
然后,我有六个月没有收到微软任何人的回复。
直到本周早些时候,当我得知第二天WinGet的发布时,
你好,凯万,我希望你和你的家人都做得很好——与美国相比,BC似乎对新冠肺炎有很好的应对能力。
我很抱歉,首相的职位没有发挥作用。我想花时间告诉你们,我们非常感谢你们的投入和见解。我们一直在构建windows软件包管理器,第一次预览将于明天在build上上线。我们在我们的博客文章中也给appget打了电话,因为我们相信windows上会为不同的包管理器留出空间。你会看到我们的包管理器也基于GitHub,但显然我们自己的实现等。我们的包管理器也将是开源的,所以显然我们欢迎您的任何贡献。
我期待着在明天上线后与您讨论我们的套餐经理。很明显,这件事在明天早上之前是保密的,所以请你自己保密。只有你和巧克力是我们事先告诉过的人。
我并不太惊讶;几个月前我就知道“微软的事情”不会发生。
我一直等到第二天才看到这个新的包管理器会是什么样子。当我最终看到公告和GitHub存储库时,我感到震惊?沮丧的我甚至不确定自己在看什么。
当我把它给我的朋友看时,他说的第一句话是:“他们叫它WinGet?你是认真的吗?”我甚至不需要向他解释核心机制、术语、清单格式和结构,甚至包存储库的文件夹结构是如何受到AppGet的启发的。
他们没有雇用我,我感到不安吗?不完全是,在参观校园后,我不太确定自己是否想为这样一家大公司工作,而且从加拿大搬到美国也不是我太兴奋的事情。而且,在整个过程中,我从未想过这是一笔交易。
1.4万亿美元的微软公司终于齐心协力,为他们的旗舰产品发布了一个像样的软件包管理器,这让我感到不安吗?不,他们几年前就该这么做了。他们不应该把Windows商店搞得这么糟。
实际上,无论我多么努力地推广AppGet,它都不会以微软解决方案的速度增长。我创建AppGet并不是为了发财、成名或被微软雇佣。我创建AppGet是因为我认为我们Windows用户也应该有一个像样的应用程序管理体验。
让我烦恼的是整个事情是如何处理的。缓慢而可怕的通讯速度。最后,整个电台陷入了沉默。但最让人痛心的是声明。AppGet客观上是WinGet的大多数想法的来源,只是作为另一个碰巧存在的包管理器被提到;而WinGet很少与之分享的其他套餐经理则被提及,解释得更加谨慎。
还有一线希望。WinGet将建立在坚实的基础上,并有成功的潜力。我们忽略了Windows用户最终可能会有一个像样的软件包管理器-
被复制的代码不是';这不是问题。我很清楚发布开源软件意味着什么,我不知道';我一点也不后悔。没有信用的复制是项目的基础。它实际上是如何工作的。如果我是专利类型,这就是你要申请专利的东西。ps.我不';我不后悔没有申请任何专利。
我不';我不是说软件包/应用程序管理器的一般概念,他们已经做了一百次了。如果你看看操作系统、自制、巧克力、勺子、ninite等类似项目;你';我将看到他们都以自己的方式做这件事。然而,WinGet的工作方式与AppGet的工作方式几乎相同。
你想知道微软WinGet是如何工作的吗?去读我两年前写的关于AppGet如何工作的文章吧。
我';他们抄袭了我,我一点也不难过。对我来说';这证明了我的想法是正确的。让我不安的是,没有人给我信用。
是的,我的旅行报销有问题,所以我联系了人力资源部的联系人,同时询问了面试情况,她告诉我有人会回复我,但他们从来没有回复过。这是在2020年2月14日。