独家对话 RT-Thread 创始人熊谱翔:国产操作系统厚积而薄发 | 人物志_高校俱乐部的博客-程序员宝宝

技术标签: 通知和公告  程序员  RT-Thread  

「博观而约取,厚积而薄发」。

对话 | 唐小引

作者 | 屠   敏

出品 | CSDN(ID:CSDNnews)

在风云变幻操作系统领域的上半场,Windows 独霸 PC 操作系统市场已久,Android 与 iOS 也早已瓜分移动操作系统天下,无论是桌面还是移动,操作系统格局早已成为定势。

如今在十年一轮回的赛场,全球在 5G、AI 等新一轮技术浪潮中,以物联网操作系统为着重点的第三场竞赛战早已打响。在开源趋势下,国产操作系统也全面呈现百花齐放、百家争鸣之盛况,同时无数人对此寄予厚望。

激荡四十年,国产操作系统在物联网这条道路上现下行至何处?对于首批「摸着石头过河」的操作系统探路者,将带来我们怎样的经验启示,其背后又有哪些鲜为人知的故事,对于新生代开发者,他们又有着怎样的建议?

在高手云集的操作系统界,也在 1024 程序员节(https://1024.csdn.net/)即将到来之际,CSDN 独家对话国产物联网操作系统 RT-Thread 的掌门人熊谱翔(业界从业者亲切地称呼他为“熊大”),本文中,我们将共同走近熊大的技术人生,以及步入 RT-Thread 见证下的中国操作系统成长与开源之路。

重要观点速览:

  • 不管操作系统技术上的千变万化,网络连接的魅力在持续维系着,让大家,让计算机紧密地连接在一起。

  • 没有开源就没有 RT-Thread,它本身就是开源社区下众多开发者集体的结晶。

  • 开源基础平台 + 商业化组件(中间件/插件)+解决方案是开源项目应具备的模式。

  • 前一代的霸主基本上不会成为下一代的领导者,亦或者说其中有着他们原有的基因,如鼠标、键盘操作的 Windows,不可能再带入到手机;手机上应该广泛且庞大的 Android 也不可能带入到物联网中。

  • 物联网时代需要一个适配性非常好的操作系统,而这些需要创新,也是未来发力点所在。

  • 操作系统关键点还在于生态。生态需要开放、合作和中立性,并在这个基础上创新,变成一个对大家都有利的平台。

以下为 CSDN 与熊谱翔对话完整版(在不改变原意基础上,稍作编辑):

 

从兴趣中来,到兴趣中去

 

CSDN :你曾分享过,1998 年在重庆读书时,觉得能够在 DOS/Windows 之外接触到一种全新的操作系统非常兴奋,22 年过去了,操作系统发生了哪些变化?

熊谱翔:1996 年初,我开始接触到计算机时,对于运行的系统程序非常感兴趣。后来,当互联网逐步盛行的时候接触到 Linux,看到在原有 PC 上能够启动一个全新,并且 Open Source 的操作系统异常兴奋。

20 多年过去了,因为开源的力量,Linux 垄断了大部分的领域。而操作系统也经历了,PC 上的 Windows,手机上从塞班到现在的安卓,然后多国纷争的物联网操作系统,甚至是 AIoT OS。

不管操作系统技术上的千变万化,网络连接的魅力在持续维系着,让大家,让计算机紧密地连接在一起。

CSDN:从在重邮学通信,贝尔阿尔卡特、Marvell(美满)到 RT-Thread,为什么会将物联网操作系统作为自己的方向?

熊谱翔:我是通信专业毕业,所以毕业后的工作也始终和通信、网络相关,从有线网络设备、到无线网络设备、再到现在的万物互联。

因为通信的缘故,因为长期工作在设备端系统软件的缘故,逐步在这块越陷越深,踏上了自己做物联网操作系统的道路……

CSDN:2005 年时因为朋友的项目动了自己写一个嵌入式实时操作系统的念头,是什么促成了 RT-Thread 成为了自己的事业?

熊谱翔:是因为对操作系统的热爱、对网络的热爱。

原来在学校时接触的开源,则变成了自己后续做事的方式,自己初始开发了一个操作系统,并以开源、开放、社区化的方式来发展,并在这个过程中欲罢不能,最终也就积极拥抱了。 

 

“开源模式与商业化模式并不矛盾”

 

CSDN:开源在这之中,起到了哪些作用?

熊谱翔:开源在这个过程中起着至关重要的作用,甚至是我们的活动准则。因为开源,越来越多的人参与到 RT-Thread 的开发者行列中;因为开源、开放,让 RT-Thread 受到越来越多人的认可,从试用、到使用、到爱用。

可以认为,没有开源就没有 RT-Thread,因为它本身就是开源社区下众多开发者集体的结晶。

CSDN:开源是自主创新道路上的中坚力量,在过往多年间,RT-Thread 是如何从开源实现商业化的,是否可以分享一些经验或者其中的心路历程?

熊谱翔:最初,RT-Thread 并没有考虑到太多商业化的事情,只是觉得 RT-Thread 可以被大家用起来,非常开心。不过,在这个过程中,一些公司在使用的基础上,还希望能够有一定的新人培训及后备的技术保障。

其实,初始时在社区内并没人提供这些,也想着不应该因为没有技术支持、服务而阻碍了 RT-Thread 的使用。因此,当时我们和社区的几位骨干共同讨论,成立现在的公司,在社区上大家将新公司都称之为 RT-Thread 服务公司。这也就是在开源商业模式中的服务模式,虽然软件是开源的,但当涉及到我们的技术支持、人员投入时,这些实际上都是需要付费维护的。

因为技术服务的缘故,RT-Thread 也经历了定制化服务的部分(当然也经历过创业公司的生与死,特别是还要顾及到跟随着的兄弟们的生活问题),逐步积累了一些在操作系统平台基础之上的增值组件。

同时,随着开源的成熟发展,社区不断扩大,开源的项目更像一套通用性的软件,不可能面面俱到,更不可能在开源的软件代码基础上,一行代码不改就可以出产品了(定制性高了,面向特定的硬件,开发者用户用不起来反而吐槽得多)。

因此,在整个过程中,必然会面临着一些开源兼顾不完善的地方,这也是后来开源基础平台 + 商业化组件(中间件/插件)+解决方案模式形成的主要原因,简单来看,相当于是开源商业模式中的 Open Core 模式。

整体而言,随着在开源经验的不断积累,我们反而愈发感受到,只有这种才是开源项目应该具备的模式,开源也是一项伟大的商业模式。

 

操作系统关键点还在于生态

 

CSDN:对于发展国内的开源操作系统生态,你有着什么样的想法和计划?作为 CSDN 的老朋友,你最希望我们大家一起推动什么样的共识和行动?

熊谱翔:操作系统生态关键点在于合作,我们在做事情前总会先问自己:这个事情我们是否可以和合作伙伴一起去做。

在未来,我们希望更多人参与进来,不管是开发者,还是企业用户、硬件厂商,甚至希望能够辐射到海外。最终,基于操作系统我们希望它未来能够成为物联网的“根”。

CSDN 作为国内知名的技术开发社区,积累的影响力、展示出来的运营能力,对开源社区的成功是必不可少的。RT-Thread 非常乐意联手 CSDN 共同开展如 Hackathon、开发者大会、技术培训等活动助力开发者提升能力,一起传播开源的理念,让更多的开发者参与到开源中来。

CSDN:操作系统这个领域一直都是国外公司主导,RT-Thread 为什么能够突围?关于物联网操作系统,未来你有何构想和期待?哪一点你认为更能成为发力点?

熊谱翔:最初时也没想到突围,初生牛犊不怕虎,只是觉得这个事情我们也能做,大家把它用起来就开心。

随着开发以及投入的时间长了,我们思考的范围也逐渐扩大。操作系统从大的方面来看,可以将其分为桌面/PC 端的微软,即 Windows(桌面数字化);手机移动端的苹果和谷歌,即 iOS 和 Android(移动数字化);下一个时代的物联网(或者未来物理世界的万物数字化)。这里存在一个有趣的现象——前一代的霸主基本上不会成为下一代的领导者,亦或者说其中有着他们原有的基因,如鼠标、键盘操作的 Windows,不可能再带入到手机;手机上应该广泛且庞大的 Android 也不可能带入到物联网中。

至于其中原因,也非常容易理解。因为每一代都会有自己的特点,一定会有一个非常适合它的绝加拍档。对于物联网时代而言,碎片化是其中的显著特点。从超小的计算单元,到具备智能、边缘算力的高性能单元,都会涉及。物联网时代需要一个适配性非常好的操作系统,这些需要创新,也是发力点所在。

CSDN:面向操作系统方面,未来有怎样的期待?基于此,希望业界的新老朋友们,如何更好地参与进来,对此,你有什么话送给他们?

熊谱翔:操作系统关键点还在于生态。生态需要开放、合作和中立性,并在这个基础上创新,变成一个对大家都有利的平台。所以对于做操作系统业界的朋友们,希望大家首先想到的是合作

 

创业多年,

最成功的事情莫过于亲眼见证 RT-Threader 的成长

 

CSDN:做 RT-Thread 已经有十余年,说说现在的 RT-Thread 和自己,与 10 年前有哪些不一样?

熊谱翔:最大的感受是,10 年前 RT-Thread 还在一个小角落、还是一个小群体,一次线下聚会的时候可能只是几个人、十几个人;而现在使用 RT-Thread 的开发者已经非常多,线下聚会的时候都可以达到数百人的规模,真切的感受到了身边的 RT-Threader 多了。

日本的开发者希望学习中文知识来看懂RT-Thread的书籍

CSDN:这十多年的创业历程中,有什么是让你非常遗憾的事情?有什么是让你最有成就感的事情?

熊谱翔:最遗憾的是最初创业那几年的生死历程,迫于现实(收入、家庭等),一些兄弟最终离开,而那些是当时 RT-Thread 上最优秀的兄弟。

最大成就感的事情就是如今一款款产品都已用上了 RT-Thread。

CSDN:最后,我们来个接龙,这次 1024 程序员节,有许多操作系统的老朋友共赴长沙,你最想问哪位老朋友什么问题?

熊谱翔:我做了 20 年的程序员,已经是老程序员了,其中大约花了 14 年的时间在 RT-Thread 上面,感慨万千。

想问问诸位老朋友,做程序员后悔了吗?还在写代码吗?


同时,也欢迎新老朋友,下方留言,分享你的想法!

 

 

 

 

‍‍‍‍10月23-25日,“长沙 · 中国 1024 程序员节”将盛大举行。程序员节活动以开源为主议题,包括 2 场岳麓尖峰对话;2020 开源技术英雄会;10+场热门技术分论坛/峰会;创意集市;体验感超强的科技文化嘉年华、最 HIGH 时刻的开源之夜。内容聚焦开源技术及生态建设、操作系统及硬件创新、开源社区及商业化发展等多个重要话题。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/csdnstudent/article/details/109111049

智能推荐

image stabilization_王逸霏的博客-程序员宝宝

Image stabilization (IS) is a family of techniques that reduce blurring associated with the motion of a camera or other imaging device during exposure.Generally, it compensates for pan and tilt (angu...

ArcEngine 入门教程-帮助如何使用_YoungHappyGIS的博客-程序员宝宝_arcengine

缘起授人以鱼不如授人以渔,学习任何一门技术,我相信都是从帮助文档入手的,ArcEngine也不例外。本文主要分享如何使用ArcEngine帮助,快速找到自己想要的信息以及如何利用帮助整体的学习官方的示例代码。ArcEngine帮助帮助分类帮助如何使用...

Visual Studio各个版本对C++11支持进度_Qu1et的博客-程序员宝宝_visual studio 完全支持c++11

https://blog.csdn.net/qing666888/article/details/78260923介绍很详细再有官方文档,贴个中文的https://zh.cppreference.com/w/cpp/compiler_support#cpp11

php 爬虫 redis,使用 Scrapy-Redis 进行分布式爬取_weixin_39642761的博客-程序员宝宝

1. 简单原理我们知道scrapy大致的原理是这样,首先会在start_requests 这个方法里发出一些请求url,然后在parse里进行解析,解析的item抛给pipeline进行处理. parse 如果又解析到url,抛出,先看下是否要过滤这个url,是否重复了,如果没有重复,发一个新请求这个url,再调用别的parse进行处理。直到待请求的url都为空,就停止爬虫。import scra...

Android 使用Intent和Bundle传递数据及如何传递enum_薛瑄的博客-程序员宝宝_bundle enum

参考:http://stackoverflow.com/questions/3293020/android-how-to-put-an-enum-in-a-bundlehttp://blog.csdn.net/neu_yousei/article/details/21953995在两个Activity之间传递数据,最终都是通过bundle传递,Intent的Extra属性就是Bundle对象,

ASP.NET Session详解_deform0032的博客-程序员宝宝

转自:http://www.frontfree.net/view/article_742_page1.htmlSession模型简介Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一...

随便推点

再见了, VS Code !_weixin_38754349的博客-程序员宝宝

code小生一个专注大前端领域的技术平台公众号回复Android加入安卓技术群参考链接:github.blog/2020-05-06-new-from-satellite-2020-g...

VB 使用总结_进击的小可爱的博客-程序员宝宝

VB参考官方文档调用方法function 参数1,参数2.....清除单元格内容不清除公式Worksheets("Sheet1").Range("a2:I1000000").SpecialCells(2).ClearContents 读取数据库表数据到excel表中Dim rs As New ADODB.Recordset '设置一个Recordset对象, 该对象用...

在iOS 7中使用storyboard (part 3)_和纱Kazusa的博客-程序员宝宝

创建自定义视图控制器你已经完成了所有这些配置,而无需编写任何代码。配置完成加载的待办项目视图控制器需要一些代码,虽然,你需要一个地方来存放它。眼下Xcode中配置了两个附加的待办项目视图控制器和表视图控制器作为通用视图控制器。要为您的自定义代码的地方,你需要创建子类为每个这些视图控制器,然后配置界面使用这些子类。首先,你解决了附加的待办项目视图控制器的场景。自定义视图控制器类将被称为XYZ

element中select,值更新视图不更新_Cang_Ye的博客-程序员宝宝

一、 业务逻辑使用el-table的自定义列功能,同一行数据的两列有互动,当一列(值来源)数据改变,另一列(默认值)的el-select无法选中值(实际v-model对应的数据已改变,但是页面上没有更新),如图:二、原因默认值这一列对应的select的v-model对应的字段是在table生成后动态插入的,初始的数据结构类似://data 为el-table的datavar data=[ {src:'param'}]src字段改变后,在值来源的select的chan..

信号与系统matlab综合实验 pdf_第三次实验内容_weixin_39679678的博客-程序员宝宝

第三次实验下周二开始,实验地点同第一次及第二次。现提前发布实验内容,同学们可以提前准备。第三次实验分为小程序和大程序。大家第二次实验的小程序做的并不很好,本次的小程序之一继续做第二次实验的第二个。实验三(小程序+)牛顿迭代法小程序:matlab练习1.从键盘输入一个四位数,加密后输出。加密规则:千位加3,对10求模;十位加7,对10求模;百位和个位数字交换。输出加密后的数字。2.老婆给当...

推荐文章

热门文章

相关标签