论文部分内容阅读
我们已经亲眼见证过开源(Open Source)软件及开放架构标准改变企业应用市场的威力,尤其对服务器市场的影响更是深刻。
在开源软件及开放架构平台成功于服务器市场扩张势力之前,该市场的应用开发人员其实选择非常有限,仅有两种方案可选:若非直接选用由服务器硬件制造商所开发及维护的操作系统以及应用软件,就是得从市面上少数几套商用操作系统及应用软件中选择一套可支持不同硬件制造商者。
系统架构设计人员、整合人员或是开发人员在评估决策时,常常都得面临左右为难的局面,最后则不得不提出与现实状况妥协的折衷方案。
开源平台普及减低开发决策复杂度
然而,在开源操作系统及应用软件翩然到来后,整个软件产业出现了戏剧性的转变。
随着时间推移,开源架构平台在企业应用市场慢慢站稳一席之地。虽然基于种种因素,开源软件平台也未出现某单一版本或套件脱颖而出,成为业界标准规格的情形,但是至少对系统架构设计人员、整合人员或开发人员来说,这些同属开源架构的软件平台彼此相似性已达一定程度,并且也可提供他们堪称标准化的开发环境,以及资源丰富的产业生态体系(Ecosystem),方便他们根据个别需求从中挑选偏好的软硬件平台。
产业演进使开源软件世界渐趋碎裂
现在,让我们将焦点转移到嵌入式应用开发社群,这个属于深度嵌入式应用开发的专业领域,已然随着产业演进而出现截然不同的样貌。
在微电脑的世界中,软件的设计主要是取决于硬件的设计,并配合其演变推陈出新,无论是应用软件或是操作系统,当硬件出现新的设计时,都必须遵循此原则,配合硬件变更大幅修改调整,以确保能符合各种专为特定用途而建置的客制化设备之系统需求。
操作系统被视为“必要之恶”,必须根据实际应用状况修改以顺应系统需求:此一现象导致在开源软件世界中也出现山头林立、纷杂碎裂的局面,并助长此一局面越演越烈。此外,由于同时牵涉到市面上多种硬件架构以及与之各自搭配的高度客制化嵌入式应用软件,两相纠结之下使得这个问题更显得格外错综复杂。
开发人员习性加剧产业碎裂化程度
多年以来,即便是处理最基本的深度嵌入式应用需求,带来的挑战也非常棘手而必须让开源软件开发人员费力解决。各自相异的Linux核心(Kernel)变体、交叉编译工具链(Toolchains)、函式库(Libraries)、套件(Packages)以及软件发行版本,都同时并存于市面并使市场变得十分杂乱。
好消息是,许多针对核心、交叉编译工具链以及应用软件的必要性基础变革,已使其更易于被移转、移植,也较不容易出现山头林立、各自为政的纷杂态势;坏消息则是,上述良性变革的后续发展,老实说还有好长一段路得走。
事实上,大部分深度嵌入式系统(Deeply Embedded System)开发人员依旧习惯“自助餐式”的D.I.Y.作业方法,他们常常自行大幅改动软件发行版本、套件以及相关应用软件,而这些变更及修改只有极少部分会被散布流入业界开源软件开发社群中,成为可供多数人取得的开放资源。如此一来使得软件再利用(Reuse)的可能性变得极少,标准化的程度也非常之低,而整个商业生态体系也就继续变得四分五裂、参差纷乱。
这是一件很糟糕的事,因为这意味着可用来提升综效的省力作法,例如软件再利用以及相互协作等,在此业界将成为凤毛麟角的稀有案例。更简单点说,这只会让一堆人不断重复处理明明相同的一件事,不但浪费时间和精力,对于创造产品的差异化价值更是毫无助益。
或许对甘于平淡的嵌入式开发人员而言,这种一再重复却意义有限的例行公事,反而能保障他们持续享有一份安稳的铁饭碗工作,但是日复一日处理这类工作内容,终究是无法对公司或本身作出甚么值得一提的贡献,更遑论有任何显著的价值。
深度嵌入式市场势必将面临重整变革
真正推动深度嵌入式Linux开发领域产生变革的,其实是在硬件端所发生的系统单芯片(SoC,System-On-Chip)汇流趋势;这个趋势促使软件复杂程度更甚,市面上流通的嵌入式设备应用软件数量也呈现暴增的情形。平心而论,虽然现有产业生态体系已呈现支离破碎局面,但有许多厂商仍打算先维持现状,寄身其中继续无怨无悔地走下去。
但是,业界一边渴望推出更快速、更聪明、品质更佳的产品,一边却又希望能压低成本以维持价格竞争力,在此蜡烛两头烧的高度压力下,势必驱动部分厂商另辟蹊径,转而投身标准化程度更高的全新发展途径。新的发展途径可望促成相互协作与软件再利用的机会大幅增加,并培育出凝聚力更强、连结程度更深厚的开源及商业软件生态体系。
简而言之,我预估深度嵌入式应用开发市场将会无可避免地进入一段全面性重整、再造的变革期,此一变革不但是必然之举,也是必要之务:将业界和市场推向此一变革的因素其实已多到不胜枚举,只差在特定时刻就将陆续发酵,并顺势造就此一变革发生。
我最近刚参加了今年度(2011年)的Linux基金会产业暨社群合作高峰会。在这场开源软件社群的盛会中,各路专家针对深度嵌入式Linux应用开发等重要议题进行了非常精采的讨论,内容十分有趣且引人入胜,有机会我将和各位分享更多细节。对于本文谈到的议题,若有兴趣不妨进一步参考高峰会中已公开的相关演说内容讲义。
在开源软件及开放架构平台成功于服务器市场扩张势力之前,该市场的应用开发人员其实选择非常有限,仅有两种方案可选:若非直接选用由服务器硬件制造商所开发及维护的操作系统以及应用软件,就是得从市面上少数几套商用操作系统及应用软件中选择一套可支持不同硬件制造商者。
系统架构设计人员、整合人员或是开发人员在评估决策时,常常都得面临左右为难的局面,最后则不得不提出与现实状况妥协的折衷方案。
开源平台普及减低开发决策复杂度
然而,在开源操作系统及应用软件翩然到来后,整个软件产业出现了戏剧性的转变。
随着时间推移,开源架构平台在企业应用市场慢慢站稳一席之地。虽然基于种种因素,开源软件平台也未出现某单一版本或套件脱颖而出,成为业界标准规格的情形,但是至少对系统架构设计人员、整合人员或开发人员来说,这些同属开源架构的软件平台彼此相似性已达一定程度,并且也可提供他们堪称标准化的开发环境,以及资源丰富的产业生态体系(Ecosystem),方便他们根据个别需求从中挑选偏好的软硬件平台。
产业演进使开源软件世界渐趋碎裂
现在,让我们将焦点转移到嵌入式应用开发社群,这个属于深度嵌入式应用开发的专业领域,已然随着产业演进而出现截然不同的样貌。
在微电脑的世界中,软件的设计主要是取决于硬件的设计,并配合其演变推陈出新,无论是应用软件或是操作系统,当硬件出现新的设计时,都必须遵循此原则,配合硬件变更大幅修改调整,以确保能符合各种专为特定用途而建置的客制化设备之系统需求。
操作系统被视为“必要之恶”,必须根据实际应用状况修改以顺应系统需求:此一现象导致在开源软件世界中也出现山头林立、纷杂碎裂的局面,并助长此一局面越演越烈。此外,由于同时牵涉到市面上多种硬件架构以及与之各自搭配的高度客制化嵌入式应用软件,两相纠结之下使得这个问题更显得格外错综复杂。
开发人员习性加剧产业碎裂化程度
多年以来,即便是处理最基本的深度嵌入式应用需求,带来的挑战也非常棘手而必须让开源软件开发人员费力解决。各自相异的Linux核心(Kernel)变体、交叉编译工具链(Toolchains)、函式库(Libraries)、套件(Packages)以及软件发行版本,都同时并存于市面并使市场变得十分杂乱。
好消息是,许多针对核心、交叉编译工具链以及应用软件的必要性基础变革,已使其更易于被移转、移植,也较不容易出现山头林立、各自为政的纷杂态势;坏消息则是,上述良性变革的后续发展,老实说还有好长一段路得走。
事实上,大部分深度嵌入式系统(Deeply Embedded System)开发人员依旧习惯“自助餐式”的D.I.Y.作业方法,他们常常自行大幅改动软件发行版本、套件以及相关应用软件,而这些变更及修改只有极少部分会被散布流入业界开源软件开发社群中,成为可供多数人取得的开放资源。如此一来使得软件再利用(Reuse)的可能性变得极少,标准化的程度也非常之低,而整个商业生态体系也就继续变得四分五裂、参差纷乱。
这是一件很糟糕的事,因为这意味着可用来提升综效的省力作法,例如软件再利用以及相互协作等,在此业界将成为凤毛麟角的稀有案例。更简单点说,这只会让一堆人不断重复处理明明相同的一件事,不但浪费时间和精力,对于创造产品的差异化价值更是毫无助益。
或许对甘于平淡的嵌入式开发人员而言,这种一再重复却意义有限的例行公事,反而能保障他们持续享有一份安稳的铁饭碗工作,但是日复一日处理这类工作内容,终究是无法对公司或本身作出甚么值得一提的贡献,更遑论有任何显著的价值。
深度嵌入式市场势必将面临重整变革
真正推动深度嵌入式Linux开发领域产生变革的,其实是在硬件端所发生的系统单芯片(SoC,System-On-Chip)汇流趋势;这个趋势促使软件复杂程度更甚,市面上流通的嵌入式设备应用软件数量也呈现暴增的情形。平心而论,虽然现有产业生态体系已呈现支离破碎局面,但有许多厂商仍打算先维持现状,寄身其中继续无怨无悔地走下去。
但是,业界一边渴望推出更快速、更聪明、品质更佳的产品,一边却又希望能压低成本以维持价格竞争力,在此蜡烛两头烧的高度压力下,势必驱动部分厂商另辟蹊径,转而投身标准化程度更高的全新发展途径。新的发展途径可望促成相互协作与软件再利用的机会大幅增加,并培育出凝聚力更强、连结程度更深厚的开源及商业软件生态体系。
简而言之,我预估深度嵌入式应用开发市场将会无可避免地进入一段全面性重整、再造的变革期,此一变革不但是必然之举,也是必要之务:将业界和市场推向此一变革的因素其实已多到不胜枚举,只差在特定时刻就将陆续发酵,并顺势造就此一变革发生。
我最近刚参加了今年度(2011年)的Linux基金会产业暨社群合作高峰会。在这场开源软件社群的盛会中,各路专家针对深度嵌入式Linux应用开发等重要议题进行了非常精采的讨论,内容十分有趣且引人入胜,有机会我将和各位分享更多细节。对于本文谈到的议题,若有兴趣不妨进一步参考高峰会中已公开的相关演说内容讲义。