拥抱开源¶
互联网和开源就像是一对如影随形的孪生兄弟, 现在大家常用的计算设备(手机、个人电脑等)使用的 POSIX 标准 中的 套接字 几乎就是 BSD 套接字的同义词( 参考文档 , 维基百科 )。
没有开源软件,互联网不可能发展的如此之快、普及的如此之广(早期的软件都很贵,浏览器 (网景) 甚至是收费软件), 没有互联网,开源软件也不会生机蓬勃(毕竟分享代码就需要网络), 互联网和开源软件一直是相互依赖, 共同进步。
早期互联网的精神是:
自由
分享
而开源软件的优势则多加了一个:
信任
如果无法检查源代码,我们怎么样才能 相信/审计 它的安全性?
备注
开源软件天生就保持了: 自由 和 分享, 因为你总可以按照自己的需求去修改和发布它。
在互联网安全事件层出不穷的今天,软件的安全问题尤其令人担忧。
基础软件安全性甚至有可能影响国家安全。
开源和商业并不冲突?¶
RedHat 和 Elastic 公司的核心产品都是开源的, 这不仅没有给他们的商业化带来问题, 反而给他们的商业化增加了助力。
因为他们的产品是开源的,政府、企业很容易就可以信任他们产品, 并且可以根据自己的需求去定制。
备注
很难想象一个公司需要付出多么高的成本去定制 Windows 的一个功能, 但是对于以 Linux 或者 FreeBSD 为核心的操作系统来说,很多大中型的企业都会去定制。
例如: 索尼的 PlayStation 4 基于 FreeBSD, 各个厂商(华为、Vivo、小米等)的 Android 操作系统都是基于 Linux
什么时候不应该开源?¶
如果软件具有以下特性:
专一性
机密性
则不应该开源。
开源需要人去维护(维护是有成本的),专一性的仅对自己有用,开源不会产生额外的价值。
而具有机密性的软件更不用说: 仅仅是公开源代码都有可能是犯罪行为。