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

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

这个内容明显就是要封杀在这家公司的产品国产化改造中使用.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应用的支持。

安全可靠国产系统背景下的应用开发应有.NET Core的一席之地的更多相关文章

  1. java更开源-安全可靠国产系统背景下的应有.NET Core的一席之地

    "安可"背景下的中国软件开发 在中美当前背景下的安全可靠国产系统(简称安可),安可产业要实现技术自主可控,需要在四个层面逐步实现:基础硬件设施,如芯片.服务器.存储.交换机.路由器 ...

  2. [转]真正了解CSS3背景下的@font face规则

    本文转自:http://www.zhangxinxu.com/wordpress/2017/03/css3-font-face-src-local/ by zhangxinxu from http:/ ...

  3. CV-视频分析:静态背景下的运动检测

    ref : Chapter 2  Motion Detection in Static Backgrounds.   [ Github :…… ] -------------------------- ...

  4. Android View系统解析(下)

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/38426471(来自singwhatiwanna的csdn博客) Androi ...

  5. 对GraphQL-BFF:微服务背景下的前后端数据交互方案的研究-------引用

    随着多终端.多平台.多业务形态.多技术选型等各方面的发展,前后端的数据交互,日益复杂. 同一份数据,可能以多种不同的形态和结构,在多种场景下被消费. 在理想情况下,这些复杂性可以全部由后端承担.前端只 ...

  6. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

  7. MySQL数据库在WINDOWS系统CMD下的编码问题

    MySQL数据库在WINDOWS系统CMD下的编码问题 1. 查看MySQL数据库编码 * SHOW VARIABLES LIKE 'char%'; 2. 编码解释 * character_set_c ...

  8. Windows下USB磁盘开发系列三:枚举系统中U盘、并获取其设备信息

    前面我们介绍了枚举系统中的U盘盘符(见<Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>).以及获取USB设备的信息(见<Windows下USB磁盘开发系列二:枚举系统中 ...

  9. 像装软件一样装系统 Win8下怎么装Win7

    像装软件一样装系统 Win8下怎么装Win7 首先,你需要一个Windows7的ISO镜像文件,非ghost版本 一般选中ISO文件,点反键在弹出菜单中以“装载”或“window资源管理器”方式打开 ...

随机推荐

  1. AI大厂算法测试心得:人脸识别关键指标有哪些?

    仅仅在几年前,程序员要开发一款人脸识别应用,就必须精通算法的编写.但现在,随着成熟算法的对外开放,越来越多开发者只需专注于开发垂直行业的产品即可. 由调查机构发布的<中国AI产业地图研究> ...

  2. 【工具】 - BeanUtils增强篇

    public class BeanPlusUtils extends BeanUtils { public static <S, T> List<T> copyListProp ...

  3. 远光武汉研发中心区块链事业部Java面试总结

    面试在约定的时间准时进行,也是采用腾讯会议远程面试的方式.但是这是我第一次遇到面试官未打开摄像头的情况,后面经过沟通,双方都打开摄像头进行交流. 之前了解这个岗位主要是区块链相关的Java开发,所以事 ...

  4. ubuntu的docker安装

    安装docker 安装 介绍一下docker 的中央仓库们 Docker官方中央仓库: https://hub.docker.com/ 因为docker 网站在国外所以访问速度和你的运气有关还有网络. ...

  5. Python os.lchown() 方法

    概述 os.lchown() 方法用于更改文件所有者,类似 chown,但是不追踪链接.高佣联盟 www.cgewang.com 只支持在 Unix 下使用. 语法 lchown()方法语法格式如下: ...

  6. PHP preg_replace_callback_array() 函数

    preg_replace_callback_array 函数执行一个正则表达式搜索并且使用一个回调进行替换.高佣联盟 www.cgewang.com 该函数在 PHP7+ 版本支持. 语法 mixed ...

  7. 电脑小知识:Windows 10是用什么语言写的?到底有多少行代码?

    这是微软的内核工程师 Axel Rietschin在Quora的一个回答. Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Wi ...

  8. bzoj 2989: 数列

    LINK:数列 需要动一点脑子 考虑查询 暴力显然不行 考虑把绝对值拆开. 当x<=y ax<=ay时 有 y-x+ay-ax<=k x+ax>=y+ay-k 可以发现在满足前 ...

  9. 区块链钱包开发 - USDT - 二、创建交易错误以及解决方法

    这里总结了开发中一些常见报错和解决方案 1. 提示:createRawtx_change "Amount is not a number" 解决:参数中 tx 的 amout 需要 ...

  10. PHP+Redis链表解决高并发下商品超卖问题

    目录 实现原理 实现步骤 上一篇文章聊了一下使用Redis事务来解决高并发商品超卖问题,今天我们来聊一下使用Redis链表来解决高并发商品超卖问题. 实现原理 使用redis链表来做,因为pop操作是 ...