积极拥抱.NET Core开源社区

潘正磊在上海的Tech Summit 2018 大会上给我们的.NET Core以及开源情况带来了最新信息。

.Net Core 开源后取得了更加快速的发展,目前越活跃用户高达400万人,每月新增开发者45万,在 GitHub 上的月度增长达到15%。目前有来自超过3,700家企业的1.9万开发者在为 .NET Core 做贡献,.NET 基金会管理着超过60个项目。

.NET Core 为开发者提供了跨平台、云原生应用的理想开发平台,特别是即将发布的 .NET Core 3,能够全面支持从网页到云端、桌面、物联网、人工智能的全方位的跨平台部署。在大会现场,微软演示了 Windows 桌面在 .NET Core 3.0上运行的情况,充分展现了将其用于未来开发环境的无限可能。

对于中国开源,潘正磊讲起了一个发现,那就是今年在 GitHub 报告中看到中国在开源领域已仅次于美国名列第二,“在中国有非常多的开发者参与到开源项目中,这真的是一个非常好的趋势。很高兴看到诸如腾讯、阿里等顶级的互联网公司也开始将企业内部的技术开源,这起到了非常好的领头作用,希望更多的中国企业能够加入开源。

不过,针对国内开源项目的使用,潘正磊有一点建议,那便是“中国的开源社区需要与国际更加接轨,要形成一个观念 —— 不是说开源项目就等于可以随便使用,明晰开源许可协议。国内有一些大的云服务公司没有很好地遵守相应的 Licence。这可能是大家对于开源的认识存在一些误区,开源并非是可以任意使用源代码,还需要明确其许可协议是什么类型,诸如 GPL、BSD、MIT、Mozilla、Apache 等的区别。”

在中国使用最广泛的JDK,甲骨文宣布,“2019年1月之后”,如果没有商业许可,Java SE 8公开更新将无法用于“商业,商业或生产用途”。组织现在需要对运行Java SE 8的所有软件进行评估,并开始计算明年他们正在寻找的潜在账单。

Java Development Kit(JDK)是SUN公司针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit)。目前遵守GPL协议的OpenJDK的发布,并且免费使用。

OpenJDK 所使用的GPL协议和.NET Core所使用的MIT和Apache 2协议比起来可以看出微软是真的爱开源。

今天我也正好在杭州的中国计算机大会的现代编程语言论坛分享了《.NET Core和中国开源社区》。随着微软2014年开始积极拥抱开源,国内的社区开发者也在积极拥抱开源社区,我们也和微软一样选择使用对商用最友好的开源协议MIT和Apache2 协议。

clip_image002

我们参与开源的方式也是多种多样,既有我们自己的组织,也有积极参与国外的项目,更有参与国内的开源生态型项目。

参与国外的开源社区项目的代表是Ocelot,这也是我在2年前参与的一位英国Tom 发起的开源项目,我们一起完成了Ocelot的1.0版本,我将他应用于生产,微软.NET团队特意千里迢迢来到深圳和我们的团队一起拍了一个宣传视频,多次出现在潘正磊的演讲中,这次的Keynote上又出现了:https://v.qq.com/x/page/z0505atdyg2.html 。

 

通过这两年在国内的推广,国内已经有很多使用案例,我特意建立了一个微信群收集把Ocelot落地到业务中的公司。也就是这个微信群里的多位同学将他们对Ocelot的扩展进行开源回馈到了Ocelot,不断的丰富了Ocelot的功能。

clip_image004

在这几年时间里我们不局限于单打独斗的开源,我们一定需要通过协作来推动开源项目的发展,我们在github上成立了国内的开源组织dotnetcore:

clip_image006

这个组织最早起源于大家一起进行文档翻译,到现在已经有12个成员项目,最近还有一个比较特别的项目BotSharp的加入,让这个组织更有活力。

在云原生应用开发时代,需要建设大量的云基础设施,所以我们也需要融入整个云原生发展的生态之中,这其中有两个代表性的项目是SkyWalking .NET Core 探针和Tarsnet 开源项目。

clip_image008

clip_image010

这里特别想号召有想法的同学加入我们的Tarsnet的开发,目前Tarsnet已经完成最核心的RPC、Codecs以及CLI 工具的开发,接下来有大量的对接tars平台的服务开发工作,有兴趣的同学欢迎微信联系我:geffzhang。