离析是个啥?

这是一个偶然想到的新栏目名字,确实想理解的话可以通过拆字来解释。这个词其实挺适合近几年的大趋势的,全球化似乎玩不下去了,更多的人开始思考中心化的问题。引用一个我之前其实很不想引用的句式,“哪有什么岁月静好”,只不过时候未到。

声明:不是律师,本文跟法律有关的分析纯属瞎扯。

GDPR 是个啥?

各国的互联网用户这几年开始见到越来越多的网站问你要不要饼干(Cookies)、越来越多的应用文绉绉地要你同意隐私协议,这是为什么呢?隐私保护法律的跟进是一大原因,起点就在 2018 年,欧盟的 GDPR 开始实施了。

你会想问,为啥一个欧盟的法律搞得全世界都开始行动?的确,这部欧盟法案理论上只会保护欧盟用户。法案里面的用词是 natural persons、data subjects(这个概念似乎是指人),并没有对处理这些数据的组织的范围做规定。有人的理解是,只要互联网产品/服务对欧盟提供、适用欧盟法律,就需要合规。一个更准确的说法是:欧盟居民。

对比一下将在 2020 年实施的美国加州版 GDPR——CCPA,对这些保护措施的适用范围就做了详细的规定:在加州盈利超过了一定标准的服务提供者,需要按法律对加州用户的数据负责。

这么说,还是跟我们非欧盟居民没什么关系,但互联网服务者们对 GDPR 就头大了。

GDPR 保护的具体数据范围写得特别模糊,一个“个人识别信息”的定义,连律师都很难说清某一样东西算不算(比如访问日志里的对方 IP 地址)。

GDPR 保护的权利也非常多,指定人员负责什么的我们不提,即便普通站长们都不会干“转移资料”、“卖大数据”之类的操作,涉及到最基本的一样就是“遗忘权”:数据主体有权要求数据保存者删除自己的个人信息。不存不就行了吗?但是

《中华人民共和国网络安全法》第二十一条(三)项规定:采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。

这么说起来,除非多主体、分散地域服务,否则这合规风险可真是不小。一种很简单的解决方案是,不对欧盟用户提供服务

软件镜像站的困境

说到软件镜像站,可以理解为它是一个中转仓库。下单购买了一个软件,会从全世界各地的仓库发货,发给有需要的用户。那么,到底是哪个仓库发货呢?是什么因素决定的呢?

以前这个问题可简单了。最粗暴的设计是随机分配,全球发货,反正又不是不能到。一种简单设计是,客户端上存好一个镜像站列表,全部测一遍速度,哪个快选哪个,根本不需要考虑客户在哪的地域问题。现在有了合规问题,要是还是靠测速选择甚至随机,镜像站除了主动屏蔽,对找上门来的欧洲用户毫无办法。

是真的吗?数据为证

你会想,真的会有欧洲用户千里迢迢跑到世界另一端来求资源吗?我之前也觉得数量应该很少,最多应该只有一些中国人怀旧罢了。直到中国的清华大学 TUNA 镜像站发布了网站访问日志,终于能拿数据说话了。

TUNA 的镜像站是中国 Top 2 的高校镜像站,镜像了多达 159 个资源、空间占用多达 75 TB。他们的访问日志数据量还是非常大的,我随机抽了一天的日志(20191120),解压后的原始数据累计起来都能有上 GB。

由于 TUNA 对日志做了 IP 模糊处理,我只能姑且相信这种情况下 MaxMind 的 GeoIP 解析结果不会差得太远。我会认为,IP 解析结果超过 14 个国家的情况,就属于是软件无意或主动地把欧洲用户请求导流到了 TUNA。

分析发现,这一天的日志里,欧洲的 IP 来源占全部请求的 0.86%(120,206/14,058,670)。我刚好也获取到了某一流大学的镜像站访问统计结果,欧洲 IP 的占比也在差不多 0.7% 的样子,所以这个结果应该还算对头。

通过将所有的数据导入到 Elastic Stack,可以看到各个项目招来欧洲用户的程度。我仔细分析了一下,还是挺有意思的。

Deepin

这是一款中国武汉公司开发的 Linux 发行版,国外也小有名气了。来自欧洲的客户端标识(User Agent)标记为 apt 或者 detector(官方的包管理器)的请求就有 3591 次,来自 2322 个 IP 地址,一个仅供参考的国家数是 37。

我特意装了下 Deepin 查看,官方自带的包管理器的仓库地址是 packages.deepin.com,在海外会被解析到 de-user.deepinid.deepin.com,的确不会出现往国内回流的情况。不大清楚访问 TUNA 的这些是什么情况。

那么,这台位于德国的服务器,会遵守欧盟法律吗?我又仔细看了看 Deepin 的隐私政策,似乎更多地在提他们的需要注册账户的服务的隐私情况,对于系统更新方面并没有提到太多,不过的确提到了他们需要遵守中国法律。

我几周前用中文向 Deepin 官网上标记的邮箱多次发信,询问他们关于高校镜像站被欧盟用户访问的意见,截止发稿前,没有收到任何回应。

其它几个操作系统

出现在我视线里的操作系统还有 archlinux、manjaro 和 alpine。

来自欧洲的 archlinux 的 pacman(官方包管理器)客户端标识请求有 2121 个,503 个 IP,大概来自 29 个国家。他们的服务器位于德国,该 GDPR 的吧。

我安装了下 Archlinux,系统里默认的包仓库列表,是安装包发布时官方一个测速工具生成的,会根据官方服务器当时的测速结果排序,系统会按这个顺序访问。一旦网速爆表,国内服务器拍到列表顶上也不是不可能。

同样来自德国组织 Manjaro GmbH & Co. KG 的 manjaro 则更神奇,访问这个项目的请求绝大部分都没有客户端标识,3282 个欧洲请求,717 个 IP,大概来自 25 个国家。请求没有客户端标识这个是让我感到最迷惑的事情。

我又跑了跑 Manjaro,系统里的包仓库列表是安装时联网生成的,目前的算法是,从官网抓取能用的镜像列表,然后随机挑 5 个,再测速排序。那不管在世界哪里,都很容易抽到中国服务器了啊。

最后 alpine 也很神奇,访问这个项目的不少请求的客户端标识是 Wget,134 个欧洲请求,130 个 IP,大概 21 个国家。这个请求数量并不多,但国家之广阔就很迷。作为一个来自荷兰的项目,他们项目网站的隐私条款是这么写的:

We do not process personal data on this site. We do not collect cookies.

好吧,你们不处理个人数据,镜像站还是要处理的吧。看这个数据,我还是挺相信 alpine 不会把欧洲用户主动送给镜像站的吧。

几个开源仓库

remi、repoforge、elrepo 这几个属于分发软件的小市场,大部分专注维护 RedHat 系的软件。他们为啥会存在呢?因为有的软件官方不会包装成可以直接在某种系统上安装的安装包,有的可能也更新得不是很及时,小市场的编译效率有时候还挺高的。

这几个仓库的流量也不小,来自欧洲的分别有 1344、2269、2442 个请求,近千个 IP 地址、20 多个国家,覆盖范围还是不小的。这些仓库通常会自己维护一个镜像的列表,客户端下载软件的时候就从这个列表里找服务器,我也不清楚他们是怎么找服务器的,但看起来有点随机就是了。要说明的是 remi、elrepo 源站分别是法国、英国服务器。

OSMC

OSMC 对我来说是个还挺陌生的名字,直到我查了下,才知道这个操作系统包装了 Kodi 这个家庭媒体播放器,而 Kodi 的前身是 XBMC。噢,原来是这货。访问这个项目的来自欧洲的用户里,基本上都是访问 download.osmc.tv 然后被跳转访问 TUNA 的,请求有 4919 次,来自 3323 个 IP 地址,一个仅供参考的国家数是 34。

OSMC 的背后是一个英国实体 Sam Nazarko Trading Ltd。虽然英国脱欧这事还没完,但隔壁的这种大法规难道也不需要理睬了嘛。

videolan-ftp

VideoLAN 这个组织是 VLC 视频播放器的维护者。访问这个项目的来自欧洲的用户里,客户端标识基本上都是“Mozilla/4.0”,看起来是软件自动更新的样子,请求有 2677 次,来自 1422 个 IP 地址,一个仅供参考的国家数是 33。

VideoLAN organization 来自法国,同样我不是很理解为啥他们能发生这种事情。不过我下载了下 Windows 的 3.x 版本 VLC,完全没有看到“Mozilla/4.0”的请求,他们请求的也是自己在法国的服务器,那我猜可能是旧版本的请求或者是第三方的请求了?

crystaldiskinfo

OSDN 这个项目的访问次数也很有意思,不少欧洲请求是在下载 crystaldiskinfo 这个软件。客户端标识那边写的是“Mozilla/4.0”,看起来又是一个标识乱写的自动更新,请求 193 次,IP 140 个,大概来自 17 个国家。不过我下载了下 5.x 版本的 crystaldiskinfo,并没有什么自动更新的请求。我猜那就是第三方更新程序了?

OSDN 托管站和 crystaldiskinfo 这软件都来自日本,其实用户应该会意识到自己下载这款软件是跟欧盟关系不大了。但 crystaldiskinfo 的隐私条款真的很直接就是了:

Crystal Dew World does not collect your privacy information.

大家怎么看

这几天正好在 v2ex 论坛上,有人提到了这个问题。我们来摘取网友的说法(如果需要撤下请务必联系我)。

Raymon111111 说:

欧盟隐私法太严格, 那边用户收益 /产出比不大的话就干脆直接关站了

这个法律最初意图打压 google 这种大企业, 最后适得其反, 因为小公司承担不起如此严格法律带来的成本

llvm98 说:

随手一查,主流做法是网站墙 GDPR 用户,而不是什么 ISP 墙网站。
https://www.bloomberg.com/news/articles/2018-05-25/blocking-500-million-users-is-easier-than-complying-with-gdpr

如果你和欧盟那边没什么业务联系,我觉得你没必要担心这个
https://www.reddit.com/r/gdpr/comments/8k3op7/im_in_the_us_who_fines_me_and_what_if_i_dont_pay/

但就算是有业务联系,罚款金额也是基于年盈利的,那么如果你没盈利的话……
https://www.gdpreu.org/compliance/fines-and-penalties/

我想插一句补充说明的是,我相信这个年盈利跟业务无关,只跟是哪个组织有关,所以如何界定盈利还是很迷的。惩罚大公司的角度,肯定是越多越好了。

imn1 说:

问题是不会有这样的罚单,GDPR 没有域外权限,开域外的罚单本身就违法啊

我这样说并不是我熟知 GDPR,是因为我认识一个洋人(在美),就有类似的业务
他开了一个西班牙语和葡萄牙语的服务,但只是面向南美洲,而且服务实行也在南美,跟西班牙 /葡萄牙本土的人无关
他就没有鸟 GDPR,服务协议上就注明了只受当地法律(指南美的国家,不同国家协议不同)监管
他说就算他想也做不了,部分国家法律和 GDPR 一些条款是冲突的,细节我就没追问了

迷的法律和分区的互联网

一直以来,因为网速的问题,互联网会有地域的区分,但正由于互联网的通透,很多互联网用户跨区玩耍,只要和气生财,大家都会欣然接受。几十年前大家说的互联网地球村就是这么来的。

慢慢的越来越多的东西上了网,由于各种各样的原因,问题就变得复杂了起来。各种音乐出了国就版权限制、Blogger 分域名屏蔽内容,都是分区的体现。但一直以来,这道硬墙只限于网站提供的内容,不至于涉及到普通访客。

GDPR 这一起来,割裂就明显了一些,迷的法律变成了一道软墙四处弥漫。有的国家说 IP 地址不算个人信息不用担心,但欧盟其他 20 多个国家可还没这样的判例呢。保守一点吧,就变成了美国组织的法务拒绝划唯被抗议;宽容一点吧,就怕有人拿着法律“当挡箭牌”。可能直到有一天,每一家全球服务都要强制分区,软墙之外只能恕不接待了吧。但是,又会有多少人在乎呢?

开源社区的那股自由的劲,跟 GDPR 比一比,看起来格格不入,我们何必要在乎你属于哪里、在不在欧盟。但仔细一看,GDPR “拒绝互联网数据霸权”,似乎跟去中心化又有点和谐。

那个理想的全球化互联网,看似在离开,实际上,或许只是比我们想得要复杂得多罢了。

附件:一张表格

folder resource count country IP Entity
deepin 都是apt或detector 3591 37 2322 CN
osmc Referrer: download.osmc.tv 4919 34 3323 UK: Sam Nazarko Trading Ltd
videolan-ftp “Mozilla/4.0” 2677 33 1422 FR: VideoLAN organization
remi urlgrabber/3.10 yum/3.4.3 1344 32 705 FR
repoforge */repodata/repomd.xml 2269 31 1999 Open
archlinux pacman UA 2121 29 503 Open: server in DE
manjaro 没有UA 3282 25 717 DE: Manjaro GmbH & Co. KG
elrepo 全是yum的UA 2442 23 2001 UK
alpine Wget 134 21 130 NL: https://alpinelinux.org/privacy-policy.html ???
osdn /osdn/crystaldiskinfo/ - UA: “Mozilla/4.0” 193 17 140 JP: https://crystalmark.info/en/information/privacy-policy/ ???

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)