再上一篇:6.4.2 在 ARM 平台上使用 IPP 开发应用
上一篇:6.5 嵌入式 Linux
主页
下一篇:6.5.3 嵌入式 Linux 的体系结构
再下一篇:6.5.4 嵌入式 Linux 的发展方向
文章列表

6.5.2 Linux 的开发模式

嵌入式系统(修订本)——Intel XScale 结构与开发 陈章龙 著

Linux以及大多数GNU软件的开发模式与软件公司的商业软件开发模式差异很大。商业 软件开发过程中,会有严格的资源控制、流程控制和质量控制过程。会有专门的开发组负责 需求分析,系统设计,代码编写,测试,产品化。在开发的全过程中,会使用各种手段控制 每个阶段的成果质量。如对任何内容的修改都需要有详细的记录。所以在一个开发完成后, 会有详细的开发过程记录,会有利于排错和总结经验。并且现在的软件开发会使用很多辅助 工具以提高以上工作的效率。

Linux和大多数自由软件采用的是较为宽松的开发模式。这是和自由软件的开发者组成 密切相关的。自由软件的开发者来自世界各地,并没有一个统一的组织或公司来协调开发工 作,任何人都可以加入到Linux内核和应用的开发中来。这些开发包括设计方案,编写源代 码,测试,编写文档,解答问题等。实际上自由软件的开发也有商业软件开发过程中的所有 环节,但是完成这些工作并不是在一个组织内部完成,而是以比较松散自由的方式完成。自 由软件的开发者充分利用Internet提供的服务来完成交流和协调工作,比如电子邮件,邮件 列表(maillist),USENET新闻组等。所以自由软件的迅速发展和Internet的普及是分不开的。 当然自由软件的发行还是有一定的组织性,即正式的版本由一个核心小组最终管理和发布。 所有的相关内容都会提交给核心组的成员以检查是否正确,是否应该添加到发布版本中。如 果一个人写的东西确实有用,并且经过了测试,都可以加入到正式发行版中。

Linux采用这样的开发模式,具有很多的优越性,促使它迅速成长。具体体现在以下几 方面。

首先,Linux有庞大的开发队伍。因为任何人都可以参加开发,所以Linux的开发者有专 业程序员,业余爱好者,学生等群体。大多数的Linux开发者都是“业余”开发者,并不是 以从事Linux开发为职业。很多开发者都有开发大型商业系统的开发经验。带给Linux开发队 伍最新的思想和发展方向。Linux的开发队伍可以说是软件开发领域最有创造力的。尤其是 越来越多的公司也加入到Linux的开发中来,他们组织专门的开发队伍参加自由软件的开发。 所以有些部分的开发实际上已和商业软件采用的方法无异。
其次,Linux的开发队伍有空前的热情。自由软件的发展模式给每个程序员以实现梦想 的机会。以往的严格限制版权的商业发展模式下,程序员之间的交流合作范围较小,可以充 分利用其他人的经验的机会也少。造成程序员自身的发展较慢。一个程序员所做的工作可能 是一件琐碎、毫无创造性的工作。自由软件给每个程序员充分发挥的机会,可以做自己感兴 趣的东西,可以做很多核心的、具有挑战性的工作。所以Linux的开放者体现出了非常高的 热情,这从Linux不断推出新版本的速度就可以看出。
第三,充分共享成果使得开发质量很高,速度很快。每个人都可以利用其他人的经验, 都可以向其他人寻求支持。这使得Linux的代码重用较高。并且在一个功能完成后,立刻就 会有很多人测试和使用,反馈立刻到达开发者那里。并且因为使用者可以看到源代码,他也 可能提出改进的建议。
当然Linux的这种开发模式也有其缺点。缺乏完善的文档支持,缺少统一的界面。对于 一个应用者来说,这些是选择一个操作系统要着重考虑的。Linux的开发队伍也认识到这一 点,在逐步弥补这方面的不足。