一文读懂:什么是开源?
没有开源软件,现在的互联网根本无法存在,开源的历史可以追溯到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等等。
图片新闻
技术文库
最新活动更多
-
即日-12.26立即报名>>> 【在线会议】村田用于AR/VR设计开发解决方案
-
1月8日火热报名中>> Allegro助力汽车电气化和底盘解决方案优化在线研讨会
-
1月9日立即预约>>> 【直播】ADI电能计量方案:新一代直流表、EV充电器和S级电能表
-
即日-1.14火热报名中>> OFweek2025中国智造CIO在线峰会
-
即日-1.20限时下载>>> 爱德克(IDEC)设备及工业现场安全解决方案
-
即日-1.24立即参与>>> 【限时免费】安森美:Treo 平台带来出色的精密模拟
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论