在使用各种开源软件的过程中免不了遇到形形色色的开源协议,对于公司来说,是否商业友好是一个比较关注的地方。对个人来说,选择一个协议,也是对自己作品的一种保护。以下对常遇到的一些词汇和协议进行相关的简介。
Copyright的概念是为了限制他人任意使用创作物的自由。Copyleft则是为了保护这种自由而定义的概念。
版权是对计算机程序、文学著作、音乐作品、照片、电影等的复制权利的合法所有权。除非转让给另一方,版权通常被认为是属于作者的。大多数计算机程序不仅受到版权的保护,还受软件许可证的保护。版权只保护思想的表达形式,而不保护思想本身。算法、数学方法、技术或机器的设计均不在版权的保护之列。
Copyleft是一个由自由软件运动所发展的概念, 是一种利用现有著作权体制来挑战该体制的授权方式,在自由软件授权方式中增加 著佐权 条款之後, 该自由软件除了允许使用者自由使用、散布、改作之外, 著佐权 条款更要求使用者改作後的衍生作品必须要以同等的授权方式释出以回馈社群。
Apache Lience允许使用者修改和重新发布代码(以其他协议形式),允许闭源商业发布和销售。
要求
允许
禁止
GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
要求
允许
禁止
LGPL允许商业软件通过类库引用(link)的方式使用LGPL类库而不需要开源商业软件的代码。
要求
允许
禁止
要求
允许
禁止
EPL允许Recipients任意使用、复制、分发、传播、展示、修改以及改后闭源的二次商业发布。 Common Public License 1.0已被Eclipse Public License (EPL-1.0)替代。
要求
允许
禁止
BSD允许使用者修改和重新发布代码(以其他协议形式),允许闭源商业发布和销售。
要求
允许
禁止
MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者 。
要求
允许
禁止
CDDL是MPL的扩展协议,它允许公共版权使用,无专利费,并提供专利保护,可集成于商业软件中,允许自行发布许可。
要求
允许
禁止