曾经有颗开源的心,后来被业务代码打败!
1. 一个软件的成功,一方面取决于代码在完整度基础上的快速增长,另外一方面则是用户的井喷式增长,而一个软件的拥有者的成功,则是其知名度的快速提升和报酬的增加。软件的成功如何能够导致拥有者的成功,这个属于模式问题,这里不讨论。
2. 同功能的软件之间的竞争,其决定性的因素则是宣传力度和软件迭代速度。从这一点上来说。(这一条你可能觉得没啥用,可以先留存),宣传力度这个就不讲了,因为对问题的解决意义不大,接下来专注于迭代速度。
3. 闭源软件的迭代速度取决于自身有多少优秀的程序员和内部的分工及组织架构,而开源软件的迭代速度则取决于这个世界上有多少对此软件感兴趣的人。
4. 同意,接下来说说国内幻境:
(1)国内还没有形成对待开源的思维,仍然停留在各大论坛上贡献的免费软件一样,索取为主,没有交流,更谈不上贡献了,说白了,用户就是个黑匣子,用的好不好他也不说,拿过去改了什么他也不说,有问题他也不说,我个人认为这个可能跟国民性格有关系。
(2)对于有能力贡献代码的人,有的是习惯问题,比如说骨子里的实用主义,拿过来用了,改了,然后就结束了,也没有交流,这个也跟一个国民习惯有关系,国内的好为人师,大部分都是行为式的,也就是你必须按照我这么做,不这么做就不行,而不是展现式的。所谓展现式,就是我呈现给你看,你愿意学,ok,不愿意,也ok。长此以往,大部分学习的手段就是拿来就可以了,没有思考,也没有反馈,因为一反馈就挨揍了(软件行业肯定没这回事,别的行业比较多)。
(3)对于有能力管理开源的人,可能就是一个管理模式的问题了,这一点我就不了解了,不做评价。
(4)国内大部分人会基于一个想要后续获取利益的目的来发布软件,(当然,不能说这样不对),闭源的话,能力又不够,所以选择了开源,这样导致的问题就是自立山头比较多,而山头下的兵少,好不容易兵多了,结果因为准备不够,将又少。
5. 基于以上几点,所以,一个软件开源了,很容易就被大公司或者其他人给闭源处理了,迭代比你快,优化比你好,所以,开着开着,就死了。以上你应该理解了在国内做开源的困难了吧。接下来说说国外的开源的好处:
知名度和殖民地:
以前的软件模式属于养鸡场,开发者和使用者之间的差别特别大,使用者就只管使用就可以了,以前市场也小,闭源软件完全能够管理,所以以前是一种领土扩张的形式,就跟秦朝统一六国是一样的。后来形式变了,用户也开始变成开发者了,要闹独立了,比如linux,这个时候死守养鸡场,可能鸡就全跑了。怎么办呢,变成了殖民地的模式,就是我开发一个框架,开发一个范式,然后你自立块地,然后自己办养鸡场去吧。这个时候,其实争的就不是鸡了,而是头鸡,有时候甚至要去培养头鸡。
这个过程呢,有几个关键点需要说明:
一个是头鸡跟场主的关系,头鸡使用了场主的秘方,就决定了要时刻关注场主的行为方式、特点、紧跟其主义,不然一不小心,可能场主弄出一个更新出来,跟你头鸡的思维方式不一样,这个时候你再转变,是要有点头疼的。第二个,是所谓开源,一般是开一个框架出来,大家在这个模式下思考,这种的比较高端,直接弄一个应用出来的也有,但一般就不以此软件的本身利益为出发点了。。。。所以,一个场主带呼啦啦一群头鸡的场面,是很拉风的,也很有利的,主要是可以拐跑别人家的鸡,甚至头鸡,另外,有能力的鸡,你还可以吸引过来做大将用。21世纪什么最贵,当然是鸡婆啊。另外,把框架贡献出来,还有一个另外的好处,就是可以不断的完善。这里面有一个公理,就是非战斗鸡在有限的时间,有限的精力,有限的思维模式下,是不会写出完美的代码的,这个时候怎么办,公开出来,如果可能的话,恨不得让外星鸡也看一看,有能力的就贡献个代码,没能力的测试下使用环境,有热情的捐点钱,没热情的写点使用教程,使用心得也是要的。外国鸡大家都貌似比较闲,所以大家的心态比较好,能做到上面这些,所以,开源的就比闭源的迭代快,拥护多,亢奋鸡也多,所以,就有利益啦。
国内的程序猿大多都处于搬运工的状态,每天累到死,加班加点完成公司业务代码。没有时间另外做开源,也没意识到开源的重要性。当然也有少部分大牛,开源了一些好代码。不过也难以形成比较大的影响力。国内的开源项目,做得好的基本上是极客,凭个人能力开发出优秀的完整项目,除了阿里,貌似少有公司团队参与的开源项目。
标签:现状,迭代,如何,开源,闭源,场主,软件,头鸡 From: https://blog.51cto.com/u_12040702/5992973