Normal07.8lbs02falsefalsefalseEN-USZH-CNX-NONE在今年的OSCON大会上,RedHat的TomCallaway发表了题为《你的失败原因:本可避免的错误在开源项目中仍一再出现》的演讲。2009年,Callaway开始致力于Chromium项目——在这次演讲中,Callaway将其淡化为一次不愉快的经历。卡拉威指出,他喜欢接受挑战,但这个项目让他感到窒息,以至于他最终放弃了这项工作。(应该提到的是,Chromium的代码库并不糟糕,只是它的工作量很大,而且谷歌在项目开发过程中并没有全部编写,Callaway说。)这一切让Callaway很沮丧,人们也很好奇他发生了什么事情。卡拉威想更彻底地分析他的挫折,所以他编制了今天的清单——他称之为“失败点”。尽管Callaway无意通过他的博文引起关注,但人们还是发现了他的经历并开始谈论它。由于这份榜单只是对他的所闻所感进行了总结,很多媒体请他演讲,其他网站发表相关解读文章,甚至还出现了开源类型下的职称地图。但在深入探讨他的失败点理论之前,卡拉威希望首先定义真正的成功。人们是否愿意使用开发者的软件成果是衡量成功与否的重要标准之一。其次(这是我最喜欢的讨论部分),我们需要一个健康的社区环境才能成功。我们希望更多的人参与改进他们的产品,互相帮助,并定期发布更新。***,我们希望我们的工作能够“友好”地分发。Callaway解释说,一个“分布式友好”的开源项目意味着它需要预先打包。大多数Linux用户获取大多数软件的方式仍然是通过发行版中的软件包集合。这是人们寻找新型软件时首选的平台。在解释了成功的定义之后,卡拉威给出了以下衡量失败点的方法:1、如果你的代码库太大,会限制用户下载这些代码的意愿和能力。2.都2015年了,开源项目没有理由不提供开源控制。这有助于人们为它做出贡献,并根据最新提交的日期来判断项目的当前健康状况。3.如果你的源代码控制机制不提供web查看器和/或文档,那么请现在就想办法解决——这两个因素很重要。4.糟糕的代码比没有相关的代码更糟糕!您需要提供说明如何使用这些源代码构建整个项目的文档。5.使用构建工具。6.采用捆绑方式并不意味着项目会失去可维护性——捆绑只意味着fork能力。7.强制人们在特定目录下安装软件项目。Callaway表示,一旦遇到以下情况,就意味着项目失败了:1.如果你的代码需要依赖MicrosoftVisual来运行(***失败)。2.如果你的项目托管在某个系统中,但是没有冗余,或者直接运行在你身边的普通电脑上。3.如果没有合适的通信工具(包括邮件列表、网站和/或错误跟踪工具)。4.如果你的代码属于其他项目的fork,并且你的主要开发人员没有同时参与父项目的编程工作。5.如果你的代码在开源之前是专有软件(我们没办法改过去)。6.如果您的代码许可缺乏一致性。7.如果你的代码没有任何文档。8.如果通过邮件列表发送的信息大部分没有得到回复,甚至被嘲笑甚至侮辱。9.如果超过50%的项目贡献者在同一家公司工作。10.如果你的代码不提供本地化支持。11.如果你不管理项目,或者只是依靠代码发布供应商来管理它。Normal07.8磅02falsefalsefalseEN-USZH-CNX-NONE/*样式定义*/table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-priority:99;mso-style-qformat:yes;mso-style-parent:"";mso-padding-alt:0cm5.4pt0cm5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:12.0pt;font-family:"Cambria","serif";mso-ascii-font-family:Cambria;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Cambria;mso-hansi-theme-font:minor-latin;mso-font-kerning:1.0pt;}原文标题:This这就是你的开源项目失败的原因
