在四大自由精神之下强化的GPL-3.0

--write by zhuwx 2019-06-24 20:57:56 +0800 CST

点击量:44

建立日期2007-07-30 07:30最近更新在2012-05-14 13:00作者是葛冬梅历时一年半的意见搜集与修改,GPL-3.0(注一)终于定稿,除了整体结构较为严谨外,也透过用词上的去区域化,加强了GPL-3.0 在不同国家司法管辖区域里,被合理解读的弹性(注二)。此外,GPL-3.0 相对于GPL-2.0 的重大修改如下:

  1. TiVo 相关条款:目前TiVo 产品的使用者,虽然可以取得程式原始码(Source Code) 修改TiVo 的控制程式,但在修改之后却会因为该产品的数位权利管理机制(Digital Rights Management, DRM),而让修改者无法继续使用该产品,针对此项议题,GPL-3.0 新增了下列的宣示内容:被授权人不可以利用任何技术,使得后续使用者无法行使GPL-3.0 所授与的权利,以Tivo 为例、若是其载入的是以GPL-3.0 授权的程式码,则使用者不但可以修改,亦可以在修改程式码之后继续使用该产品。
  2. 使用者产品(User Product):若GPL-3.0 程式是载入一般使用者产品后再进行散布,例如一般商店可买到的路由器(router) 中,若是有使用到GPL-3.0 授权的程式码,则商业性贩售这个产品时,除了必须提供产品运作的程式原始码外,还必须进一步提供这些程式码的安装资讯,让产品的买受人与后续使用者可以有研究与修改程式的机会。
  3. 附加条款(Additional Terms):被授权人在一定范围内可以添加GPL-3.0 本文以外的六项附加条款随同条款本身一并散布,这些附加条款将被视为该专案授权规则的一部分。而这些附加条款的内容,部份是授权人给予的额外允许(additional permission),后续的散布者可以视需求就其一部或全部移除之,而部份的附加条款则可能是附加条款的添附者,所预先设定的移除条件,后续的散布者亦可以在符合这些条件之后再将其进行移除。
  4. 复权规定(Reinstatement clause):GPL-2.0 仅规定若未遵守GPL-2.0 的授权规则散布程式,则被授权人因GPL-2.0 所取得相关权利将会嗣后终止,GPL-3.0 就此议题,更进一步规定了权利终止之后的复权方式。
  5. 专利授权条款:GPL-3.0 就专利议题有大幅度的著墨,其律定GPL-3.0 授权程式的开发者与后续修改者,若是将专利技术写入GPL-3.0 授权程式,则此专利技术便将随同程式,一并以GPL-3.0 的方式授权予该程式的使用者,使用者将可以依照GPL-3.0 的使用规则来利用这些专利技术。此外,GPL-3.0 亦针对MS – Novell 类型的专利相互授权协议模式有所因应,其规定2007 年3 月28 日之后订立的这类授权协议,并不能实质影响到GPL-3.0 授权程式的利用与散布。
  6. Affero GPL-3.0:自由软体基金会(Free Software Foundation, FSF) 于推出GPL-3.0 授权条款之际,也同步进行了Affero GPL(注三) 授权条款的修改,为了让此两份条款可以相容,因此GPL-3.0 与AGPL-3.0 在条款内容中均规定:若将GPL-3.0 与AGPL-3.0 授权的程式合并在同一个专案中进行运作,则原则上GPL-3.0 与AGPL-3.0 授权的程式之间并不会产生授权冲突,也就是说,原先采用GPL-3.0 授权的程式,依旧使用GPL-3.0 的方式授权,而原先采用AGPL-3.0 授权的程式,亦保留其使用AGPL-3.0 授权的模式。
  7. 远端利用模式的明示容许(Application Service Provider, ASP):GPL-3.0 明订业者透过网路提供服务的行为,明确地排除在程式码散布的定义之外,因此类似Google 搜寻引擎这样透过网路提供程式服务的行为,依照GPL-3.0 的规定,是可以不用提供程式原始码给网站使用者的(注四)。不过部份FSF 的参与成员,其实并不是十分赞同此种透过ASP 方式利用GPL 授权程式,却主张不需要提供该服务程式原始码的行为,这些参与成员除了表示会持续观察Google 与其他业者这类的利用行为(注五)之外,更同步推出了AGPL-3.0 来让自由开源专案的开发者及贡献者,就此议题可以有表态与选择的自由,总体上来说,AGPL-3.0 的授权内容与GPL-3.0 如出一辙、几近完全相同,但是在远端网路利用行为上(Remote Network Interaction),特别于第13 条律定,如所取用的AGPL-3.0 授权程式已经过修改,那么网路让使用者存取服务的行为,将视同已经该程式的程式码进行散布,而必须应使用者的需求,额外提供此一AGPL-3.0 授权程式的程式原始码。

综上来看,专利条款与复权规定是笔者认为GPL-3.0与GPL-2.0相比最重大的改变,因此以下将就这两点为主来介绍GPL-3.0。

【GPL-3.0新增专利授权及防止变质商业协议的相关条款】

依据GPL-3.0第11条前3项的规定,GPL-3.0程式的原始作者及其后续的贡献者,若是将自己的专利技术写入GPL-3.0授权的程式码中,则此专利技术将与程式的著作权,一并以GPL-3.0律定的方式授权出去,这样的内容让GPL-3.0,从过往单纯的著作权授权条款,转变为兼具有专利授权性质的条款。不过上述的授权模式,只能在GPL-3.0授权程式的著作权人与专利权人合一时发挥作用,并没有办法一并处理到「第三人专利」的问题,因此若是GPL-3.0程式的开发者与贡献者将他人专利技术写入GPL-3.0的程式码里,一样会发生专利授权不足的争议,让此程式后续不能完全依照GPL-3.0的相关规则,被使用者自由地修改与散布,针对这个问题,GPL-3.0亦同步加上了一条宣示条款,那就是专利技术的写入者必须采取相关措施,以处理第三人专利方面的问题,例如、洽询此第三专利权人向其取得专利授权的允许,或是置换掉可能涉及他人专利技术的程式码,透过这样的方式,GPL-3.0程式的后续使用者,才可以无虞地继续依照GPL-3.0的授权规则来利用程式,而不需要担心因为使用程式,而会造成侵害他人软体专利权利的后果(注六)。

GPL-3.0 第11 条第6、7 项是另一项引起大家重视与讨论的内容,这项内容是在GPL-3.0 草案第三版才加入的,特别针对MS – Novell 一类的大型商业公司,对GPL-3.0 授权程式所可能额外缔结的商业协议内容来进行编撰,目的在于预防MS – Novell 这类商业协议,在未来进一步影响到GPL-3.0 授权的程式码,没办法完全依照GPL-3.0 预设的授权内容来被利用。GPL-3.0 这两项的规范内容较为复杂抽象,简单来说,第6 项明示规定,若是GPL-3.0 程式的散布者,授与专利权给某一特定后续使用者,可以使用、修改或散布某一内含此专利技术之GPL-3.0 程式的权利,那么这个专利授权将会自动延伸到此程式后续的收受者与使用者,所以若是Novell 先由MS 端取得特定专利技术的授权,这些技术也被写入其散布的GPL-3.0 程式里,那么后续由Novell 端收受GPL-3.0 程式的使用者,也就能够一并透过GPL-3.0 授权条款,取得这些专利技术的使用授权;第7 项则是规定GPL-3.0 程式的散布者,不可以与其他第三人签订违反GPL-3.0 授权内容的商业协议,假设Novell 与MS 签订了互不控诉对方专利侵权的商业协议内容,但此商业协议缔结的内容,却包括Novell 必须抑制其本依GPL-3.0 可以行使的权利的话,那么GPL-3.0 明示这是违反GPL-3.0 的授权预设,会 致该缔约者虽手持GPL-3.0 授权程式,却无权继续重制散布该程式,或是失去将此程式与其产品合并编译释出的地位。

GPL-3.0这样的新增规定是否有达到预防不当利用GPL-3.0授权程式的目的,似乎可以从微软近期的措施中窥知一些端倪。在FSF发布GPL-3.0定稿后约一周,微软发布一份声明,表示为了防止法律争论与衍生争议,所以未来由Novell所发出的支援证书中,将不包含与GPL-3.0相关程式码的支援与升级(注七)。由此可知,无论各方如何解读微软的这项举动,至少代表着GPL-3.0这些新增的专利规定,确实有相当程度的影响力,让微软不得不在商业协议策略上有所变动。

【GPL-3.0述明授权终止与复权方面的进一步规定】

若依GPL-2.0的文义解释,当被授权人超出授权范围,以不符合GPL-2.0预设规则的方式运用程式,则其本依GPL-2.0所能享有的权利将会自动终止,但其并未接着叙述依GPL-2.0终止的权利可否恢复,或后续应该如何恢复。GPL-3.0就此议题则有较为详细的规范,其第8条进一步说明权利终止后的复权程序。简要来说,若被授权人自动修正所有GPL-3.0程式的瑕疵散布行为,则其本来依GPL-3.0失权机制已经终止的使用与散布权利,便暂时性的恢复,而若此修复行为在过后60天内,该GPL-3.0授权程式的权利人,并未对瑕疵散布者发出不得复权的明示通知的话,则之前的瑕疵散布行为便确定被治愈,瑕疵散布者本来依GPL-3.0失权机制已经终止的使用与散布权利,便永久性的恢复。再者,如果该瑕疵散布的状况,是由GPL-3.0程式的权利人主动通知散布者,并且该散布者也是首次被这个权利人告知,其对GPL-3.0授权程式的不当利用行为的话,那么散布者如果可以在被通知后的30天内,便及时修复这个瑕疵散布状态的话,则亦可以永久性的恢复,本依GPL-3.0失权机制已然终止的使用与散布的权利与地位。

最后,GPL-3.0 文末也加上了一段文字,说明FSF 修改GPL 的基本立场:为了因应不同时代产生的问题与争议,FSF 将会与时俱进地修改GPL,但是其精神将不会有太大的改变。因此虽然经过这么长时间与激烈的讨论,GPL-3.0 也确实新增修了许多与前不同的内容,但是在本质上与GPL-2.0 并没有太大的差异,仍是朝着实践四大自由的方向前进。不过这毕竟是个新的版本,其中的修改与各界所担心的问题,包括:TiVo 相关条款、产品使用者条款、专利条款以及与GPL-2.0 程式的相容性等等,将会引发什么样的效应,尚需时间加以观察。


注一:GNU General Public License v3.0,英文原文内容:https://www.gnu.org/licenses/gpl-3.0.html

注二:例如,不用「reproduce」,而采用「propagate」,并且以「convey」代替「distribute」。

注三:GNU Affero General Public License,其在GPL-3.0的基础上略加修改成为Affero GPL-3.0,两者相关条文均为第13条。

注四:关于ASP利用自由开源软体所引发的争议,请见:葛冬梅, ASP与自由开源软体的散布条款:https://www.openfoundry.org/index.php?option=com_content&task=view&id=494&Itemid= 14,自由软体铸造场电子报,第70期。

注五:相关新闻:https://news.cnet.com/Free-Software-Foundation-releases-GPL-3/2100-7344_3-6194139.html?tag=item

注六:关于自由开源软体专利的进一步资讯,可参照,林诚夏,备位启动的自由开源专案软体专利,https://www.openfoundry.org/tw/legal-column-list/8498-standby -software-patent-free-and-open-source,自由软体铸造场电子报,第185期。

注七:相关新闻:https://news.com.com/Microsoft+tries+evading+new+GPL+grasp/2100-7344_3-6195278.html