热门问题
时间线
聊天
视角
多重许可
根據允許接收者選擇授權條款散佈內容(例如軟體)的作法 来自维基百科,自由的百科全书
Remove ads
多重许可是一种在不同的许可证下发布同一个软件的方式。软件发行方通常采用两个或以上的许可证,或许可集。
当一个软件采用多重许可时,接收者可以选择他们愿意遵守的许可发布派生品。但软件包或库中存在多个许可证并不意味着接受者可以任选其一。在某些情况下,例如如软件包中有多个以不同许可证发布的软件,则接收者必须遵守所有许可证的条款。多重许可两个常见用途是解决许可证兼容性[1]和开源软件商业化。[2]
商业模式
对于商业公司而言,多重许可通常用于支持自由软件的商业化。这种情况下,软件会采用两种许可:专有软件许可证(允许创建专有应用程序)和Copyleft自由软件/开源许可证,软件通常以极低的价格或免费提供社区版本,并通过向商业机构出售专有许可证来获利。这种模式与共享软件相似。
在大多数情况下,只有著作权所有者才能更改许可,因此通常只有完全拥有软件著作权的公司才会采用多重许可。若非公司职员为软件增添了新代码,并以更宽松的许可发布它,可能会导致冲突:公司并不拥有新增代码的著作权,不能修改代码的许可,因此无法合法地将其合入软件本体中。多数公司会要求社区贡献者提交代码前签署贡献者协议,以避免上述问题。 [3]
自由软件公司可以使用多重许可来提供不同的服务。例如,可以为企业级用户提供个性化服务、提前发布稳定版、授予发布专有作品的权利,同时向所有人提供开源的免费版。这样,软件可以受到来自开源社区用户、黑客的贡献,这些贡献可以是修改源码、提升口碑、对专有许可用户的支持等。但是,若不尊重开源社区的贡献,如在许可证中增设不平等条款[4]、涉嫌窃取开源社区成果[5]等,则可能失去支持。
采用多重许可的软件包括NetBeans IDE 、MySQL、 Asterisk 、Berkeley DB 、 Modelio 、Ice 、 Magnolia CMS 、 JUCE 、 wolfSSL [6]和Qt开发工具包等。
多重许可的一个典型例子是MySQL。Oracle MySQL 有多个版本,MySQL 企业版[7]、MySQL 标准版、MySQL Cluster 运营商级版需要付费,以每月订阅形式提供许可。其他版本,如 MySQL 经典版、MySQL 社区版等,则可以免费使用,但有一些限制(采用GPL协议、仅提供社区支持等)。 [8]
Remove ads
许可证兼容性
多重许可可以保证许可证兼容性 [9],即允许用户选择不同许可证,合并不同自由软件的源码,绕过许可证冲突问题。
举例:
- Mozilla早期开发的软件,如Mozilla应用包、早期的Firefox和Thunderbird等,均采用三重许可分发源码,分别为Mozilla公共许可证(MPL)1.1、GNU通用公共许可证(GPL)2.0和GNU宽通用公共许可证(LGPL)2.1[10]。后续MPL 2.1修改了部分条款,使之与GPL兼容,不再需要使用三重许可。[11]
- Perl采用GPL、艺术许可协议双重许可。[12]
- Ruby的许可证明确包含了对GPL的双重许可。
参考来源
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads