2019年春阅读笔记5——对开源的认知

  没有开源软件,如今的互联网根本没法存在,开源的历史能够追溯到ARPANET创建。开源在今天已经再也不是一个时髦的词了,对于互联网的开发者来讲,它如今就像空气和水同样,就在咱们的生活中。
现在的主流开源参与者,再也不只是我的爱好者,更多的是著名IT企业的员工,商业公司也纷纷支持。IT企业投入了大量人力在各个开源社区和项目上,包括开发测试,项目协调,运营推广等。
什么是开源?
开源软件被定义为描述其源码能够被公众使用的软件,而且此软件的使用,修改和分发也不受许可证的限制。开放源码软件一般是有copyright的,它的许可证可能包含这样一些限制:蓄意的保护它的开放源码状态,著者身份的公告,或者开发的控制。
简单的说,开源就是源代码开放和开源许可协议的选择。开源意味着用户能够免费运行,自由学习,免费二次分发以及自由修改改进。
开源许可协议及选择
开源许可协议大概有上百种,例如:
Apache License 2.0 (Apache-2.0)
3-clause BSD license (BSD-3-Clause)
GNU General Public License (GPL)
GNU Lesser General Public License (LGPL)
MIT license (MIT)
Mozilla Public License 2.0 (MPL-2.0)
Eclipse Public License (EPL-1.0)
...
可是,常见的开源许可大约10种,主要有相似GPL,相似BSDL和相似MPL等。
GPL
GPL给软件以版权保护,使用GPL,能够得到复制、发布和修改这些软件的法律许可。
GPL的特殊性是 copyleft 与自由的病毒式传播。在全部开源许可证中,GPL 的最大特点在于它的“copyleft”规则。 它严格地控制基于自由软件的集合做品或者衍生做品,GPL 第 1 条将其称为“基于程序的做品”,发布规则很简单,只要使用了 GPL 下的自由软件,那么衍生做品以及集合做品的发布都要基于GPL 之下。
相似的开源许可证AGPL、LGPL…等等,是一种相对理想的是实用主义。
BSDL
BSDL主要适用于 Apache 服务器和基于 BSD 的操做系统项目(FreeBSD、 OpenBSD、 NetBSD),不排斥对开源软件的商业利用,有实用主义的观点。
BSDL 的特殊性是被许可人的绝对自由,对被许可人作了最少的限制,只要尊重原做者, 合理恰当地标明了源代码的出处,被许可人将不受限制于将这些源代码用在本身的程序中而按本身的要求进行程序的发布和软件的许可、产生衍生做品后仅以目标码的形式发布,等等。这意味着能够从 BSDL 的开源软件中衍生出私有软件。
相似的开源许可证有Apache 、MIT等等。
MPL
MPL是1998年初Netscape的 Mozilla 项目组为其开放源代码软件项目设计的开源许可证。
MPL的特殊性是在开源软件许可证谱系中接近于 BSDL,但它带有强烈的商业化特征,为公司保留了至关的权利,至关于集开源之力,都为我所用。
相似的开源许可证 Apple 公共代码许可证(1.2)、Sun 公司的SISSL和 Sun 公共许可证 (1.0)、Nokia 开放源代码许可证(1.0a)、 IBM公共许可证(1.0)等等。服务器

相关文章
相关标签/搜索