有你同行,我不会寂寞-物联网操作系统Hello China后续开发计划及开发者征集
有你同行,我不会寂寞
-物联网操作系统Hello China后续开发计划及开发者征集
Hello China操作系统是我利用业余时间,从2004年左右开始做的一个开源操作系统项目。为了简单,最开始定位为嵌入式操作系统,这样一些通用操作系统上必备的机制,比如虚拟内存管理、高速的磁盘IO等复杂功能就可以省略,同时可以不用考虑应用程序加载、动态重定位等等问题。说实话,当时对这些问题是很害怕的,因为凭一个人的力量,根本无法实现这些功能。但是像利用链表分分内存、利用简单的汇编语言保存和恢复一下CPU的寄存器,还是挺简单而且挺容易出成果的。于是就先以嵌入式操作系统的理念,实现这些简单的操作系统内核机制。但又不是纯粹的嵌入式操作系统,因为其硬件平台是基于x86的个人计算机。内行看起来确实是有点四不像的感觉,但我不是内行,也没有请内行的人评论,于是歪歪扭扭就走开了。
到现在已经整整十年了,对HelloChina的开发一直是走走停停,停停走走,虽然有时候会有长达半年多的间断,但还是坚持到了今天。说实话,这其中是看不到任何商业上的应用机会的,纯粹是兴趣原因,使我能够坚持下来。当你构思几天,在电脑上敲入构思的代码,编译通过,启动计算机后能够显示出预想结果的时候,那种成就感是非常让人着迷的,至少让我着迷。当然,不甘寂寞是人的天性,这期间我也做过一些试图让别人知道自己的成果的事情,最典型的就是写了三本相关的书,虽然销量都很平平。这容易理解,毕竟读者群太小,又不是介绍广泛应用的真实操作系统,带不来就业率提升和生产力提升,同时自己的文笔也一般,无法用生动活泼的语言吸引读者,出现这种结果是理所当然的。
这十年时间,虽然看不到靠谱的商业价值,但是对Hello China操作系统的商业意义的思考,却从未停止过。比如在智能手机还不普及的时候,曾设想把Hello China开发成一个类似Symbian的智能手机平台。后来Android一出世,这个想法立马泡汤。前两年云计算非常火热,那时候曾想过把Hello China打造成一个云终端平台,毕竟大多数的处理是在云服务器上进行的,云终端做得事不多,简单。后来桌面云没有发展起来,这个想法又渐渐淡忘。现在的想法是,把Hello China打造成一个物联网操作系统。物联网操作系统的概念也是我提出来的,或者是对“物联网操作系统”这个提法,赋予了一些新的含义。其中最核心的含义,就是跟运营商网络的紧密协同。可能是因为自己在通信行业泡了十多年,对运营商及其网络所面临的问题更加清楚的原因吧。
经过近一年断断续续的思考之后,发现这个定位是有市场意义的。不论物联网是否有前途,越来越多的终端接入运营商网络却是不争的事实。随着业务和终端数量的增多,运营商网络暴露出越来越多的问题,比如微信的信令风暴等,也是不争的事实。把这两者结合起来,我发现居然不但能够解决运营商所面临的问题,而且这种结合还能够带来更大的经济效益。比如可以帮助运营商拓展更多的用户,帮助企业节约更多的成本,给企业带来更好的通信服务,等等。
同时,这一段时间重新审视HelloChina最新版本(V1.75)的代码时发现,经过十年断断续续的积累,这个操作系统的功能特性已经非常丰富了。如果仅从功能上说,可以超过很多流行的嵌入式操作系统。这使我的信心更足。虽然所有这些功能都是基于x86开发的,但是经过对ARM/Cortex等CPU的了解之后,发现移植到这些处理器上应该不会有太大难度。移植过去之后,不用做太多的开发,即可适用很广泛的应用场景。
在商业应用和技术难度这两个问题得到初步的理清之后,我决定再次启动Hello China的移植和开发工作,于是制订了如下的行动计划:
计划很容易理解,总体目标是移植到ARM/Cortex系列CPU上,并按照物联网操作系统的思路增加新的功能,争取在1年时间内,形成一个完善的、能够规模应用的物联网操作系统,以及与之配套的软件组件。具体来说,就是在2013年6月30日前,对V1.75的内核代码做一次系统的梳理和优化,以ARM/Cortex CPU为参考模型,调整一下内存布局,补充完整一些遗漏的内核机制代码,同时优化一下代码的风格和组织结构,使得更加容易移植。最重要的是,增加或修改一些内核机制,使得Hello China能够更好的与运营商网络进行协同。从7月1日开始到9月30日,三个月的时间,完成向STM32的移植。具体移植的目标单板类型,争取在6月30日前确定下来。移植完成后,再进一步完善已有的TCP/IP协议栈、GUI模块等,同时增加对无线网络的支持,以V1.80版本发布,这应该可以商用了。但这时候的Hello China只是具备支持物联网操作系统外围功能的一个内核,还不具备与运营商网络协同等核心机制,同时支持的硬件平台也不是很广泛。因此从2014年1月份开始到2014年5月份,将聚焦运营商网络协同机制的开发和更广泛硬件平台的移植。同时增加物联网有关的特性支持,完成后以V2.0发布。
在我本人能够控制的前提下,HelloChina对最终用户是完全开源、完全免费使用的,不论是商用还非商用。但是在使用的时候,需要使用者一定要明确说明操作系统名称和来源。如果在乐观的情况下,未来发展得很好,那么后续的开源策略,将由所有参与开发的人一起制订,这已超出了我本人的控制范围。
至于商业模式问题,我认为不用太过纠结,我们只需要遵循上帝定义的规则就好:只要能真正产生价值,能够给别人的生产和生活带来便利,能够对社会和生态环境带来改善,肯定有对应数量的福报(welfare)回赠给你,不论这些welfare是金钱,名誉,还是心态的宁静和平和。
开发目标、计划、开源原则、商业模式等问题说完之后,进入本文最重要的部分:开发人员征集。
最近有一句很流行的话:“如果你想走得快,那么一个人走。如果你想走得远,请跟朋友一起走。”显然我一个人是走不远的,只有更多的人加入,组成团队,才能走得更高远。欢迎对系统软件感兴趣,熟悉ARM/Cortex CPU,熟悉操作系统工作原理的朋友们加入一起开发。具体开发的组织和分工,等我们确定了一起开发的人员之后,再一起讨论确定。对于参与开发的朋友的回报,届时确定参与人员后,再一起讨论明确。这里不定规则,因为我一直认为,还没有任何成果,就定义成果分配规则,是一种急功近利的行为。但请各位愿意参与开发的朋友们相信,至少我个人是不会也不愿争名夺利的。
当然,如果没有人愿意参与,我仍然会一个人寂寞的走下去。具体能走多远,就看造化了。
具体参与方式,请加入下列QQ群,并给我的QQ留言。这个参与者征集截止6月30日前结束,因为按照上面的计划,6月30日前的工作是由我一个人完成的,之后的工作就需要参与者一起完成了。
QQ群:38467832
个人QQ:89007638
最后说明一下,如果您想了解HelloChina现行版本,可以购买最新书籍《操作系统实现之路》,由机械工业出版社出版,淘宝网上应该会很便宜。
本文所有版权都放弃,欢迎任何人转载,无需注明作者和出处,但不要修改里面的内容。