Column 008|オープンソースの庭に、盗品を埋めるな——ARTEX、ユングの言い訳、葉隠の一刀|Open Source Is Not an Alibi
别把赃物埋进共同的花园 谈到开源,我会认真起来。有人发现,有人修复,下一个人在前人的成果上继续创造。知识因为开放,让一个人抵达原本到不了的地方。这种理想值得守护。 所以,有人践踏这座花园,偷走别人的数据,还把它
别把赃物埋进共同的花园
谈到开源,我会认真起来。有人发现,有人修复,下一个人在前人的成果上继续创造。知识因为开放,让一个人抵达原本到不了的地方。这种理想值得守护。
所以,有人践踏这座花园,偷走别人的数据,还把它称为技术成就,我会愤怒。大家一起挖的井,不是让你藏赃物的。
ARTEX:报道确认了什么
《日经》10月24日报道称,ARTEX开发者停止公开后,第三方仍通过修改既有副本将其用于攻击。这里依据读者提供的文章截图整理;我没有审计所有衍生版本及其许可证。[1] 微软21日也报告了Storm-0940利用ARTEX的攻击活动,并将该组织评估为与中国国家有关联的威胁主体。这是微软的归因判断,不能扩大为对中国人的指控。[2]
停止发布无法可靠地收回已经流通的副本。能力可能比作者的意图活得更久。这既不意味着全面禁止公开就能解决问题,也不意味着开发者从此无须负责。
不要拿黑客文化给窃贼授勋
Hacker在技术文化中,也指深入理解系统、巧妙创造与探索的人。Stallman的《On Hacking》讨论的正是这种富有玩心的创造力。[3] 新闻中hacker也常指入侵者。但本文选择用cracker——恶意破解者——称呼实施未授权入侵和窃取的人。这是保护文化尊严的用词选择,不是以为改个名字就能制止犯罪。
理解锁的结构,和搬走别人家里的财物,不该获得同一种掌声。
自由不是自动生产善意的机器
GNU于1983年宣布启动。共享软件的历史早于“开源”这个名称;1998年,这一名称与OSI相继出现。强调自由的软件运动,与强调开发实效的开源倡导有关联,却并不完全相同。[4][5] OSI的定义包含修改、再分发等条件,而不只是能够看到代码。[6] 因此,“仅供研究”的说明与严格的开源许可需要分别核实。本文不认证ARTEX每个版本都符合该定义。
允许修改代码,不等于允许进入别人的系统。
为什么有人滥用?在我看来,是利益、控制欲、认可欲或国家目的,与低复制成本和自动化相遇。分工越细,越容易说“我只做了一小部分”;交给AI执行,又多一句“机器干的”。这是对结构的分析,不是对具体攻击者的心理诊断。
不能因为自由不会自动产生善意,就放弃自由。更应该把责任落实进去。
先请荣格听听借口
荣格关于阴影和投射的讨论,为思考人如何回避自己不愿承认的一面提供了视角。[7] 以下是借用概念的虚构对话,并非荣格原话或临床结论。
虚构的恶意破解者:“世界不公平。我只是揭露弱点。”
荣格角色:“那么,为什么揭露变成了带走别人的数据?正义的语言,是不是把你自己的欲望藏起来了?”
企业权力、社会不公,都可以讨论。但把这些理由堆得再高,也变不出受害者的同意。我请荣格解释借口的结构,不是宣告无罪。心理上有原因,不等于可以把代价推给无辜者。
让这里的荣格角色驳倒借口,并不意味着我开始喜欢荣格。我依然反感借用他的名字和概念来引导人们的情绪和行为,也反感让个人的选择与责任变得模糊的叙事。别以为出场解释几句,就能赢得我的认可。
荣格先生,第一轮出局。
再翻开锅岛的书
给不熟悉日本历史的读者一个简短说明:**《叶隐》**是与佐贺锅岛藩有关的十八世纪初武士道著作。佐贺位于今天日本的九州。田代阵基记录山本常朝的谈话,于1716年完成该书。[8] 它产生于太平时代,讨论武士应如何生活,并非战国战场的实况记录。[9]
后世的佐贺藩吸收西方技术,在戊辰战争中使用近代装备。[10] 但这不能证明每位参战者都读过《叶隐》,更不能凭空建立阅读与作战之间的因果。我想接过来的,是把知识变成实际职责的态度。
以下同样是现代创作,不是《叶隐》原文:
虚构的锅岛藩士:“借别人劳动锻出的刀,伤害防守薄弱的人,再把善后丢给别人。你的担当在哪里?躲在便利工具后面的欲望,不配叫武勇。”
一刀斩落。斩的是逃避责任的说辞,不是人的身体。
我选择的现代解读,是自律、责任与守护,而非封建服从或死亡崇拜。同时也必须反问自己:如果只剩痛快地辱骂,我是否也沉醉于正义的装扮?
我们的武士道,要经得起恢复工作的检验
这里的战斗,是获得授权的测试、负责任的报告、修复、证据保全与受害者恢复,而非报复入侵或威胁。开发者要改善默认安全与滥用应对,运营者要验证权限与恢复能力,模型提供者要审视整个工作流程的滥用模式。各方应说明职责与能力边界。
作为投资者,我也不会把攻击增加直接换算成安全公司的利润保证。合同、人力成本、保险与赔偿、续约率,以及真正恢复服务的成绩,都要看。恐惧能够产生需求,却不保证利润。
把共享的知识,交还给守护他人的工作。这才是我愿意维护的开源理想。我不会把花园让给恶意破解者,也不会烧掉花园后宣布胜利。
开放源码。承担后果。唯独给借口预留的端口,该关了。