开源社区开发流程中主体及信息流动模式探究.docVIP

开源社区开发流程中主体及信息流动模式探究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
开源社区开发流程中主体及信息流动模式探究

开源社区开发流程中主体及信息流动模式探究〔摘 要〕本文对开源社区的开发流程中存在的信息流动现象进行了研究。通过对开源社区开发流程的详细介绍,在这基础之上归纳出社区中信息互动的主体,剥离出存在于其中的信息流,并在此基础上归纳出了四种信息流动的模式,即不定向主动、定向主动、不定向被动和定向被动。 〔关键词〕开放源代码(开源)社区;开发流程;开发主体;信息流动 〔中图分类号〕G209 〔文献标识码〕A 〔文章编号〕1008-0821(2012)10-0163-03 近年来,随着信息技术和互联网的迅猛发展,关于开放源代码的各种活动不断地蓬勃繁荣起来。作为软件领域最值得争议的一种现象,开放源代码软件(OSS)目前吸引了越来越多来自计算机领域和学术领域,甚至是政治领域的关注目光[1],与云计算和物联网一起成为公认未来的研究趋势。有学者甚至预言未来只有开源才能推动云计算与物联网的发展。 开放源代码指的是对计算机程序编码不设任何限制,任何人都可以利用、修改编码并可对修改后的编码进行传播而不需要付费。这使得各种源代码为人所用变得简单,随着互联网的普及与深入,开源社区也随之出现并逐渐成为主流的开发方法。传统的开发模式中主要遵循“金字塔”组织设计理论,由各个项目经理负责各个方面的产品开发,最后再由更上一级的管理者统筹规划。这种传统的开发模式已经不能适应当今时代变化的速度,甚至连微软这个当初极力反对开源模式的公司都建立了自己的开源生态社区。开源社区以其独特的开发流程吸引着无数开发人员,而开发流程中存在的信息流动现象也同样值得探究。 1 开源社区的开发流程 互联网上充斥着各种各样的开源社区,社区开发的模式已经被商业化、混合化,但无论是太阳微电子系统创建的OpenO,还是非营利组织Apache Foundation创建的都有其通性,那就是其开发流程都具有基本相同的规则。 1.1 原始开发者发布源代码及项目 发布项目时要与社区管理者联系获得许可,按照标准化的项目文件描述格式在社区指定的位置发布。在原始开发者公布源代码的同时,还要必须针对不同的计算机硬件平台编译成为可执行程序[2]。因而版本发布者任务就是编译源代码以进行再次发布,同时要选择合适的许可证。在这版本的发布者可以是源代码提供者也可以是项目的维护者,这取决于第一部分所说的开发主体。 1.2 协作开发者进行开发 开发者进行开发前需要签署一个贡献者协议,表明社区和开发者共有代码的权利[5]。开发者随后可以选择自行开发或者根据自己的兴趣爱好自愿组成小组进行开发。在这一阶段内,会通过BBS、论坛、邮件列表、即时通讯软件进行小组内部讨论项目的可行性、人员分工、结构、编程环境的选择、项目调试等等,针对源代码中存在bugs或者优化的算法,以标准化的文档、手册、说明、通告、调试报告、bug报告+使用感想等形式[2],通过社区论坛或邮件列表等将其反馈给项目维护者,并注明那部分代码是补充修改的。这一过程是开源开发中的核心步骤,能占到开发周期的80%甚至到90%。 1.3 项目维护者进行审核 维护者需要审核上传的代码,选择优秀的代码加入到源代码中。维护者的责任包括决定接受或拒绝开发者提交的修改;代码的读取、修改和新增;应用补丁;分别公布无修改的原始代码和修改补丁,并将它们组合运用到新的软件功能中。 1.4 进行项目测试与维护 这是开发流程中极其关键的一步,维护者要从整体上监控缺陷、改进漏洞以及与其他项目进行交流。在这个过程中,委员会成员及项目维护者还会在社区论坛或其他即时通讯工具中进行公开讨论、会议,决定这个项目的何去何从(许可证的选择),是商业化还是继续开源或者进行双许可证发布。 1.5 公开软件的发布版 由于这些软件遵循早发布的原则普遍会存在一些功能上的欠缺,发布者更多考虑的是如何更快更早的发布,从而可以更好地倾听其他开发者的想法,而不是照顾到项目的各个方面。所以版本的循环发布非常频繁,以上的流程会重复多次,直到稳定版发布[4],每一次发布都会伴随着新的版本号。请参看下图Linux内核的开发树: 图1 Linux内核开发树 2 开源社区中的信息交流主体 从上文的介绍中可以看出,开源社区开发流程中主要有以下几个角色:源代码提供者,项目维护者,协作开发者,底层开发者,用户。其中项目维护者就是项目的发起人或者被上一任的维护者指定的人,可以是自发的个人或者专门为该项目组建的委员会也可能是公司任命的一个人,视社区管理主体而定。大部分项目都是由维护者执行、管理和维护的。在其中一些大型的“民主型”开发项目中,项目维护者一般会在论坛上面公布软件的各个大模块,每个模块会设立一个讨论区。如果参与者有兴趣,就可以加入到讨论区中,发布自己的程序或评论其他人的成果。协

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档