​Linux开发模式:早发布 常发布 倾听用户

“如果有足够多的beta测试人员和协作开发人员基础,几乎所有的问题都可以被快速定位并被某些人解决。或者,不正式的说,如果有足够多的眼睛,所有的bug都是浅显的。我称这为Linus定律。”

伴随着互联网在1990年左右 在全球的迅速发展,最先利用互联网进行软件开发的是自由软件(freeware),最具代表性的是Linux(现在我们一般使用开源软件open- source software来描述Linux,但开源软件这个名词1998年才出现。自由软件和开源软件两个词的确切定义和相互关系比较复杂)。

Eric S.Raymond(简称ESR)在1997年发表了《大教堂与市集》(The Cathedral and the Bazaar)一文(简称CatB),阐述了Linux的开发模式和他自己对软件开发的一些看法,产生了重大影响,1998年Netscape公司受该文 影响开源了其浏览器的源代码。

在CatB一文中,ESR解释了Linux的成功,它背后的软件工程方法学原理,包括黑客的文化等等。其中,ESR提到:

“Linux 是第一个有意识并成功的把全世界当成它的头脑库的项目。我不认为Linux的孕育和WWW的诞生相重合是一个巧合,而且1993-1994年Linux发 展的早期正是互联网服务提供商(ISP)快速发展和互联网获得社会主流认可爆发式增长的时期。Linus是第一个学会在互联网普及的情况下,利用新游戏规 则的人。”

ESR提出了描述了Linus开发的几点经验:

“将用户作为协作开发者是快速改进代码和有效调试的最有效方式”。

“早发布。常发布。倾听用户。”

“如果有足够多的beta测试人员和协作开发人员基础,几乎所有的问题都可以被快速定位并被某些人解决。或者,不正式的说,如果有足够多的眼睛,所有的bug都是浅显的。我称这为Linus定律。”

在 Linux的开发过程中,参与者可以基本分为两类,一类是开发者;一类是使用者。开发者开发和改进了软件后,迅速发布在一个可以公开访问的网站上,其他开 发者和用户可以访问到可运行软件和源代码。其他用户在使用该软件的过程中会发现软件的bug,并在这个网站上进行反馈。而开发者可以看到这些反馈并根据这 些反馈修复bug;同时,用户和开发者也可以使用互联网交流对软件功能的需求,从而确定软件的下一步开发目标,迅速演进软件。

这样的开发方法和实践在Linux和其它很多开源软件的开发过程中已经被证实是非常有效的软件开发方法。

阅读余下内容

发表评论

电子邮件地址不会被公开。 必填项已用*标注


京ICP备12002735号