恶法
大约一年前,我与另一位律师合作,试图修改马里兰州的 UCITA 法规,使其对开源更加友好。UCITA,《统一计算机信息交易法》,是一项旨在被所有州采纳的示范法典,以便软件许可法律的统一性。UCITA 提供了在软件许可协议遗漏基本条款时适用的默认规则。UCITA 的另一个目的是定义哪些许可条款违反公共政策,因此即使它们包含在许可协议中也不能强制执行。
在许多方面,UCITA 类似于《统一商法典》(Uniform Commercial Code,UCC)。例如,UCC 制定规则以防止商家将劣质商品强加于毫无戒心的公众。同样地,早期版本的 UCITA 声明,软件许可协议免除适销性和特定用途适用性的默示担保是违反公共政策的。
UCITA 要求,无论许可协议如何规定,许可方都必须提供担保保护,如果被许可的软件最终不适合其预期的普通用途,或者不符合其文档或营销材料中所做的承诺。
违反担保的损害赔偿可能是巨大的。在适当的情况下,被许可方可以就违反担保造成的任何损失、接受的软件与交付的软件之间的价值差额,甚至包括附带和间接损害赔偿进行索赔。
开源软件的制造者和分发者无法承担这些默示担保。如果软件连同源代码一起免费提供,那么开源许可方如何收回担保的成本?这就是为什么所有开源许可证都声明软件是按原样提供,且不提供任何担保。
马里兰州是少数几个采纳 UCITA 的州之一。马里兰州法律中的默示担保是开源社区无法接受的。在听取了我们的论点并为了纠正这种情况之后,马里兰州立法机构通过了以下对 UCITA 的修正案
如果满足以下条件,则[适销性和特定用途适用性]担保不适用于计算机程序:(1)源代码免费,(2)制作副本或使用这些副本免费,(3)修改免费,以及(4)再分发计算机程序免费。
UCITA 是逐州采纳的。为了避免零散地处理这个问题,开源社区的代表随后寻求通过对统一法典本身的修正案。马里兰州法规已提交给统一州法律全国委员会(National Conference of Commissioners on Uniform State Laws,NCCUSL),UCITA 的制定者,以供审议。
然而,NCCUSL 委员会通过的条款如下
(a)除非第(b)款另有规定,否则如果许可方在交易中免费提供程序的副本给被许可方,以获得使用、制作副本、修改或分发程序副本的权利,则[适销性和特定用途适用性]担保不适用于计算机程序。
(b)如果计算机程序的副本包含在商品中并作为商品的一部分出售或租赁,或者如果交易对象是并非软件开发者的消费者被许可方,则第(a)款不适用。
在第(a)款末尾将“和”替换为“或”,以及在该句子中省略了源代码必须可用的要求,是非常重要的更改。这意味着,即使微软像捆绑 Internet Explorer 那样,将其“免费”软件与收取许可费的软件捆绑在一起的公司,也有资格获得担保豁免,即使它们不满足任何其他开源软件的标准。这完全破坏了修正案的整个目的。
添加第(b)款是另一个危险的陷阱,容易让粗心的人中招。该款的第二部分意味着,当软件分发给其他软件开发者时,担保豁免是可行的,但是一旦软件分发给真正的用户或客户,就必须提供默示担保。多谢了,但还是免了吧!
2001 年 11 月 13 日,由 32 个州的检察长签署的全国检察长协会的一封信提交给了 UCITA 待命委员会。信中包含了对 UCITA 的总体批评,但没有包含任何旨在改进 UCITA 作为计算机信息合同适用法律的实质性修正案提案。该信实际上表明,不可能提出任何类型的修正案来改进 UCITA,使其成为计算机信息合同的合适法律。
只要 UCITA 没有充分解决对其公平性和有效性的担忧,包括开源社区的担忧,它就不太可能被足够多的州采纳,使其发挥作用。我们必须在各州保持警惕,以防止这项有缺陷的法律被采纳。
法律建议必须在律师-客户关系的过程中提供,并具体参考特定情况的所有事实和您所在司法管辖区的法律。即使本文由律师撰写,本文中的信息也不得用作替代从有执照的律师处获得具体法律建议的依据。
电子邮件:lrosen@rosenlaw.com
Lawrence Rosen 是私人执业律师,在加利福尼亚州洛斯阿托斯山和尤基亚设有办公室 (www.rosenlaw.com)。他还是开源促进会(Open Source Initiative)的执行董事兼总法律顾问,该组织管理和推广开源定义 (www.opensource.org)。