开源反思:为何你的项目遭遇失败?

译文
开源 系统
在今年的OSCON大会上,红帽公司的Tom Callaway作出了题为《你的失败原因:本可避免的错误在开源项目中仍一再出现》的演讲。在解释了成功的定义之后,Callaway给出了以下失败点的衡量标准和失败点的表现方式。

[[142923]]

在今年的OSCON大会上,红帽公司的Tom Callaway作出了题为《你的失败原因:本可避免的错误在开源项目中仍一再出现》的演讲。2009年,Callaway开始加入Chromium项目的开发工作——而在此次演讲中,Callaway以轻描淡写的方式将其形容为一段并不愉快的经历。

Callaway指出,他喜欢接受挑战,但该项目却让他感到窒息,甚至最终使他选择了退出相关工作。(Callaway表示,需要提到的是Chromium的代码库并不糟糕,只不过本身工作量很大、而且谷歌在项目开发过程中并没有将其全部编写完成。)这一切让Callaway感到万分沮丧,而人们也对他的遭遇感到好奇。Callaway希望能够更为透彻地分析自己所遭遇的挫折,因此整理出了今天的这份清单——他将其称为“失败点”。

尽管Callaway并不打算通过博文博取什么关注,但人们仍然发现了他的经历并就此展开讨论。由于这份清单仅仅囊括了对他所闻所感的概括,因此多家媒体对他发出了演讲邀请,其它网站上发布与之相关的解读文章,甚至出现了开源类型下的职称图。不过在深入讨论他的失败点理论之前,Callaway希望首先定义真正的成功。人们乐于使用开发者的软件成果是衡量成功的重要标准之一。其次(这也是我最喜爱的讨论内容),我们需要健康的社区环境来保障成功。我们希望有更多人参与进来改进自己的产品方案、彼此帮助并定期发布更新内容。***,我们希望自己的工作能够被“友好地分发”。一个被“友好分发”的开源项目意味着其需要经过预打包,Callaway解释道。

大部分Linux用户获取大部分软件的手段仍然是通过发行版当中的软件包集合。这是人们寻找新型软件时关注的***平台。而在解释了成功的定义之后,Callaway给出了以下失败点的衡量标准:

1.如果你的代码库太过庞大,则会限制用户下载这些代码的意愿与能力。

2.现在是2015年,开源项目没有任何理由不提供公开源代码控制机制。这有助于人们为其作出贡献,并根据***提交内容的日期来判断项目的当前运作状况。

3.如果你的源代码控制机制不提供Web查看器以及/或者说明文档,那么请马上想办法解决——这两项因素至关重要。

4.糟糕的代码比没有相关代码还差劲!大家需要提供说明文档,解释如何利用这些源代码构建起整个项目。

5.使用build工具。

6.采用捆绑方式并不代表着项目会失去可维护性——捆绑只代表fork能力。

7.强迫人们在特定目录之下安装软件项目。

Callaway表示一旦遇到以下情况,则意味着项目已经遭遇失败:

1.如果你的代码运行需要依赖于微软Visual之类(***失败了)。

2.如果你的项目被托管在某套系统内,但却没有配合冗余,或者是直接运行在了身边的某台普通计算机当中。

3.如果不具备适当的通信工具(包括邮件列表、网站以及/或者bug追踪工具)。

4.如果你的代码属于其它项目的fork,而你的主要开发人员并没有同时参与其母项目的编程工作当中。

5.如果你的代码在进行开源之前属于专有软件(我们没有办法改变过去)。

6.如果你的代码许可缺乏一致性。

7.如果你的代码不具备任何说明文档。

8.如果大部分通过邮件列表发出的消息都没有回应、遭遇调侃甚至是侮辱。

9.如果有超过50%的项目贡献者效力于同一家企业。

10.如果你的代码不提供本地化支持。

11.如果你没有对项目加以管理,或者单纯依靠代码发布厂商进行管理。

 

 

原文标题:This is why your open source project is failing

责任编辑:火凤凰 来源: 51CTO
相关推荐

2015-07-20 09:35:57

开源商业模式

2016-12-13 19:40:00

大数据

2009-09-24 09:55:15

Java Hibern

2018-07-31 08:42:33

软件项目GitAPI

2018-06-13 08:40:43

AICIOAndroid P

2011-03-22 17:29:41

LAMPWindowsAMP

2022-06-19 14:10:48

开源软件企业Linux 基金会

2016-03-28 09:39:54

2014-11-28 14:38:07

HTML5

2015-09-29 09:48:28

基础设施反思资源交付

2016-03-02 16:21:08

挂号医学缺陷

2013-05-17 09:49:24

敏捷开发开发项目项目

2021-03-16 05:42:39

开源工具技术干货

2021-07-30 16:42:53

开源工具开发

2011-07-14 14:15:31

2021-08-05 08:18:02

开源项目 PR

2024-03-05 15:33:28

2015-12-25 15:16:28

开源github开源项目

2019-11-14 15:56:18

开源技术 软件

2021-09-07 14:36:53

DevSecOps开源项目
点赞
收藏

51CTO技术栈公众号