c#发展

首页 » 常识 » 诊断 » NET靠开源再出圈
TUhjnbcbe - 2025/6/1 17:25:00
从闭源走向开源,.NET背后都发生了哪些有趣的故事。本文采访了6位微软.NET团队成员,分享他们在GitHub以及建立.NET开源项目的经历。作者

RichardLander译者

弯月

当第一次考虑在GitHub上共享.NETCore时,我们觉得开源是一个富有吸引力且令人兴奋的想法。同时,我们很多人都不太了解GitHub,只知道这是一个很大的平台,至于如何利用这个平台,我们都有很多疑问。“如果第一天就有人在我们的运行时上建立分叉,该怎么办?是不是说我们的项目就完了?”我们知道应该虚心学习开发人员建立的模式,并了解他们对我们的期望。话虽如此,我们还是建立了项目和组织,而且项目的发展速度超出了我们的预期。截止到目前,我们已经度过了数个春秋,而且已经拥有了多个版本,而其他的都已成为历史。这是一段有趣的旅程,我们将与各方工作人员一起分享。

此次,我们将通过谈话的形式,与以下几位.NET工程师一起分享他们尝试GitHub以及建立.NET开源项目的经历。

ClaireNovotny:.NET基金会执行董事,.NET团队的PM

DanMoseley:.NET库团队的项目经理

ImmoLandswerth:.NET团队的项目经理

KevinPilch:ASP.NETCore、EntityFramework和Winforms的工程经理

MattMitchell:.NET工程师

StephenToub:.NET工程师

Q:为什么开源对.NET项目如此重要?

Immo:现代开发技术栈需要跨平台。在操作系统和架构不断变化的大环境中,开源是最具可持续性的、构建一个拥有广泛支持的技术栈的方式。我们可以通过开源与消费者实时互动,而这从很多方面改变了我们计划、构建和迭代.NET的方式。最后,人们都希望开发技术栈这类的基础技术能够在开源许可下开放。

Claire:开源之后,任何人都可以查看和调试用于构建应用程序的运行时,甚至为之做贡献。以前有些问题对他们来说很重要,但不会被优先考虑,而如今他们可以自行解决这些难题了。开源之后,.NET项目已不再由微软一家提供。

Kevin:我认为开源对.NET很重要,原因如下:

开源语言和运行时的实现很常见,所以如果不开源的话,倒显得我们格格不入。

.NET涉及的范围很广,尽管我们尽了最大的努力来编写文档,但还不如让人们来亲眼看一看这些实现,甚至动手调试。

我们可以通过开源,与个人和其他公司展开合作,这种合作比在闭源系统上进行的一次性协议更直接。

Stephen:原因有很多,但最让我心动的是任何人都可以找到对他们很重要的东西,并加以改进。在.NETCore出现之前,任何改进请求都要与其他请求一起经过整理和分类后,才会到达合适的微软工作人员手中,然后再安排开发人员处理改进要求,可能需要经过几年的时间才能发布出来。如今,如果有人发现希望修复的问题,他们只需提出PR,然后经过审查、迭代、合并,通过每晚的构建,第二天就可以上线了。这是一个完全不同的世界。

Dan:开源是实现跨平台的最佳方式,尤其在面向Linux时,开源是最自然的做法。

Matt:我认为,微软必须通过某种方式表现对开源软件社区的投入,这一点很重要。我们采用了开源软件的开发方式,并将开源作为产品的一部分发布出去。如今,开源软件是整个软件生态系统的重要组成部分。微软的参与和回馈也非常重要。

Dan:由于有更多的人

1
查看完整版本: NET靠开源再出圈