新闻中心

代码是核心竞争力吗?
 

我和一些闭源软件项目的作者聊过,大多数选择闭源的原因不外乎以下几种:

  • 觉得自己的核心算法非常厉害,不希望竞争对手模仿;

  • 担心用户拿到代码,就不给钱了;

  • 没有找到或者建立自己的护城河;

  • 代码太丑,不好意思开源;

  • 怕被人找到 Bug。

其中以前三种答案居多,我非常能理解,这些回答也都是非常正当的理由,只是这篇文章我们好好的就事论事的挨个分析一下,对于第四第五个理由,其实我不想过多展开,未来有机会再聊聊,我们聊聊前两种,先看第一种,我在后边会聊聊第二种。

对于第一种原因,我们再深入思考一下,一般可能有下面两种情况:

  • 我的核心代码很短,可能是一个很巧妙的算法,或者一套很巧妙的参数;

  • 我的工程上的设计和实现得很优秀,系统架构是领先的。

对于第一种情况,我一直以来的观点是:如果在同一个行业里面,除非你达到了彻彻底底的人才垄断,那么在一个充分竞争的环境,如果这个问题是一个高价值问题,那么你能想到的短短的 「核心算法」,别人也同样能想得到。天下没有银弹,计算机科学就是在无数种妥协和不完美中寻找平衡的艺术(当然,图灵奖级别的 idea 或者量子计算机这种现象级的东西另说,但是这种机会是很少见的),即使通过闭源创造出短期的垄断优势,但是这个平衡一定会被另一个竞争对手打破,最终也一定会出现一个优质的开源替代品全部吞掉(这个开源事实标准短期看甚至不一定是更好的)。

其实多数的产品优势是体现在工程实现上,也就是上面的第二种,一群优秀的工程师,在正确的设计下,构建出优质的软件。对于这种情况,无论开源还是不开源,竞争对手都没有办法很好的模仿,就像一个学霸,考了一个100分的答卷,把这个答卷给一个学渣看,学渣朋友肯定也没法马上变成学霸,因为代码只是结果,是什么样的思考和选择得到了这个结果,这个过程是没法开放的,所谓知其然不知其所以然,当然,就算你也很厉害,也有一批优秀工程师,短时间也做出了一个不错的产品,但是没关系,结局和前面提到那种情况也是一样的:只要你是闭源的,这个问题又足够普遍且高价值,那么长远来看一定会有一个开源的解决方案吞掉一切。这背后的原因其实和代码没有什么关系,因为代码在这里其实并不是核心竞争力。关于前面提到的第三种理由,我认为是和第一种类似,作者可能认识到代码并不一定是核心竞争力,但是没有构建好护城河的情况下,只能选择将代码作为护城河。

详情请登录  http://www.xkzjsj.com

所有课程尽在新科展计算机学校http://www.xkzjsj.com

联系人倪老师:15543625258微信同步

QQ2395263754

详情请登录  http://www.xkzjsj.com

长春市朝阳区同志街与隆礼胡同交汇火炬大厦9楼新科展计算机学校(桂林路附近)

吉林省新科展高级IT网络培训中心是吉林省最大的计算机培训学校
吉林省新科展高级IT网络培训中心学校常年招生,咨询学习请提前电话联系,登记预约学习时间
新科展承诺:100%推荐就业,规定时间内免费重学。

合作伙伴

计算机培训 培训学校