开源的本质:通过公开+共享来促进技术更快进步

开源的本质精神是技术的公开+共享,不局限于软件。开源是一种精神,而不仅仅是一种形式;很多时候,大家只注意到了它的形式,而忽视了它的精神。这是务虚。

公开+共享的精神所产生的现实意义,是促进技术的加速进步,包括技术的创新与技术发展;而技术进步的积累是社会大进步的一个必然条件,比如工业革命,肉眼可见。这是务实。

我们能够看到并且享受技术进步带来的便利,但我们应该明白,如果没有开源,我们的社会可能要再晚上几十年甚至更久才能达到现在的程度;或者,我们无法像现在这样如此广泛地享受各种技术组合带来的好处,这是开源本身对于现实生活所产生的最表层的影响,也是最容易被我们理解和感受的影响。

传统商业模式在精神上是拒绝技术的公开和共享的,即拒绝开源。

我们可以对传统商业模式做一些简单的归纳(以软件为主):

  1. 传统的商业模式,是反对免费提供技术(包括软件)的;(智能手机流行后有了极大转变,多数APP是免费的)

  2. 传统的商业模式,是反对开放软件的源代码的;

  3. 传统的商业模式,是反对第三方商业公司修改其源代码的;

  4. 传统的商业模式,是反对第三方商业公司再利用其软件及源代码的;

  5. 传统的商业模式,是反对第三方商业公司再分发其软件及源代码的;

  6. 传统的商业模式拒绝公开和共享,不完全是负面的,也有正面意义;

之所以被传统商业模式拒绝,基本上全部是基于赚钱与否的考虑,即是否有助于企业盈利。所以,到目前为止,传统商业模式,在开源上收获有限。

中国很多人对于开源软件的理解,更倾向于是从免费,或者从没有限制来思考;如果收费,或者有限制,那么就怀疑是否是开源技术(软件)。版权保护法律起源于外国,中国是拿来使用,所以,中国在没有普及版权法律意识之前,甚至已经普及了版权相关法律之后,仍有很多人不习惯版权法律带来的各种约束。

在一部分人的眼里,一个所谓真正意义上的开源软件,上面这些被拒绝的内容可能都是允许的。而事实则是,确实是被允许的,只不过是又增加了各种各样的附加条件而已; 而附加条件的具体细则,则由对应的开源协议来限定;开源到极致情况是,允许几乎所有的内容,且几乎没有任何限定条件。而在技术(软件)开发人员中,对于这种极致情况有一个说法,叫做自由(软件)。

请以中性的角度来理解传统商业模式,尤其是不要贬低传统商业模式。我们这里只是在探讨开源技术(软件)的特点,而不是讨论哪个更好或更不好,至少不是在赚钱与否的层面上讨论。

免费技术(软件) vs 开源技术(软件) vs 自由技术(软件)

  1. 免费技术(软件)可能开源也可能不开源,比如手机上很多免费的APP,或者电脑上的QQ,都是免费的,但并不开源。

    这类免费技术(软件)使用时并不收费,但开发企业可以通过广大的用户数量来从流量上赚取收益。这类技术(软件)大众可以免费拿来使用,但看不到技术原理(源代码),开源软件则不能修改后再发布。

  2. 开源技术(软件)可能免费也可能不免费,不免费这一点很多个人用户无法体会,也遇不到,因为费用很多时候并没有在个人用户身上体现,比如服务费用,大量个人用户很少会用到售后服务,尤其是收费的售后服务。

    企业用户需要慎重对待:有一些开源技术(软件),仅对企业用户收费,而对个人用户免费;也有一些开源技术(软件),对企业用户的某些特定领域使用收费,对企业用户的其它领域使用不收费。一个比较典型的例子是开源软件Mongo DB。

  3. 自由技术(软件)即免费也开源。

  4. 自由技术(软件)对使用者开放的权限最大,导致开发技术(软件)的企业并不喜欢以自由技术(软件)这种形式来公开技术(软件),而更愿意选择使用开源技术(软件)或者免费技术(软件)的形式发布该技术(软件)。

公开+共享的进一步理解:开源既长期且可控

我们了解开源的本质是技术的公开+共享,但这对于我们来说并不够,因为这还是理论层面的归纳和分析,对于社会运行的实际影响并不直接。那么,我们不妨再深入说明一下开源对于社会的直接影响。

计算机技术(软件)发展到现在的阶段,有一个公共问题很明显,就是成本。

  1. 成本之一是对于技术(软件)代码的控制,而对于代码的控制,最有效的方法莫过于把代码公开到网络上,让所有人都可以对代码进行审查。仅把代码开放给一部分人,其意义并不大,因为技术开源的一个本质是大众无限审查,不是局部有限审查。

  2. 成本之二是代码的有效期。理论上开源技术(代码)只要存在,就可以无限期使用,因为使用者可以自行对技术(代码)进行更新/迭代,这表示理论上使用者可以永远使用开源技术(代码)。

  3. (这里的成本是指长期的综合成本,不是中短期的采购/维护成本)

从上面说明可以推论,开源技术(代码)能够长期在可控的条件下使用,可以最大程度的减少使用者的顾虑,这也符合社会基础设施所应该具备的基础特性。闭源技术(软件)在这方面是劣势的。

(长期并可控的结果需要适当的许可协议,不是所有协议都能做到技术(代码)长期可控)

开源本质的总结:

开源能够促进全社会的技术水平加速进步。

保护开源,等同于保护技术进步;而破坏开源,等同于阻止破坏技术进步。国内相关的法律在适用开源相关案例时,目前还在探索中,不过从加速技术进步的角度来看,在法律上保护开源,加大对开源知识产权的保护力度,有助于社会整体的进步。(这里提到的破坏开源,等同于阻止破坏技术进步并不是说技术不开源就是阻止技术进步,而是说对开源的技术或其开发团队进行各种破坏)

(当下,绝大多数开源技术(软件)仍然是由外国人开发的。对于中国,有些方面即使有开源技术(代码),短时间也很难赶上)

纯粹的资本所驱动的开源技术,成功安全比较少,因为技术开源本就不完全是商业活动或者商业行为,所以不能仅从资本角度考量。或者,如果仅从资本角度考量,技术开源的结果通常是以失败告终,这也是导致资本经常不看好技术(软件)开源的原因。

开源活动与商业活动的一个重要区别在于,开源活动通常会具有信仰属性,无法仅从经济/商业角度来解读。如果仅尝试从经济/商业角度解读开源,那表示还没有理解到底什么是开源。