昨天翻了一下vpn的相关法律,结果是——没有。

唯一一部接近的,还是《境外组织和个人在华使用密码产品管理办法》。但是这实际上有两个问题。

首先,办法对含密码产品的限制太过严格,而现在的密码学衍生领域又铺天盖地。这导致实际上有办法没管法。例如我们公司的产品,为了升级,就在系统里面放置了升级系统。为了防止升级系统升入非我们的代码破坏系统,又要对升级系统做签名验证。这实际上就一脚跨到了密码产品的范畴里面去。不过幸好,我们的产品本身就是涉密产品,有公安部的认证。但是其他需要在产品中包含了安全系统的产品怎么办?别的不说,你想想有多少软件链接了openssl?哪怕是python这种东西,都是链接着openssl的。从某种意义上说,使用python也违法。

其次,办法只限制使用密码产品,可一字没提到提供密码服务和帐号。大家知道,vpn实际上是帐号和服务,至于使用这些帐号和服务的具体“产品”,那是windows,ssh客户端这种东西。而windows是经过国家认证的。退一步说,即使没有,也是使用者和软件发行者需要对此事负责,而管不到账户提供者头上。

另一个有关的,是《互联网信息服务管理办法》。可办法开宗明义第一句,是在中国境内。要提供vpn服务,你的服务器必须是境外的,境内没意义。但是相应的,你不能在中国境内进行收费,否则就算违法。然而,如果免费帐号漫天发,这条法律依据也是靠不住的。

OK,我们常说中国立法远远落后于时代,我们又找到了一个例子。实际上,你在看中国法律的时候,往往大疑不解,为什么会有这种那种狗屁规定?那是因为那些法律的制定年代往往都是上个世纪。例如地图法规定,私自使用精度在一定范围以下(我记得是100米)的地图是违法的。我找不到这条的出处,不过测绘法是上个世纪颁布的。大概颁布测绘法的人不会想到,在短短15年后,就会有大量个人手持的高精度(<10米)定位工具出现。

至于互联网,托这几年比较敏感的福,互联网立法始终是重中之重。然而,大部分立法还是针对的web而言的。其中有条规定,服务提供商必须进行备案,然后在网站上公布其备案号,目的是方便公安机关管理。问题是,目前很多网站是没有web界面的,直接通过手机使用。有些网络服务连客户端界面都没有,例如vpn,你说怎么提供?服务商倒是不会介意弄个网站,把备案号贴出来。问题是公安机关怎么知道提供服务的供应商网站是哪个?

再说法理基础吧,不仅是中国,在世界上,对于网络和程序这块的法理都是一塌糊涂。我们首先说一个简单问题,什么叫做引用,什么叫做使用?

之所以在GPL之外还有个LGPL,就是因为,如果你在编译时直接使用了某个GPL库,就会被传染这个库的授权。为什么?这主要是针对C语言而言的。因为C在编译时,需要引用对方的.h文件。而对方的.h文件是基于GPL的,这就构成了引用。而针对python程序,你可以很容易的反射和动态加载,这又是否构成引用呢?如果编译时,使用自己反推对方头文件构成的.h文件,是否需要被传染授权呢?又例如,在kernel中的license中,明确说明了内核调用不属于引用。然而如果在程序内以变量形态包含了firmware,又是否算是引用呢?别的我不清楚,debian是严禁这类软件进入仓库的。

当然,这些问题对于欧美法系不是太大问题,因为一切都是来自判例,判例构成了法律。对于新出现的问题,只要诉讼,就等于在进行立法。然而对大陆法系而言,这就是个噩梦了。