《开源思索集》一成功的开源软件都有什么样的特点

成功的开源软件都有什么样的特点

开源思索集
一、萌芽阶段
1.解决实际问题,这是核心。不一定要特别创新,特别酷,当然如果有的话是加分项。

2.定期发布,及时接受反馈,不断满足用户需求,形成稳定预期。

二、成长阶段
1.出色的宣传手段、引导传播的能力。很多不错的开源项目因为这一点不够,始终默默无闻 。

2.足够好的协作机制。虽然开源社区通常有较为成熟的玩法,但是做得不够好的项目比比皆是。

3.友好的参与引导。不断地吸引新人加入贡献(包括新手指南、开发文档、Demo等)。

三、成熟阶段
1.商业介入,获得资金支持。很多一开始选择了不太具备商业价值的开源项目,会始终非常小众。

2.良好的社区氛围。老人有地位,新人有上升空间,公开透明不内斗。

3.正确的方向感。这是长期繁荣的保障。以上这些,都依赖于一个最重要的先决条件:足够强大、足够优秀的创始人+领导者!

这两天又思考了一下,发现开源软件与开源项目,还是有一些差别的。通常来说:开源软件,主要是供最终用户使用,而开源项目,则是一个更大的概念,可以做一个菱形图来说明:

在开源项目的基础上,可以创造一个好的开源生态圈,而基于开源生态圈,会产生一个甚至多个不同的开源产品。这里说“开源产品”,也就包含了“开源软件”与“开源硬件”。因此,深入思考的结果就是——优秀的、成功的开源产品,依赖于良好的开源生态圈,而良好的开源生态圈,严重依赖于最初开源项目的定位与类别。

例如,依赖于Wordpress的平台,诞生了一大批Wordpress的插件。依赖于Eclipese的平台,又诞生了一大批Eclipse的插件。Firefox、Chrome莫不如是。所以,一个能够让开发者参与扩展的平台,是建立生态圈的重点之一。

再者,开发、调试、发布、获取、升级、评价这些扩展插件,是否易懂,是否方便,是否快捷,也是一个生态圈,是否能够健康的重要支撑特性。例如,Ruby的gem、Node.js的npm,就是极大地提升了Ruby与Node.js的生态圈活力。所以,一个能够支持生态圈得以出现的机制,一个能够辅助生态圈形成的工具,至关重要。

再深入地想一层,当我们开发一个软件,它应该具备哪些功能,它的可扩展性该如何实现,则是考验最初创始人的架构能力的关键。例如,UNIX/Linux的核心思想——“一切皆文件”;再如,Rails的核心思想——“约定大于配置”以及"Rack架构"所带来的活力。所以,优秀的架构,能够从一开始,就为开源生态圈打下了良好的基础。

原文发布于:2014年11月

时间: 2024-09-20 00:40:22

《开源思索集》一成功的开源软件都有什么样的特点的相关文章

《开源思索集》一三代开源社区的协作模式

三代开源社区的协作模式 开源思索集一.研发工具与研发模式据说,人之区别于禽兽,最大的特征在于利用,甚至发明工具.在没有任何其他工具时,我们只能借助于自己的肢体,一旦有了工具之后,我们的能力将会大大地增加. 但是,从另一个角度来看,工具也同时在限制我们的能力,甚至限制了我们的行为模式与思维模式.有一句俗话说得好:"手里拿着锤子,看见什么都像钉子." 而在研发工具的领域,我们观察到另外一些有趣的现象:因为软件研发工具的开发者,同时也是工具的使用者.因此,他们不仅仅会受制于工具,也往往会由此

《开源思索集》一拥抱开源,从中受益

拥抱开源,从中受益 开源思索集导读:盛大创新院高级研究员庄表伟近日编撰系列文章<借助开源项目,学习软件开发>活动,引起业界关注.庄表伟认为,通过编撰这些文章,希望更多开发者能够借助开源项目提高开发效率,减少重复劳动并从开源软件中受惠.同时,他呼吁更多开发者参与此项活动,通过分享过来人的经验教训,帮助那些初次接触开源的朋友.为此,CSDN记者就开源社区未来前景,开源所带来的机遇和开源是否受到企业青睐等几方面对庄表伟进行了采访. 以下是采访内容: CSDN记者:您为何如此重视开源? 庄表伟:随着科

《开源思索集》一如何看待开源社(kaiyuanshe)

如何看待开源社(kaiyuanshe) 开源思索集很早就因为罗聪翼的提问与邀请,关注了这个话题,却一直都没有想好怎么回答.我算是常年混迹于开源社区的一份子,这次的开源社从发起到成立,我也算是深度参与者之一."只缘身在此山中",所以反而感到难以评价.越是了解细节,就越是难以客观.全面地评价. 简单的挑一些关键词来讲吧: 摸索这个组织,从发起到成立,到各次的会议,有太多的讨论.各种意见,各种立场,各种观点,各种设想,实际上没有一个人,清楚开源社究竟要做哪些事,怎么做,以及找什么人来做?举一

《开源思索集》一企业开源杂谈

企业开源杂谈 开源思索集这篇文章的缘起,是一个朋友的约稿.但是,这篇约稿,实在是太难写了.打了3个礼拜的腹稿,还是一肚子杂乱的思绪.感想以及不吐不快的槽!可是文章不能这样来写呀,必须得有点条理啊.我试着按照某种"介绍–总结–反思–分析–杂谈"的逻辑来写吧. 介绍我曾经在一家公司负责"开发者关系管理(DRM)"的工作,而运营一个公益性质的开源社区,是这个"DRM"工作的其中一部分.简而言之,公司的目标很简单,办一个开源社区,在技术圈子里树立良好的形

《开源思索集》一我们都是干柴,期待烈火!

我们都是干柴,期待烈火! 开源思索集今天,整个上午我都在创智天地7号楼,参加一个社区经理的活动.社区经理培训活动之四 --"如何从0开始做一个很棒的社区" 来了很多朋友,大家都是8分钟快速演讲,给我留下最深刻印象的,是OpenERP社区的Jeff,还有ThinkLAMP社区的板子. Jeff的社区,做了很多很多的贡献,但是也有很多"苦逼"的数据.一个Wiki,非常非常多的内容,只有4个人撰写,而且其中90%的内容,还是他一个人写的.为了养活社区,Jeff在外面接活,

《开源思索集》一如何更有效地学习开源项目的代码?

如何更有效地学习开源项目的代码? 开源思索集说说我的开源学习经历: 1.下载源代码之后,首先要跑起来.编译通过.正常运行. 2.在你觉得最有可能的运行到的地方,设置断点或者抛出异常,这样,就能够找到一个项目在正常运行时的入口点. 3.从入口点所在的那个源文件开始阅读,逐步把握整个项目是如何启动起来的. 4.随便改点代码,看看会不会报错,如果报错,会从哪里报错. 5.试着把报错屏蔽.修复.或者绕开. 6.尝试理解一个系统的内部结构,多少组成部分,主线模块是哪些?辅助模块是哪些? 7.从实际需要出发

《开源思索集》一开放源码是开源软件吗? - 简书

开放源码是开源软件吗? - 简书 开源思索集开放源码和开源软件的不同是什么?开放源码不能叫做开源软件吗?所谓开源,仅仅是指符合OSI定义的Open Source吗?Open Source的来历1997年,埃里克·雷蒙(Eric Raymond)出版其著作<大教堂和市集>,探讨黑客社区与自由软件原则.1998年初,该论文受到极大的关注,成为促成网景通讯公司将其受欢迎的互联网套装软件<网景通讯家>(Netscape Communicator)释放成为自由软件的因素之一.这些代码即为今日

《开源思索集》一开源项目成功的十条准则(修订版)

开源项目成功的十条准则(修订版) 开源思索集Everyone wants it, lots of people try it, yet doing it is mostly painful and irritating. I'm speaking about free software aka open source. Today I'm going to summarize 30 years of coding experience in ten management-proof bullet

《开源思索集》一如何看待陈皓在微博上对闭源和开源软件的评论?

如何看待陈皓在微博上对闭源和开源软件的评论? 开源思索集 忍不住要深深地叹息一声,各位,这个观点真的一点都不新鲜,而且早就被批得一钱不值了. 在1998年,微软的万圣节文件被泄露,然后流到了Eric S. Raymond的手上,他是<大教堂与集市>的作者. ESR以极其尖锐的语言,点评了这批文件,我只打算摘录与陈皓观点相关的部分. 微软的文件中说:"当向JimAll描述这个问题的时候,它提供了漂亮的模拟"追逐后灯".要使一大批半组织的暴民合作,必须要向他们指出一个