代码、法律和自由软件

劳伦斯·莱斯格是《Code 2.0》读书笔记

劳伦斯·莱斯格是“知识共享”(Creative Commons)的发起人,他本人是位法学教授,同时对互联网颇有研究。因此,在上世纪末互联网如火如荼的时候,他写了一本书《代码》(Code),针对当时网络上流行的互联网无政府主义观点应用法律常识予以反驳,莱斯格的观点很明确:网络不能自治,针对网络空间的规制一定会有,也必须有。

互联网诞生之初,网络空间的居民是自由主义的黑客,在这片虚拟的人类乌托邦里,理想主义者认为网络空间无需世俗法律或规则,正如黑客宣言中所宣称的:“我们拒绝:国王、总统和投票。我们坚信:基本的共识和运行的代码。”但人类也不是从一开始就有国家的,人类从无政府的蛮荒状态到国家政府的建立,经历过不断地探索的过程。人类一直在无政府的原初暴力和政府专制暴力中寻求平衡。当五月花号上的清教徒们建立公约,在登上新大陆后又建立国家和宪法。网络空间也不会只存在共识而没有法律规制,在初期只有一群志向相同并且人数不多的黑客时代,这种共识可以保持,但当网络空间的居民增多、背景各异,必然需要规制手段来解决冲突甚至是网络暴力犯罪问题。

在《代码2.0》中,莱斯格重申了网络空间必须规则这一观点,并阐述如何在网络空间做规制。现实世界存在四种规制类型:

规制类型 法律 社群规范 市场 架构
规制主体 国家 社会 社会 物理世界的自然法则
性质 主权者的命令 社会共同体的习惯 供求关系 世界的存在形式
约束手段 惩罚 声誉 价格机制 物理规则限制
对个体的约束效果 约束的有效性一定程度上取决于被约束者的知晓和认可 约束的有效性一定程度上取决于被约束者的知晓和认可 约束的有效性一定程度上取决于被约束者的知晓和认可 无论主体知道与否,约束都起作用

表格来源:https://book.douban.com/review/10101946/

这四种类型里,最后一种“架构”在现实世界里是不容易改变的,也就是说以“架构”来规制现实世界的是自然,而非政府或社会。前三种——法律、社群规范和市场则是政府和社会用来规制的三种有效手段。那么网络空间的规制手段是什么呢?首先看网络空间里存在的四道难题:

1、一个立法禁止赌博的国家,有人假设服务器提供互联网赌博服务,网络架构让互联网赌博难以受法律约束,因为政府无法判断服务对象的具体位置。

2、现实世界受制于自然规律,狗吃了有毒的花会死。而在网络空间里,自然规律是可以被代码修改的。玛莎为了宣示主权,种植了有毒的花,而花掉落到地上被邻居的狗吃了后,狗被毒死了。邻居就找玛莎理论:为什么不能修改代码?当花落到地面上后就无毒了。因此这里存在着一个边界的问题:什么时候应该修改代码?什么时候应该制定规则而当违反规则后惩罚肇事者?

3、FBI需要发布蠕虫程序对公民的电脑进行扫描来寻找NSA机密文件。如果FBI到居民家中搜查是需要向法官申请搜查令的,但是用蠕虫去搜查用户电脑则没有这样的负担,因为其搜查对用户是不可见的。问题来了,这是否违宪?

4、一个写性和暴力的网络写手,在现实中是一个普通的大学生,虚拟社区中的文字是否能给现实中的人定罪?现实社会中的法律能否管到虚拟世界的犯罪?哪个辖区的法院可以给他定罪?

《代码2.0》分别根据这四道难题所衍生的四个主题来展开阐述:

1、规制能力:在现实世界政府行使规制比较容易,而政府有效规制网络行为则比较难。这是因为规制者必须厘清:(1) 行为人是谁?(2) 行为人在哪里?(3) 行为人做了什么?受制于互联网的初始架构,要厘清这三点比较困难。

互联网初始的架构设计导致了用户行为不能够被识别。莱斯格提出了识别用户的网络架构的设想,包括身份、验证和信用证书的设计。实际上,这种识别用户的网络架构早已成为现实,政府可以轻松追踪到网络用户的网上行为。

2、以代码来规制:现实世界中,人与人之间的冲突解决主要是通过一方或双方行为的改变来化解(通过法律或其他规则手段)。但在网络空间中,却是通过修改自然法则(构筑网络空间的代码)来直接解决冲突。

前面提到四种规制类型,在现实世界中,“架构”不容易作为政府的规制手段,因为自然界的法则不可变更。但网络空间里恰恰相反,“架构”将成为政府最有效的规制手段。构建网络空间架构的基础是代码,通过代码来规制。因此,代码即法律,甚至比法律更有效,代码构建了网络空间的自然规律。书中举得一个例子是美国法律中有规定居民的低空权,如果无人机或其他飞行器闯入私人民宅上空15米高度内,那就属于违法;而在“第二人生”游戏中,这一法律条款复刻到了游戏中,只不过不是通过法律而是通过代码来实现规制,这一条规则被写入代码里,因此,在游戏中,你不能操纵飞行器闯入他人住宅上空15米内,就像是现实世界里的重力定律一样不可违反。

3、潜在的不确定性:现实社会的宪法在网络空间的应用有很多模糊地带,比如知识产权、隐私及言论自由。这需要我们甄别。

如果代码是法律,那么编写代码的人就是网络空间的立法者;如果编码人员为政府或私人公司工作,那么他们所属的政府机构或公司就成为规制网络空间的幕后力量。那这就会涉及不确定性的问题:知识产权、隐私和言论自由方面的问题如何界定和解决。先看知识产权,现实世界中法律保护私人财产的目的是为了促进生产,让作者更有动力投入生产。而网络空间中的知识财产不具有竞争性,即别人拥有知识财产并不妨碍你拥有,因此知识产权的法律保护应该是鼓励和促进知识的生产。传统的“保留所有权利”对知识作者有利,但不一定对整个社会的知识生产有利;但如果不保护作者权利,那知识作者也没有动力去创造。因此作者发起“知识共享”(Creative Commons)的目的也如是,为了在传统的“保留所有权利”(All Rights Reserved)和“不保留任何权利”(即公有领域 public domain)中获得平衡。这种 Copyleft的理念与RMS所倡导的自由软件运动所推崇的GPL软件许可证协议本质上是一致的。再看隐私,隐私的问题与知识产权问题类似,我们需要通过法律来界定隐私保护的范围,并且由用户来决定保留哪些隐私,这需要通过代码来实现。最后看言论自由,言论自由包括两个方面:对不当言论的约束和对言论自由的保护。而这又受到地域问题的挑战,比如,鼓吹纳粹的言论在美国合法,但在德国则违法。作者的观点是反对完全过滤言论,尽管网络的开放性导致虚假信息难以甄别,作者认为建立网络可信度最好的办法是博客,那些最优秀的博主就是业余记者,他们凭借着爱好报道全世界。当然我们需要建立更好的代码架构来解决比如维基百科的恶意篡改问题。

4、相互竞争的主权:网络空间里的用户是跨越地区的,而且网络空间服务器所在地与用户也可能不在一个区域。那么现实世界的哪个辖区才有管辖权呢?

只要现实的国家存在,那么国家之间的主权之争一定会存在。在网络空间里,这种问题尤为突出,除了前面提到的跨区犯罪的问题,还有网上居民迁移社区的问题,等等。作者认为,对于网络空间相互冲突的主权问题,需要建立一个代码化的国际公约,网络空间的居民需要共同尊重这一国际公约,并由代码架构来约束。

总结《代码2.0》即:网络不能自治,为了规制网络空间居民的行为,网络架构将不断完善。而代码则是规制最主要的能力,代码即法律,代码化的法律更有效,因为它就是网络空间的自然规律。写代码的人就是立法者,如何来保证网络空间的立法者不为政府或私人公司滥用?在现实世界中,法律是公开的,立法过程也是透明的。对应到网络空间,那就是代码开放和开源,或者更符合的RMS所倡导的自由软件运动。这样才能保证网络空间立法的公正性。

读完《代码2.0》我对RMS所呼吁的自由软件的理念理解更深了,也更加认同了。正如莱斯格在为RMS《自由软件,自由社会》一书所写的序言中讲的那样:

自由社会中的自由生活理想并不仅仅只是高效的分配。而是在开放和透明的前提下建立法律的限制,不能因为对领导人有利就加入相应的选项。由软件代码治理的生活也不能比这个更差。

读书 书评 自由软件 开源

知识共享许可协议 本文采用「CC BY-SA 4.0」知识共享许可协议,如果还喜欢其他文章, 欢迎订阅“胡涂说”博客
公众号
微信公众号同步更新,欢迎关注😊
对我博客最大的鼓励来自于你的评论,欢迎选择 来回复, 也可以在 GitHub discussion 留言。