长期以来,人们一直认为,技术特别是建设的基础设施,具有政治意义(Winner,1980)。随着互联网作为技术基础设施的主要形式的兴起,Lessig(1999)等人认为,软件代码具备与法律相似的调节力量。事实并非如此,虽然有很多开源软件(Open Source Software,简称OSS)非常重要,但是并没有证据表明开源软件本身就可以规范社会,除非从狭义上讲,构建和维护软件的开源社区必然受到其技术特性的制约。
另一方面,有无数平台和机构在日常工作中部署了开源软件,这确实对社会产生了调节作用。那些强大到足以与某些州匹敌的大型科技公司,很大程度上是建立在软件的“开放核心(open core)”之上的,同样也适用于较小的组织。OSS只是当代软件生产过程的一部分,并且无处不在。
最广泛使用的编程语言是开源的。OSS的一个很好的类比是,它是语言的集合,以及这些语言的文献作品。这些语言和它们的许多文献作品实际上都是公共领域的。对于英语、汉语、德语或印地语,我们可能会说同样的话。法律,正如我们在现代国家所知道的,是一种有目的意义的语言表达。它充其量代表着一种制度上的协议,该协议基于重复性约束行为,并诉诸于其内部逻辑。我们知道,法治取决于该语种社区的社会再生产。法律受到的约束更多的是哪种语言在制度上得到认可的问题;事实上,那些在制度上得到认可的词汇和短语就是法律。
让我们再次考虑是否可以用软件代码编写法律的问题。无论这是否可取,都暂且不谈。我之所以会接受这个想法,部分原因是我认为它是不可避免的,因为算法是现代理性的形式(Tuto和NiNo,2014)和理性的进化力量。用软件编写的法律需要用编程语言编写,而这几乎意味着它是在软件的“开放核心”上编写的。具体来说,人们可以用Python编写法律。
我们可以想象一个更加民主的结果。在一种更为宽松的状态下,软件法原则上是开放的、自然的。这里的定义变得有点棘手:“开源软件”的名称是版权和许可模式中的一个。版权法和许可证可以用软件写吗?换言之,软件法的“开放性”能否通过其自身的形式得到保证?这对计算机科学家和逻辑学家来说是一个有趣的难题。
我们现在讨论的是软件立法,而不是软件的执行。如果软件和语言的表达一样强大,那么运行该软件的已部署系统是世界上的活跃力量。这样一个系统包含了软件本身之外的很多东西,它需要计算机和网络基础设施,需要数据库中充满应用程序运行所需的数据。
软件规定了系统运行的内部逻辑。但这种逻辑只有在与外部社会形势相结合时才有意义。技术体系与其所参与的社会之间的隔膜,对于理解技术调节的可能性至关重要,正如法治与社会(我们可以说包括美国的选举制和法院)之间的隔膜,对于理解语言调节的可能性具有重要意义。