Fork me on GitHub

.NET Core也是国产化信息系统开发的重要选项

在中美当前背景下的安全可靠国产系统(简称安可),安可产业要实现技术自主可控,需要在四个层面逐步实现:基础硬件设施,如芯片、服务器、存储、交换机、路由器;底层软件,包括操作系统、数据库、中间件等;应用软件,面向实际应用的不同领域;安全产品,保障边界安全、终端安全和管理安全产品。目前在安可领域,高端芯片服务器等硬件已能基本满足办公需求;基础软件正在实现国产化替代。而在国产系统下,应用生态便显得匮乏了。

实现应用软件从普通环境到安可操作系统环境的平滑过渡,是丰富国产应用生态、推动安可生态从“可用”走向“好用”的重要手段。国内众多应用软件开发商也正在安可这一领域展开激烈竞争,今天想写下这篇文章是源于在微信群里看到一个群友发的一页内容:

3603f494ba9aea4edae21a29770f03f

这个内容明显就是要封杀在这家公司的产品国产化改造中使用.NET Core 。首先这篇内容的非常不专业,把国产化的开发语言给限制了,而且把开发平台等同于开发语言, C#才是.NET Core的主要开发语言之一。 操作系统也没有选择安可联盟的操作系统,数据库也一样,只是特别的针对微软的产品。其次这位同学对.NET Core认识还是等同于10年的.NET,殊不知.NET Core是一个开源跨平台的开发平台,.NET Core是更加符合安可标准的开发平台。


最近我们也在测试龙芯MIPS64的.NET Core移植工作,我们也建立一个微信群,群里都是对龙芯的.NET Core移植工作热心的同学,昨天我把这个内容转发到微信群,其中有一位群友的总结很到位,这里我就摘录出来和大家分享:


相比java,.netcore/.net5+、mono才是最安全可靠的选择。一是它们是最最开放的MIT/Apache2协议开源;二是它们归属于中立的第三方组织.NET基金会 掌控,不属于任何商业公司,更不是“微软家”的。退一万步说,即使是微软家的,也远比oracle、Facebook、google家的安全可信可靠!微软一直中立温和没有政治色彩,更喜欢奉献,连它的敌人苹果的满血复活,微软也是尽了最大的帮助!


技术上的先进要谈,更重要的要讲清“.net+”的彻底的开源协议、完整的专利免责、中立的主管机构三大超高特性! 这三大超强开放特性,即“彻底的开源协议、完整的专利免除、中立的主管机构”,其他平台(java、golang)基本无法同时齐备这三个要素。三大要素缺任何一样,“安全可信可靠”(安可)就会大打折扣。


这里有一点就是大家对微软和.NET的关系没搞明白,要多加宣传。微软是.net的初创者,.NET基金会的发起者,但.NET 基金会建立起来后,微软也把Mono/Xamarin给收购了,贡献给.NET基金会。微软只是.net基金的主要供奉者之首,在.NET基金会里还有很多大公司,google,aws,三星都在.NET基金会里。新.net/mono的“彻底的开源协议、完整的专利免除、中立的主管机构”三大关键特色以及与微软的关系一定要吃透讲清,广而告之。


“安可”才是国产化的核心要义,所以大家不能只谈技术、只谈性能。在“安可”面前,技术和性能是可以让步的,况且 .NET Core性能还是如此之好,龙芯团队在这一方面是做出非常好的表率。



.NET 在传统应用软件中一直都占有重要地位,.NET的主要竞争者也是Java,.NET Core和Java都是开源跨平台的,我们可以来比较一下.NET Core和Java的开源协议,.NET Core是以MIT协议开源, Java是GPL协议开源。 Java 8 SDK升级Oracle要收费这件事对于很多小公司是有着重大的影响的,虽然有众多的OpenJDK发行版,腾讯云和阿里都有OpenJDK发行版,龙芯也有MIPS版本的OpenJDK。众多没有能力开发维护OpenJDK的公司完全可以转向更具有竞争力的.NET Core,.NET Core从属于.NET基金会,由微软进行官方支持。.NET Core/Mono 使用最宽松的MIT和Apache 2开源协议,文档协议遵循CC-BY。这将允许任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示,后者协议将会除了为用户提供版权许可之外,还有专利许可,并且授权是免费,无排他性的(任何个人和企业都能获得授权)并且永久不可撤销,用户使用.NET Core完全不用担心收费问题,你可以很自由的部署在任何地方,这也正是龙芯团队可以在.NET 上发力,为龙芯生态建设发力,龙芯支持了计算机上运行应用程序的动态虚拟机Java、Javascript、.NET三大虚拟机,龙芯还正在开发一套指令翻译系统,可以将其他指令集翻译成Loongarch指令。


上面说的比较多的都是龙芯,目前在国产化这块更大的一个竞争者是ARM 体系,.NET Core对ARM32/64都有完备的支持,正好我也是华为云MVP,上周我也去华为云找鲲鹏生态的相关负责人沟通鲲鹏系统对.NET Core支持的情况,华为云也是苦于找不到.NET 支持方面能力强的合作伙伴,通过这次沟通,我正在申请成为华为云的市场服务商来和华为云一起推进鲲鹏对.NET Core应用的支持。

posted @ 2020-08-22 21:44  张善友  阅读(17634)  评论(72编辑  收藏  举报