安全可靠国产系统背景下的应用开发应有.NET Core的一席之地
在中美当前背景下的安全可靠国产系统(简称安可),安可产业要实现技术自主可控,需要在四个层面逐步实现:基础硬件设施,如芯片、服务器、存储、交换机、路由器;底层软件,包括操作系统、数据库、中间件等;应用软件,面向实际应用的不同领域;安全产品,保障边界安全、终端安全和管理安全产品。目前在安可领域,高端芯片服务器等硬件已能基本满足办公需求;基础软件正在实现国产化替代。而在国产系统下,应用生态便显得匮乏了。
实现应用软件从普通环境到安可操作系统环境的平滑过渡,是丰富国产应用生态、推动安可生态从“可用”走向“好用”的重要手段。国内众多应用软件开发商也正在安可这一领域展开激烈竞争,今天想写下这篇文章是源于在微信群里看到一个群友发的一页内容:

这个内容明显就是要封杀在这家公司的产品国产化改造中使用.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的一席之地的更多相关文章
- java更开源-安全可靠国产系统背景下的应有.NET Core的一席之地
"安可"背景下的中国软件开发 在中美当前背景下的安全可靠国产系统(简称安可),安可产业要实现技术自主可控,需要在四个层面逐步实现:基础硬件设施,如芯片.服务器.存储.交换机.路由器 ...
- [转]真正了解CSS3背景下的@font face规则
本文转自:http://www.zhangxinxu.com/wordpress/2017/03/css3-font-face-src-local/ by zhangxinxu from http:/ ...
- CV-视频分析:静态背景下的运动检测
ref : Chapter 2 Motion Detection in Static Backgrounds. [ Github :…… ] -------------------------- ...
- Android View系统解析(下)
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/38426471(来自singwhatiwanna的csdn博客) Androi ...
- 对GraphQL-BFF:微服务背景下的前后端数据交互方案的研究-------引用
随着多终端.多平台.多业务形态.多技术选型等各方面的发展,前后端的数据交互,日益复杂. 同一份数据,可能以多种不同的形态和结构,在多种场景下被消费. 在理想情况下,这些复杂性可以全部由后端承担.前端只 ...
- Windows下USB磁盘开发系列二:枚举系统中所有USB设备
上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...
- MySQL数据库在WINDOWS系统CMD下的编码问题
MySQL数据库在WINDOWS系统CMD下的编码问题 1. 查看MySQL数据库编码 * SHOW VARIABLES LIKE 'char%'; 2. 编码解释 * character_set_c ...
- Windows下USB磁盘开发系列三:枚举系统中U盘、并获取其设备信息
前面我们介绍了枚举系统中的U盘盘符(见<Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>).以及获取USB设备的信息(见<Windows下USB磁盘开发系列二:枚举系统中 ...
- 像装软件一样装系统 Win8下怎么装Win7
像装软件一样装系统 Win8下怎么装Win7 首先,你需要一个Windows7的ISO镜像文件,非ghost版本 一般选中ISO文件,点反键在弹出菜单中以“装载”或“window资源管理器”方式打开 ...
随机推荐
- MVC + EFCore 项目实战 - 数仓管理系统8 - 数据源管理下--数据源预览
上篇我们完成了数据源保存功能,并顺便看了保存后的数据源列表展示功能. 本篇我们开始开发预览功能,用户预览主要步骤: 1.点击数据源卡片预览按钮 2.查看数据源包含的表 3.点击表名,预览表中数据 ...
- Java 添加、删除、替换、格式化Word中的文本(基于Spire.Cloud.SDK for Java)
Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...
- Springboot开发web项目
当前,Spring毫无疑问已经成为java后台对象管理标准框架,除了通过IOC能够管理我们的自定义对象的生命周期之外还提供了众多功能繁复的可配置功能模块.但同时带来了复杂的配置项,这对初学者而言简直是 ...
- HiddenHttpMethodFilter进行请求过滤
基于 HiddentHttpMethodFilter 的示例 作用: 由于浏览器 form 表单只支持 GET 与 POST 请求,而 DELETE.PUT 等 method 并不支持,Spring3 ...
- CentOS7 安装 Nexus
CentOS7 安装 Nexus 所需软件包 jdk-8u231-linux-x64.tar.gz nexus-3.24.0-02-unix.tar.gz 创建安装目录 mkdir -p /opt/n ...
- URL中加号(+)转义问题
URL中加号(+)转义问题 前端通过URL传入一个参数,在后台日志中发现参数中的加号变成了空格. 前端传入a+b 后台日志a b 可以看到,+ 变成了空格. 先说结论 HTTP为了避免歧义,一些字符传 ...
- react 样式冲突解决方案 styled-components
前置 在 react 中解决组件样式冲突的方案中,如果您喜欢将 css 与 js 分离,可能更习惯于 CSS-Modules:如果习惯了 Vue.js 那样的单文件组件,可能习惯于使用 styled- ...
- PYTHON实战完整教程1-配置VSCode开发环境
一.安装 为降低学习门槛,保证学习目标的聚焦,我们在windows(使用WinServer2019虚拟机)上搭建开发环境.(系列教程最后结束时,也会部署到linux上) 打开Python官网 http ...
- Java Redis系列3(Jedis的使用+jedis连接池技术)
Jedis的使用 什么是Jedis? 一款Java操作redis数据库的工具 使用步骤 1.下载redis所需的java包 2.使用步骤 import org.junit.Test; public c ...
- 2020-06-27:ACID是什么?描述一下?
福哥答案2020-06-27: 福哥口诀法:事原一隔持(事务属性ACID:原子性.一致性.隔离性.持久性) 用银行数据库来举例子解释一下这四个特性 原子性: 一个事务可能会包含多种操作,比如转账操作包 ...