BSD系统的历史和目标(连载五)

2009-05-13 06:53:39来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


1.4  FreeBSD的开发模式

#   执行一个开放源代码的项目同执行一个传统的软件开发项目不一样。在传统的开发模式下,要付给开发人员报酬,所以可以有多位项目经理和一位系统架构师来制定进度安排,并且指导程序员开展各项工作。而在开放源代码的模式下,开发人员都是志愿者。他们都是临时性的,往往在找到能自由支配时间的其他活动之前,在一两个项目上干干。他们无权指挥,因为他们只是愿意在自己感兴趣的地方工作。因为他们的工作、家庭和社会生活经常要比他们在项目上投入的工作更为重要,所以不可能安排统一的时间表。最后一点就是,不会因为他们承担了传统开发中的管理工作而付报酬给他们。因此,成功的开放源代码项目必须做到能自我进行组织,项目的建立能够处理好参与人员的流动性强这一点。
#   FreeBSD(以及NetBSD和OpenBSD)采取的开发模式由CSRG所首创[Mckusick et al., 1989]。CSRG一直都是一个规模不大的软件开发人员小组。这种人力资源条件上的限制要求精细的软件工程管理。不仅是CSRG成员要仔细协调,而且对系统开发有所贡献的整个社群的成员也都需要仔细协调。某些外部的开发人员有权直接修改系统系统源代码得主拷贝。有权访问源代码主拷贝的人事先需要进行仔细的考察,但不会严密监视。每个向系统源代码提交修改的人都会得到所有改动的通知,从而让每个人都能知道对系统所作的修改有哪些。每个人都需要让所有较大的改动经由至少一名以上的其他人员来审查,然后才能把改动提交给源代码树。这种模式允许在多条开发战线上并发开展工作,同时仍然可以保证项目的一致性。
#   FreeBSD项目的组织方式和CSRG一样。整个FreeBSD项目,包括所有的源代码、文档、缺陷报告、邮件列表存档乃至管理性数据都保存在一个公共可读的源代码控制系统中。任何人都可以查看源代码和现有的缺陷报告,跟踪修正缺陷的进展情况,也可以提供缺陷报告。任何人都可以加入和参与不计其数的FreeBSD邮件列表。直接在FreeBSD上开展工作的有3组人员:开发人员、提交人员和核心小组。
#   项目中有3000到4000名开发人员,其中每个人都再作系统的某个部分的工作,比如维护FreeBSD内核、持续开发1000个FreeBSD核心工具程序、编写FreeBSD文档,以及升级FreeBSD移植软件库(ports collection)中别的开放源代码软件。开发人员可以访问源代码库,但是不允许他们改动源代码库。相反,他们必须和一位提交人员配合工作,或者以文件形式提交一份问题报告,才能让他们所作的改动加入系统当中。
#   目前FreeBSD项目中有300到400名提交人员。和开发人员相同的事,他们中间的大多数人也是专门在系统的某个部分上做工作。和开发人员不同的是,允许他们改动授权他们负责的那部分源代码库。所有较大的改动在被检入(check into)到源代码树中之前,都应该由一位或者几位别的提交人员进行审查。大多数提交人员在完成自己工作的同时还要审查和提交几位开发人员的工作。
#   将开发人员提升为提交人员的任命由执行委员会做出。在大多数情况下,要提升的开发人员由和他一起工作的提交人员推荐,并且将推荐意见、对过去工作的介绍和评价以及新工作的起步领域一道发给核心小组,以征得核心小组的批准。
#   处于项目中心位置的是核心小组。核心小组由9位成员组成,他们每两年选举一次。核心小组的候选人从提交人员中遴选,并且由提交人员选出最后的核心小组成员。核心小组的作用是对源代码进行最后的把关。他们监督业已提交的内容,解决两位或者更多位提交人员不能就某一特殊问题达成一致意见时出现的矛盾。核心小组也负责批准开发人员晋升为提交人员,以及将某人临时(这种情况和罕见)或者永久性地从提交人员队伍中除名的事宜。除名的常见原因是消极工作(一年以上没有向系统提交改动)。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:BSD系统的历史和目标(连载四)

下一篇:freebsd下计算cpu、memory、hd等相信的代码