打造操作系统根社区 统信Deepin屹立于浪潮之颠

如果把芯片比作信息系统的大脑的话,那么操作系统毫无疑问就是信息系统的灵魂。

在过去几十年里,我国信息产业饱受“缺芯少魂”的困扰,国内市场基本被微软、谷歌、苹果、IBM、红帽等外商垄断。诚然,一些国内厂商推出过基于Fedora、ubuntu、Debian二次开发的操作系统,但在市场推广和生态建设上不尽如人意。

在当下大环境下,继续基于Fedora、Debian、ubuntu进行二次开发,显然仍旧不能解决“卡脖子”的窘境,建立自己的根社区大势所趋。在这样的背景下,由统信打造的中国主导的全球桌面系统根社区应运而生。

d7c6982080e5d237a7aaf71d3f280f86.png

打造根社区是时代浪潮下的必然选择

目前,全球操作系统产业早已确立好了“楚河汉界”,微软、谷歌、苹果、IBM瓜分了从智能手机到PC和服务器所搭载的操作系统。在桌面领域,Windows 市场占有率高达 88.14%,在智能手机平台谷歌和苹果垄断了市场;在服务器领域,IBM/红帽市场份额达70%......由于从零开始构建自己的操作系统可行性较低,以BSD、Linux这些开源软件为基础二次开发操作系统成为后来者共同的选择。在这种背景下,基于Fedora、ubuntu、Debian二次开发的操作系统如雨后春笋般冒出来。这种发展模式在一段时间内确实是可行的,但随着中美贸易摩擦和俄乌冲突,依赖ubuntu等由外商主导的开源软件已经被证明存在一定风险,Ubuntu开发商Canonical就宣布断供俄罗斯企业,SUSE和RedHat也宣布不再支持俄罗斯相关业务。

有鉴于我国也有东南海岛统一问题,西方把用在俄罗斯的手段用到中国身上,只是时间问题。这就要求我们必须打造自己的根社区,增强对开源软件的主导力和控制力,只有这样才能减小被卡脖子的风险,在大国博弈中赢得主动。

54d4ad189e897fe6f015234978c57ab1.png

目前,Linux操作系统大致可以分为以下几个层次。

最核心的是linux内核,其次是根社区,再次是子系统和子系统的衍生系统。举例来说,Debian、Fedora、OpenSUSE就是根社区,基于Debian、Fedora开发而来的ubuntu、RHEL是子系统,基于ubuntu开发的优麒麟是子系统的衍生系统。

当下,主流根社区包括OpenSUSE、Fedora和Debian,除Debian背后无大型商业公司主导,Fedora和OpenSUSE均有美国和德国商业公司主导,特别是Fedora,背后是美国IBM/红帽,在当下这个国际环境下,存在一定风险。

过去,国产Linux大多是基于Debian、Fedora进行开发,属于子系统层面,在产品迭代和技术研发上往往要受到上游的影响。将来,我们的操作系统不能依托红帽、Canonical等商业厂商控制的发行版,而应该从Linux内核、其他开源项目、自研项目组件开始,面向桌面应用场景,构建一个全新操作系统架构和开源社区。

统信软件计划打造中国主导根社区,抛弃过去基于Debian二次开发的做法,打造一个与Debian、Fedora并列的Deepin社区,其目的就在于通过打造自己的开源操作根系统、根社区,通过源头主导、下游协作共建自主生态,以此增强对操作系统的控制力,降低被卡脖子的风险。

打造社区是能力提升和技术发展的必然要求

除国际大环境因素之外,能力提升和技术发展也是重要因素。过去,Deepin也有过执行跟随战略的历史,在2010年之前,曾经一直采用gnome作为Deepin的桌面图形环境,并且一直为gnome项目开发扩展功能和提交补丁。但在2010-2011年期间,gnome项目的研发进行了大量快速的变化,不但经常不接收下游厂商提交的补丁,而且大量修改软件的API和界面设计,使得那两年经常要对Deepin的桌面环境和代码推倒重来,重复劳动,疲于奔命。所以2011年Deepin下决心,再困难也必须要自己开发整套的桌面图形环境,只有这样才能掌握自己的发展路线,也能够贯彻自身的设计理念。

近年来,随着Deepin团队技术水平和能力不断提升,发现过去把研发环节提交给上游社区,然后Deepin基于上游社区做开发的做法已越发不合时宜,因为Deepin团队发现自己在某些方向上的研发所做的数据已经超过了上游社区,比上游做得更快更好。

在实践中还出现一个问题,那就是Deepin做得更好的工作无法得到上游社区和产品的认可,因为上游有自己的发展思路,还带着一些偏见,在潜意识中看不起中国程序员,中国程序员提交的代码优先级偏低。上游社区本身存在一些技术上的不足,但又不愿意改,Deepin帮忙改了提交了代码,上游社区又不认可,令人沮丧。

在2015年,Deepin给上游一个社区提供了几千个补丁,结果上游社区自己升级基本上把Deepin所有的补丁都放弃掉了。因为他自己做了一个非常大的技术调整,使得以前跟他合作做的所有工作都白费了,这对Deepin来说完全是推倒重来。

上游社区大多是老外在发展和维护,但这些老外不懂中文,所以Deepin在所有的中文上面做改进,做修改,BUG修复,老外很难理解,很难理解这些修复,加入中文也非常困难,一些面向中国客户使用习惯的修改无法被上游社区接受,导致面向中国用户的一些问题迟迟得不到解决。

因此,在2015年,Deepin团队决心逐渐脱离上游的影响。可以说,Deepin决定打造中国主导根社区是自身能力提升后的必然选择,因为上游社区不再是Deepin成长的依靠,而成为了Deepin成长的桎梏。

fbbb3065197b6fd74fe262ee0caea1cf.png 

打造根社区堪比屹立于时代浪潮之颠

Deepin诞生于2008年,最初就是以社区化和非盈利模式运作,运营资金基本来自公司总经理刘闻欢的个人投入。在2014年完成融资后开始商业化运营,才有来自于战略投资者的资金。在第一个7年,由于最初就定位于一个公益性的研发项目,没有考虑过商业化,所以一直处于不盈利状态。以至于税务机关曾经认为深度科技长期只有投入没有收入,有从事洗钱的嫌疑,还专门进行过检查。

0e1bc78b8acf565637c873f65ae8e4cb.png

在2008年,deepin是一个基于ubuntu进行二次开发的衍生系统;但在第二个7年中,deepin先是放弃了Ubuntu,不再把Ubuntu作为上游,而是Ubuntu的上游社区Debian作为研发的基础,随后借助信创的东风完成了向统信UOS的转型;在第三个7年开启之际,deepin宣布不再依赖Debian作为上游,开始打造根社区,直接上承linux内核,成为与Debian、Fedora并列的根社区。

从Deepin的发展历程可以看出,这是一个因理想而生的操作系统。

在成长过程中不断积累技术,从开源文化和社区机制吸收养分茁壮成长。

在逐渐壮大获得国内外伙伴的大力支持和肯定后,Deepin没有自满自足,就此止步,而是勇于攀登,勇于超越,先后两次放弃Ubuntu和Debian,不断向上游前进。

目前,随着Deepin和统信的成长,已经具备打造中国主导桌面操作系统根社区的经验和能力基础。

正所谓时势造英雄,时代大潮,浩浩汤汤,如果跟对了时代大潮,甚至站在浪潮之巅,就能顺风顺水发展好多年,直到下一个浪潮兴起。

当下,国际形势变幻莫测,构建安全可信的开源操作系统和中国主导的根社区是我国网络空间安全发展的必然要求。那些通过合资穿马甲的行为必然遭到时代的摒弃,那些真正自主研发、不断提升能力水平和产品控制力的企业,必然会受到时代的褒奖。

回顾Deepin和统信的发展史,这是一个非常务实的团队,在过去15年里稳扎稳打,每7年创造一次新成果、迈上新台阶。期待7年之后,统信Deepin能成为与Debian、Fedora并列的根社区,我们拭目以待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Androd之在图片右上角显示红色圆圈里面数字提醒

1 需求 在图片右上角显示红色圆圈里面数字提醒 2 效果如图 3 关键代码 item_loca.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_wid…

Bean

Bean spring中把一切配置到IOC容器(其实就是那个xml文件)里面的对象都称之为bean。 转载于:https://www.cnblogs.com/Renyi-Fan/p/7780935.html

【必懂C++】C++可真是个“固执”的小可爱 02

作者简介 作者名&#xff1a;1_bit 简介&#xff1a;CSDN博客专家&#xff0c;2020年博客之星TOP5&#xff0c;蓝桥签约作者。15-16年曾在网上直播&#xff0c;带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#xff0c;迷茫的你会找到答案。系列教程将会…

Flutter之window系统下配置开发环境以及在Android Studio里面运行hello word

1 、window系统配置Flutter开发环境 1&#xff09;下载Flutter的SDK 如果电脑安装了Git&#xff0c;直接到https://github.com/flutter/flutter/这里下载&#xff0c;但是需要翻墙 git clone https://github.com/flutter/flutter.git 或者到lutter官网下载 https://flutter.d…

WPF效果第一百八十五篇之又玩TreeView

最近又有新的开发任务了,然后我提前瞄了一眼需要实现的效果;发现其中一个和我去年玩耍的有点类似;正好好久也没玩了,那就趁着这个机会再次学习一下;闲话也不多扯了,上效果:2、来看看我的实现方式:3、①是一个分组的数据模板<HierarchicalDataTemplate x:Key"GroupDataT…

ArcGIS实验教程——实验二十三:专题地图制作完整实验步骤

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 一、实验描述 专题地图是一个非常复杂的过程,地图数据的符号化与注记标注,都是地图编制准备基础的地理数据。然而,要将准备好的地图数据,通过一幅完整的地图表达出来,还有很多工作,包括布局…

IOS 封装轮播图

轮播图为一种常见的方式&#xff0c;常用于各种网站&#xff0c;或者App中&#xff0c;当然&#xff0c;作为APP的启动视图也是不错的选择。 闲时封装了一个&#xff0c;仅供新手参考。 1.新建工程&#xff0c;建立轮播图类 建立一个空的工程&#xff0c;新建一个类&#xff0c…

分布式事务TCC补偿机制

文章目录 概述工作流程优缺点优点&#xff1a;缺点&#xff1a; 总结Java 示例代码 概述 TCC&#xff08;Try-Confirm-Cancel&#xff09;补偿机制是一种事务处理模式&#xff0c;用于确保分布式系统中的操作成功完成或在失败时进行补偿。TCC将一个事务拆分为三个阶段&#xf…

Flutter之导url_launcher包提示 A dependency may only have one source.

1、问题 flutter项目在pubspec.yaml导入url_launcher包&#xff0c;然后点击Pub get错误提示如下 F:\flutter_sdk\flutter\bin\flutter.bat --no-color pub get Running "flutter pub get" in flutter_1... Error on line 25, column 5 of …

这是我第一次使用代码创建出一个窗口【python 游戏实战 01】

前言 本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新…

如何html中添加动态图片,把动态图片添加到视频画面中 视频添加自定义动态图片 视频加动态logo...

我前面也编写过关于视频添加动态图片的教程。前面所说的给是视频添加的动态图片是软件中自带的素材&#xff0c;虽然软件中带的动态图片种类繁多&#xff0c;但是不外乎有些时候软件中并没有我们要用的动态图片&#xff0c;这个时候我们就需要重外部添加啦&#xff0c;好多的软…

ASP.NET Core 集成AAD认证在Docker中运行时要注意的一个问题

最近我在准备一个分享&#xff0c;就是基于.NET 6.0的云原生开发Microsoft 365应用&#xff0c;这个看起来很高大上的东东&#xff0c;其实我理解主要就是能把应用容器化&#xff0c;便于与环境无关地进行分发和部署。如果理解有误&#xff0c;请大家纠正我。下面是其中的一个例…

ArcGIS中合并(merge)、联合(union)、追加(append)、融合(dissolve)的用法区别与联系

ArcGIS中,针对矢量数据拼接,有多个工具:合并(merge)、联合(union)、追加(append)、融合(dissolve)等,本文以甘肃省1:100万县级数据详细讲解以上各个工具的用法、区别和注意事项。 有关合并(merge)、联合(union)、追加(append)、融合(dissolve)等基础操作内…

Singleton

问题&#xff1a;编写一个Singleton类 简单的方式 1 package cn.changb.singleton;2 3 /**4 * 简单的方式:弊端是在并发执行时&#xff0c;14行处可能存在多个实例5 */6 public class SingletonDemo1 {7 private static SingletonDemo1 INSTANCE;8 9 private Singlet…

C++ 语法都不会怎么写代码? 03

作者简介 作者名&#xff1a;1_bit 简介&#xff1a;CSDN博客专家&#xff0c;2020年博客之星TOP5&#xff0c;蓝桥签约作者。15-16年曾在网上直播&#xff0c;带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#xff0c;迷茫的你会找到答案。系列教程将会…

自定义dialog弹窗html,自定义H5页面dialog弹窗

弹窗一&#xff1a;样式如下&#xff1a;HTML代码&#xff1a;//弹出窗通知取消确认//遮罩层$(.dialog .content).text(text);$(.dialog, .mark).removeClass(hide);}tipDialog("1111");$(".sure").click(function(){var type $(this).attr(type);if(typeb…

聊一聊容器暂停退出

1背景介绍 最近在写 docker 相关教程&#xff0c;过程中发现容器暂停退出竟然有 docker kill、docker stop 和 docker pause 三种方式&#xff0c;今天就来分析下三者间的区别。2辅助指令 docker top - 查看容器进程docker event - 查看容器相关事件docker stats -…

初学者必看的文章:在VM12中安装 RedHat RHEL7.2  系统的详细步骤:看我如何操纵RHEL系统...

一、开始安装 1&#xff09;新建虚拟机 RHEL7.2 2&#xff09;成功引导系统--开机出现此画面 Install Red Hat EnterpriseLinux 7.2 安装RHLE7.2 操作系统 Test this edia & install RedHat Enterpris…

Flutter之点击按钮打开百度链接

1 需求 点击按钮&#xff0c;打开百度链接 2 代码实现 import package:flutter/material.dart; import package:url_launcher/url_launcher.dart;void main() {runApp(MyApp1()); }class MyApp1 extends StatelessWidget {overrideWidget build(BuildContext context) {return…

因为我的名字特殊大家都是用异样的眼光在看着我 04

作者简介 作者名&#xff1a;1_bit 简介&#xff1a;CSDN博客专家&#xff0c;2020年博客之星TOP5&#xff0c;蓝桥签约作者。15-16年曾在网上直播&#xff0c;带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#xff0c;迷茫的你会找到答案。系列教程将会…