开源的本质→公开+共享

开源的本质是公开+共享,这一点有时候可能会被大家忽略。

传统商业模式是拒绝公开共享的。

我们可以对传统商业模式做一些简单的归纳:

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

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

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

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

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

以上这些内容之所以被传统商业模式拒绝,全部是基于赚钱的考虑,即有助于企业盈利。

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

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

请以中性的角度来理解传统商业模式,尤其是不要贬低传统商业模式。我们这里只是在探讨开源软件的特点,而不是在哪个“更好或更不好”。

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

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

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

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

  1. 自由软件即免费也开源。

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

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

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

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

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

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

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

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

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