微软与开放源代码的复杂之舞

·  阅读 508

微软与开放源码的复杂之舞

使Visual Studio Code中的C#扩展成为专利的决定引起了人们的不满,但微软仍然是开源的一贯支持者。

米格尔-德-伊卡萨(Miguel de Icaza)对微软的一连串批评是很有可信度的。这位开发者在他的职业生涯中大部分时间都在微软的生态系统中构建开源项目,并在Xamarin和其他项目中为微软工作了多年。他的主要抱怨是什么?"微软会颠覆一个活跃的开源项目,强行加入一个专有扩展,继续锁定.NET"。这是在去年的Hot Reload开源垃圾桶火灾之后发生的。

对于那些选择把这看作是微软 "Linux是癌症 "的老套路的复活的人来说,没那么快。总的来说,微软一直是开源社区的持续贡献者,至少从2014年公开宣布献身开源以来是如此。令人怀疑的是,该公司突然恢复了类型,关闭了其最明显的开源成功之一。相反,我怀疑这是一个部门的决定,以满足企业的收入目标,即使是不受欢迎的许可模式。

还认为这只是微软在作恶吗?你在大公司工作过吗?

右手,遇到左手

大公司存在的现实是,"CEO说要这么做 "比 "我的同事认为这是一个好主意 "更有说服力。此外,即使是行政命令也需要时间和毅力来执行。这样想吧。首席执行官说,"每个人都必须销售我们的新猴子眼镜"。听起来不错,对吗?嗯,确实如此,直到斑马眼镜部门的总经理提醒首席执行官,她有10亿美元取决于销售斑马眼镜而不是猴子眼镜。哦,然后合作伙伴负责人提醒首席执行官,他们有5亿美元的承诺,与河马眼镜有关的合作伙伴。销售人员需要接受培训,营销人员需要更新所有的宣传材料,等等,等等。一年后(或五年后),这一命令在很大程度上仍未得到满足。

回到微软:

2014年,微软首席执行官萨蒂亚-纳德拉(Satya Nadella)宣布,"微软热爱Linux"。地狱并没有结冰,因为此时微软还能做什么?Linux是生活中的一个事实,就像开放源代码一样。我不会重提史蒂芬-J-沃恩-尼科尔斯(Steven J. Vaughan-Nichols)已经写得非常好的历史。TL;DR?云计算(IaaS、PaaS、SaaS)正在向开源冲刺,如果微软想拥有一个未来,它就必须学会尽量减少对Windows的痴迷。(还记得Azure被称为Windows Azure的时候吗?)

微软有一个令人信服的财务理由来全身心地投入到开源中去,而且它基本上做到了。但是,如前所述,行政命令需要时间来执行。

这在2014年尤其如此。正如西蒙-菲普斯(Simon Phipps)当时所写的那样,就在纳德拉为微软对开源的新发现感到高兴的同时,该公司的其他部门却在积极反对开源和支撑开源的原则。事情变得更好了。到2016年,我可以合理地写道,微软已经成为世界上最大的开源贡献者,这是以在GitHub上积极为开源项目做贡献的员工数量来衡量的。当然,这不是一个完美的衡量标准,但它在方向上是准确的。到了2018年,我用一个开源项目 进行了统计,结果是,按照积极为GitHub开源项目做贡献的员工人数来衡量,微软又领先了。(你可以用这个项目来获得最新的数字)。

让我们回到激怒德-伊卡萨和其他开源倡导者的具体问题上。微软通报了它对Visual Studio Code的C#扩展所做的一些改变,使其成为专利。那次沟通有点难以理解,导致de Icaza总结道。"随着时间的推移,.NET平台正在变得封闭,以确保它只有在你是客户时才有用。"对于那些曾希望开放源代码的.NET将为C#和其他关键的微软技术铺平道路的人来说,这似乎是一个艰难的逆转。

de Icaza帖子的一个评论者认为,尽管有 "我们热爱开源 "的公司口号,"许多在讨厌的时代的老前辈现在还在那里。他们有很多人,而且资历很深,有些人肯定还有那些讨厌的想法"。对此,德-伊卡萨回答说:"是的。"

我们可以接受德-伊卡萨对形势的看法,但仍然认为,总的来说,微软在开放源代码方面的决定是对的多于错的。就是这个微软,最近资助了GNOME项目,这是一个对Windows桌面的直接挑战(如果不是特别有威胁)。它是Apache软件基金会的一个大赞助商,此外它还为PythonJava(!)、KubernetesOpenTelemetry等贡献现金和其他资源。

当然,对这一切的一个反驳是,微软当然会这么做!这符合他们的自身利益。这符合他们的自身利益,也许他们认为关闭.NET也符合他们的自身利益。对此,我的回答是,当然。我想不出有哪个公司是出于利他主义而为开源项目做贡献的。开放源代码本质上是自私的,这就是为什么它能继续维持自己并茁壮成长。开发者的贡献和公司支付给他们的费用中不乏自我利益的因素。

关于微软和.NET,我没有任何特别的抱怨。我关注微软二十多年了,也花了不少时间来怒斥那台机器。我学到了一件事。一家公司永远不会像表面上看起来那么糟糕,因为最终它是由做出决定的个人组成的。其中一些决定我喜欢,另一些我不喜欢。不过,我的意见(可能还有你的意见)并不重要,因为对开发者和客户的测试才是最重要的。如果微软的.NET开发者社区进行反击,并把他们雇主的钱带走,微软就会眨眼,收回决定。就像其他公司一样,是金钱影响了微软对开放源代码的喜爱,在这种情况下,微软也会跟着金钱走。

分类:
开发工具
标签:
收藏成功!
已添加到「」, 点击更改