Forwarded from 玄机秘阁
忙总文集v2.1.doc
2.8 MB
忙总真名文小芒,网名:wxmang,曾是西西河论坛的知名大V。2009年养病期间接触网络,在西西河论坛上发布了大量优秀帖子。
1962年9月出生,遵义人,16岁考入中科大应用数学系,21岁在中科院系统所做副研究员,在海航、鞍山信托、中投任过职。行政级别最高到正厅级,有管理大型企业的经验,知晓众多体制内规则与内幕。
忙总已出版书籍:
《忙总管理笔记》(全3册) 是基础管理知识和管理感悟。
《忙总管理笔记:企业运营实战案例》 是从一个总经理的视角,呈现企业管理的全过程,让读者认识和理解管理是什么。
忙总以前的帖子可在下列网站上看到:http://www.talkcc.com/user/wqnsihs/
注: 忙总离开西西河时,把网名乱改为wqnsihs
#资料 #国情 @zahuopuzi
1962年9月出生,遵义人,16岁考入中科大应用数学系,21岁在中科院系统所做副研究员,在海航、鞍山信托、中投任过职。行政级别最高到正厅级,有管理大型企业的经验,知晓众多体制内规则与内幕。
忙总已出版书籍:
《忙总管理笔记》(全3册) 是基础管理知识和管理感悟。
《忙总管理笔记:企业运营实战案例》 是从一个总经理的视角,呈现企业管理的全过程,让读者认识和理解管理是什么。
忙总以前的帖子可在下列网站上看到:http://www.talkcc.com/user/wqnsihs/
注: 忙总离开西西河时,把网名乱改为wqnsihs
#资料 #国情 @zahuopuzi
Forwarded from Apple Nuts (Hackl0us | 忽略所有私聊)
🐼🎒 四川健康码的秘密
四川的健康码「四川天府健康通」对注射疫苗的设计与其他城市不同,没有在二维码的颜色和标记上做文章(盾牌、金色)
未注射疫苗时,健康码的横幅图是两只熊猫戴口罩趴着(如图1),提醒大家需要佩戴口罩。
完成全部针剂疫苗注射后,健康码的横幅图会变成四川的各种景点,熊猫摘掉了口罩到处旅游。
每个人的熊猫可能在不同的地点旅游,目前我的熊猫在宽窄巷子旅游,同事的在三星堆旅游。
我用 MITM 解密了流量,把所有景点都抓出来了。熊猫目前活动范围是 12 个景点,其中还包括三星堆、成都的新机场——天府国际机场
真是一只时尚的熊猫,没有来过成都的朋友们,可以把它走过的景点当作参考 🥳
四川的健康码「四川天府健康通」对注射疫苗的设计与其他城市不同,没有在二维码的颜色和标记上做文章(盾牌、金色)
未注射疫苗时,健康码的横幅图是两只熊猫戴口罩趴着(如图1),提醒大家需要佩戴口罩。
完成全部针剂疫苗注射后,健康码的横幅图会变成四川的各种景点,熊猫摘掉了口罩到处旅游。
每个人的熊猫可能在不同的地点旅游,目前我的熊猫在宽窄巷子旅游,同事的在三星堆旅游。
我用 MITM 解密了流量,把所有景点都抓出来了。熊猫目前活动范围是 12 个景点,其中还包括三星堆、成都的新机场——天府国际机场
真是一只时尚的熊猫,没有来过成都的朋友们,可以把它走过的景点当作参考 🥳
《命运赋》
天有不测风云,人有旦夕祸福。蜈蚣百足,行不及蛇;雄鸡两翼,飞不过鸦。马有千里之程,无骑不能自往;人有冲天之志,非运不能自通。
盖闻:人生在世,富贵不能淫,贫贱不能移。文章盖世,孔子厄于陈邦;武略超群,太公钓于渭水。颜渊命短,殊非凶恶之徒;盗跖年长,岂是善良之辈。尧帝明圣,却生不肖之儿;瞽叟愚顽,反生大孝之子。
张良原是布衣,萧何称谓县吏。晏子身无五尺,封作齐国宰相;孔明卧居草庐,能作蜀汉军师。楚霸虽雄,败于乌江自刎;汉王虽弱,竟有万里江山。李广有射虎之威,到老无封;冯唐有乘龙之才,一生不遇。韩信未遇之时,无一日三餐,及至遇行,腰悬三尺玉印,一旦时衰,死于阴人之手。有先贫而后富,有老壮而少衰。满腹文章,白发竟然不中;才疏学浅,少年及第登科。深院宫娥,运退反为妓妾;风流妓女,时来配作夫人。青春美女,却招愚蠢之夫;俊秀郎君,反配粗丑之妇。蛟龙未遇,潜水于鱼鳖之间;君子失时,拱手于小人之下。衣服虽破,常存仪礼之容;面带忧愁,每抱怀安之量。时遭不遇,只宜安贫守份;心若不欺,必然扬眉吐气。初贫君子,天然骨骼生成;乍富小人,不脱贫寒肌体。
天不得时,日月无光;地不得时,草木不生;水不得时,风浪不平;人不得时,利运不通。注福注禄,命里已安排定,富贵谁不欲?人若不依根基八字,岂能为卿为相?吾昔寓居洛阳,朝求僧餐,暮宿破窖,思衣不可遮其体,思食不可济其饥,上人憎,下人厌,人道我贱,非我不弃也。今居朝堂,官至极品,位置三公,身虽鞠躬于一人之下,而列职于千万人之上,有挞百僚之杖,有斩鄙吝之剑,思衣而有罗锦千箱,思食而有珍馐百味,出则壮士执鞭,入则佳人捧觞,上人宠,下人拥。人道我贵,非我之能也,此乃时也、运也、命也。
嗟呼!人生在世,富贵不可尽用,贫贱不可自欺,听由天地循环,周而复始焉。
天有不测风云,人有旦夕祸福。蜈蚣百足,行不及蛇;雄鸡两翼,飞不过鸦。马有千里之程,无骑不能自往;人有冲天之志,非运不能自通。
盖闻:人生在世,富贵不能淫,贫贱不能移。文章盖世,孔子厄于陈邦;武略超群,太公钓于渭水。颜渊命短,殊非凶恶之徒;盗跖年长,岂是善良之辈。尧帝明圣,却生不肖之儿;瞽叟愚顽,反生大孝之子。
张良原是布衣,萧何称谓县吏。晏子身无五尺,封作齐国宰相;孔明卧居草庐,能作蜀汉军师。楚霸虽雄,败于乌江自刎;汉王虽弱,竟有万里江山。李广有射虎之威,到老无封;冯唐有乘龙之才,一生不遇。韩信未遇之时,无一日三餐,及至遇行,腰悬三尺玉印,一旦时衰,死于阴人之手。有先贫而后富,有老壮而少衰。满腹文章,白发竟然不中;才疏学浅,少年及第登科。深院宫娥,运退反为妓妾;风流妓女,时来配作夫人。青春美女,却招愚蠢之夫;俊秀郎君,反配粗丑之妇。蛟龙未遇,潜水于鱼鳖之间;君子失时,拱手于小人之下。衣服虽破,常存仪礼之容;面带忧愁,每抱怀安之量。时遭不遇,只宜安贫守份;心若不欺,必然扬眉吐气。初贫君子,天然骨骼生成;乍富小人,不脱贫寒肌体。
天不得时,日月无光;地不得时,草木不生;水不得时,风浪不平;人不得时,利运不通。注福注禄,命里已安排定,富贵谁不欲?人若不依根基八字,岂能为卿为相?吾昔寓居洛阳,朝求僧餐,暮宿破窖,思衣不可遮其体,思食不可济其饥,上人憎,下人厌,人道我贱,非我不弃也。今居朝堂,官至极品,位置三公,身虽鞠躬于一人之下,而列职于千万人之上,有挞百僚之杖,有斩鄙吝之剑,思衣而有罗锦千箱,思食而有珍馐百味,出则壮士执鞭,入则佳人捧觞,上人宠,下人拥。人道我贵,非我之能也,此乃时也、运也、命也。
嗟呼!人生在世,富贵不可尽用,贫贱不可自欺,听由天地循环,周而复始焉。
Forwarded from 微博精选
乔治·艾略特在她的小说里告诫世人,要爱那些具体的人,要爱那些平凡的个体,不要只爱天使,圣母,先知和英雄,不要从艺术中排除那些清洗胡萝卜的老妇人,不要排除那些干着人间粗活的脊背和饱经风霜的脸,“在这个世界上,这样的凡夫俗子比比皆是。他们没有诗情画意、多愁善感的苦恼。我们必须记住他们的存在,否则我们就可能碰巧把他们排除在我们的宗教和哲学之外,而提出一些只适用于一个充满极端事物的世界的高超理论。”“世界上没有几个先知、英雄和绝色美人。我不能把我全部的爱和崇敬,都献给这些罕见的人物,我要把大量的这种感情倾注在我的那些平凡的同类身上。”在艾略特看来,人性的可爱、人性的悲怆和人性的奥秘,不是在什么惊人的事迹中找到的,而是在一个个平凡人物的真实生活中显现的。 source
Forwarded from 豆瓣精选
今天是开斋节,穆斯林最重要的节日之一。俗话说:“甜的开斋节,咸的宰牲节。”开斋节会吃各种各样的甜点,来庆祝斋月的结束。这次用一种非常特别的细面丝(kunafa),做几种面丝蜜饼(kanafeh)。细面丝是将面糊甩到热饼铛上形成的极细的面丝,和酥油(ghee)混合烘烤后,淋上糖蜜汁后充分浸润,口干既蓬松又酥脆。面丝蜜饼最经典的形式是来自巴勒斯坦纳布卢斯(Nablus),中间夹入奶酪的奶酪面丝蜜饼(kanafeh nabulsiyeh)。另外也做了卷状的奶酪面丝蜜饼,和填入坚果的杯状面丝蜜饼。据说在古代,面丝蜜饼会被医师在斋月期间,当药开给守斋中饥饿的王公贵族,以让他们能够偷偷享受美味佳肴。
奶酪面丝蜜饼:细面丝400g,和200g酥油(或融化黄油)混合均匀。1/3铺于烤盒底部,中间铺上200g纳布卢斯奶酪碎(nabulsi,或者mozzarella),再铺上剩余的细面丝,压实。烤箱190度40分钟烤至酥脆金黄。两杯水和两杯糖(我只用了一杯),一勺玫瑰水加热融化,挤入一个柠檬汁。奶酪面丝蜜饼倒扣出,趁热淋上糖蜜汁,撒上开心果粉。凉半个小时后趁温食用。 source
奶酪面丝蜜饼:细面丝400g,和200g酥油(或融化黄油)混合均匀。1/3铺于烤盒底部,中间铺上200g纳布卢斯奶酪碎(nabulsi,或者mozzarella),再铺上剩余的细面丝,压实。烤箱190度40分钟烤至酥脆金黄。两杯水和两杯糖(我只用了一杯),一勺玫瑰水加热融化,挤入一个柠檬汁。奶酪面丝蜜饼倒扣出,趁热淋上糖蜜汁,撒上开心果粉。凉半个小时后趁温食用。 source
Forwarded from ✿有感而发
一句话的信息量能大到什么程度?
英国举办了只允许用六个单词的微小说大赛。和大家分享几个大赛中的获奖作品,虽然简单却感动了无数人。
- Finally spoke to her,left flowers.
终于跟她搭上话了,并给她留下了一束花。(在坟墓前)
- Jumped.Then I changed my mind.
纵身一跃后,我改变了主意。
- Birth certificate. Death certificate. One pen.
出生证明,死亡证明,同一支笔写完。
(有人理解为出生即夭折,有人理解为新生儿出生而母亲死亡)
- Sorry soldier, shoes sold in pairs.
对不起,士兵,我们的鞋子是按双出售的。
- I met my soulmate.She didn’t.
我遇到了我的那个她。但她没有。
- Siri,delete Mom from my contacts.
Siri,把妈妈从通讯录里删除吧。(母亲逝世)
- Strangers. Friends. Best friends. Lovers. Strangers.
陌路,朋友,挚友,爱人,陌路。
- Introduced myself to mother again today.
今天我又一次向妈妈介绍了自己。(阿尔茨海默病)
- She loved cigarettes. More than life.
她爱抽烟,比生命都爱。
- Painfully,he changed ‘is’ to ‘was’.
痛苦中,他把“是”改为了“曾经是”。
- You’re not a good artist,Adolf.
你不是个好艺术家,希特勒。(后来发生的事大家都知道了)
- The smallest coffins are the heaviest.
棺材看起来很小,其实是最沉重。
- She was lovely.Then things changed.
她曾那么可爱。然后一切都变了。
- One candle, unattended. Only ashesremain.
一只蜡烛,无人看管,蜡炬成灰。
- I leave. Dog panics. Furniture sale.
我走了。狗狗慌了。家具卖了。
- Imagined adulthood. Gained adulthood.Lost Imagination.
幻想长大。长大成人。幻想破灭。
- Cancer. Onlythree months left. Pregnant.
癌症。三个月生命。我怀孕了。
- Nothing todeclare. Much to remember.
想说的无话。想记住的太多
- New start. New you. Not you.
新的开始。新的你。却不是你。
- Relationship expires; leaves a bitter aftertaste.
恋爱过期;苦味犹存。
- She’s his love; he’s her wallet.
她是他的挚爱,他是她的取款机。
- They livedhappily ever after. Separately.
从此他们过上了幸福的生活。分别
- First Friends.Then Lover. Lost both.
分手之后,无法做朋友。
- Two wives, one funeral. No tear
他的葬礼,两任妻子,无人流泪。
- Tow lovers. One parachute. No survivors.
一对情侣。一把降落伞。无人生存
- ‘I love you too’ she lied.
“我也爱你。”她的谎言。
- He loves her,they’re just friends.
他爱她。他们“只是朋友”。
- Fantastic weekend. Then he never called.
美妙的周末。没有然后了。
文/不爱吃豆角
英国举办了只允许用六个单词的微小说大赛。和大家分享几个大赛中的获奖作品,虽然简单却感动了无数人。
- Finally spoke to her,left flowers.
终于跟她搭上话了,并给她留下了一束花。(在坟墓前)
- Jumped.Then I changed my mind.
纵身一跃后,我改变了主意。
- Birth certificate. Death certificate. One pen.
出生证明,死亡证明,同一支笔写完。
(有人理解为出生即夭折,有人理解为新生儿出生而母亲死亡)
- Sorry soldier, shoes sold in pairs.
对不起,士兵,我们的鞋子是按双出售的。
- I met my soulmate.She didn’t.
我遇到了我的那个她。但她没有。
- Siri,delete Mom from my contacts.
Siri,把妈妈从通讯录里删除吧。(母亲逝世)
- Strangers. Friends. Best friends. Lovers. Strangers.
陌路,朋友,挚友,爱人,陌路。
- Introduced myself to mother again today.
今天我又一次向妈妈介绍了自己。(阿尔茨海默病)
- She loved cigarettes. More than life.
她爱抽烟,比生命都爱。
- Painfully,he changed ‘is’ to ‘was’.
痛苦中,他把“是”改为了“曾经是”。
- You’re not a good artist,Adolf.
你不是个好艺术家,希特勒。(后来发生的事大家都知道了)
- The smallest coffins are the heaviest.
棺材看起来很小,其实是最沉重。
- She was lovely.Then things changed.
她曾那么可爱。然后一切都变了。
- One candle, unattended. Only ashesremain.
一只蜡烛,无人看管,蜡炬成灰。
- I leave. Dog panics. Furniture sale.
我走了。狗狗慌了。家具卖了。
- Imagined adulthood. Gained adulthood.Lost Imagination.
幻想长大。长大成人。幻想破灭。
- Cancer. Onlythree months left. Pregnant.
癌症。三个月生命。我怀孕了。
- Nothing todeclare. Much to remember.
想说的无话。想记住的太多
- New start. New you. Not you.
新的开始。新的你。却不是你。
- Relationship expires; leaves a bitter aftertaste.
恋爱过期;苦味犹存。
- She’s his love; he’s her wallet.
她是他的挚爱,他是她的取款机。
- They livedhappily ever after. Separately.
从此他们过上了幸福的生活。分别
- First Friends.Then Lover. Lost both.
分手之后,无法做朋友。
- Two wives, one funeral. No tear
他的葬礼,两任妻子,无人流泪。
- Tow lovers. One parachute. No survivors.
一对情侣。一把降落伞。无人生存
- ‘I love you too’ she lied.
“我也爱你。”她的谎言。
- He loves her,they’re just friends.
他爱她。他们“只是朋友”。
- Fantastic weekend. Then he never called.
美妙的周末。没有然后了。
文/不爱吃豆角
Forwarded from 噫~这世界
〖木遥〗写一下我对美国最高法院今天对 Google vs. Oracle 案子的终审判决的理解(我没有法律专业背景,这是从工程师的角度写的)。
这案子缠讼十年,标的88亿美元,历经三次判决反转。其起因非常简单:Java 是一种在程序员中有非常高人气的语言,掌握在 Oracle 手里。Google 在推出安卓系统的时候为了能让更多给安卓写第三方 APP 的程序员尽快上手,直接在安卓 APP 开发工具里复用了大量 Java 的函数接口(API),但自己重新实现了函数本身。Oracle 据此告 Google 侵权。
这里的问题的核心是:一个语言的接口是否受到版权保护?对它的复用是否侵权?
Oracle 的论点非常直接(而且对非业内人士来说其实很有说服力):软件是否受到版权保护?当然。接口是不是软件的重要组成部分?当然。那么接口显然应该受到版权保护。
Google 的论点就有点复杂,它需要详细辨析接口的含义——对大多数法律界人士和公众来说,API 这个词本身就很陌生。最高法院判决的主笔是82岁的 Breyer 法官,他这辈子很可能一行代码都没写过。但从判决看,他是精确理解 API 的功能和内涵的。
被判决采纳的论点是:API 是一个发送指令的界面,像是汽车的加油踏板(这个例子在第一巡回法院之前关于 Lotus vs. Bortland 的判例里出现过),或者电脑的 QWERTY 键盘。——这两个例子不是随便举的,因为它们都正好反映出这个案子的实质:Google 是利用了现成的 Java 接口以吸引程序员能够迅速上手。这种「利用前人现成的知识节省学习成本」是应该受到保护还是惩罚?加油踏板就是这样一个类似的情况。第一个设计汽车的人已经把加油踏板设计成这样了,如果这种设计本身受到版权保护,每个后来的新的造车厂就都会面临一种两难,它要么继承这种设计但需要支付高昂的版权费用,要么另起炉灶但不会有用户买它的车,因为没人愿意买辆新车还要形成一套新的肌肉记忆。在 API 的情况里,判决指出:它的价值很大程度上体现为程序员群体对这种 API 的熟练掌握,以及复用这个 API 所能导致的学习成本节省。
因此这个判决的核心就是宣布:这种搭便车的做法属于合理应用(fair use),不应该被惩罚。其中最核心的(也是大部分评论最关注的)是这样一段论述:
「我们必须考量的是:对版权的保护是否促进了公众利益,是否促进了创新。」(第31页)
「考虑到程序员在学习 Java API 上的投资,如果把这个接口本身保护起来,会有害公众利益,因为这会迫使程序员不得不付出额外的努力去适应新的接口。新的创造就会被锁起来,而钥匙掌握在 Oracle 一家手里。这能让 Oracle 获得不菲的利润,但这些利润本来可以流向大量掌握了这些接口的人能创造出的新的应用之中。因此这种锁定是和版权的本意相违背的。」(第34页)
可以想像,这些论述(特别是关于公众利益的部分)的影响会非常深远。
以上是关于这个判决本身。但我还有一些其他的感想。
在这个具体的例子里,判决是和业界的 common sense 站在一起的。拷贝 Java 的接口(只占 Java 总代码量的极小比例)和拷贝 Java 的具体功能实现是两码事,不可同日而语。
但这里没有触及的问题是,对一个系统而言,设计接口并不是一项无足轻重的工作。在某种意义上来说,一个平台的接口和它背后的实现同样重要。接口有点像程序员世界里的「用户界面」,一个好的接口可以决定性地让一个平台取得优势。在某些极端的情况下,一个平台的价值可以主要就体现在接口上。比如机器学习最流行的平台之一 Keras,你可以说它整个就是一个 API ——它把具体实现全都交给后台的 Tensorflow 或者 Theanos 来做了。(后来 Keras 被整合进了 Tensorflow,这里说的是最初版本的情形。)
法律依赖于比喻,而比喻永远是不精确的。如果把接口和实现的关系想像成一台巨大的机器外壳上的几个插头和内部丰富的实际功能组件,Google 的做法就相当于为了兼容性照搬外壳上几个插头的设计而内部完全自己另起炉灶。但现代软件工程并不是简单的机器,你很难清晰拆分出外壳和内部。大多数情况下,你看到的是一层层功能的封装,大量的智慧都投入在巧妙的封装本身上,而最底层的实现很可能只是继承经典而已。问题在于,你如何能把现代软件工程比喻成一个现实生活中的例子呢?
区块链是一个极端的情形。2016年,联合广场投资的分析师 Joel Monegro 写了一篇极为著名的文章: fat-protocols。他指出,和传统网络领域里协议很轻而应用很重的情形相反,在区块链的世界里,协议是「胖的」,而应用无足轻重。投资于应用远不如投资协议回报丰厚。例如以太坊是一个伟大的协议,它的价值远远胜过在运行在以太坊上的具体应用本身。——协议(protocol)当然和接口(API)不完全是同一个概念,但它们是强烈相关联的。复制以太坊的全部接口差不多就相当于复制了以太坊本身。这件事又应该如何被比喻到现实世界之中呢?
当然,这并不意味着今天的判决表示你可以直接复制一整个 Keras 或者以太坊。在 Google 的案例里还有许多别的因素需要考量(其中很重要的一点是 transformative use,也就是说,Google 并不是打算创造一个 Java 的等价竞品出来,安卓和 Java 是两个不同领域的东西)。但这个判决毕竟在比喻的边界处划了一条明确的界限。——从今天业界的反应来看,这个界限得到了几乎一面倒(除了 Oracle 以外)的业内支持。
但其长远影响有待分晓。
这案子缠讼十年,标的88亿美元,历经三次判决反转。其起因非常简单:Java 是一种在程序员中有非常高人气的语言,掌握在 Oracle 手里。Google 在推出安卓系统的时候为了能让更多给安卓写第三方 APP 的程序员尽快上手,直接在安卓 APP 开发工具里复用了大量 Java 的函数接口(API),但自己重新实现了函数本身。Oracle 据此告 Google 侵权。
这里的问题的核心是:一个语言的接口是否受到版权保护?对它的复用是否侵权?
Oracle 的论点非常直接(而且对非业内人士来说其实很有说服力):软件是否受到版权保护?当然。接口是不是软件的重要组成部分?当然。那么接口显然应该受到版权保护。
Google 的论点就有点复杂,它需要详细辨析接口的含义——对大多数法律界人士和公众来说,API 这个词本身就很陌生。最高法院判决的主笔是82岁的 Breyer 法官,他这辈子很可能一行代码都没写过。但从判决看,他是精确理解 API 的功能和内涵的。
被判决采纳的论点是:API 是一个发送指令的界面,像是汽车的加油踏板(这个例子在第一巡回法院之前关于 Lotus vs. Bortland 的判例里出现过),或者电脑的 QWERTY 键盘。——这两个例子不是随便举的,因为它们都正好反映出这个案子的实质:Google 是利用了现成的 Java 接口以吸引程序员能够迅速上手。这种「利用前人现成的知识节省学习成本」是应该受到保护还是惩罚?加油踏板就是这样一个类似的情况。第一个设计汽车的人已经把加油踏板设计成这样了,如果这种设计本身受到版权保护,每个后来的新的造车厂就都会面临一种两难,它要么继承这种设计但需要支付高昂的版权费用,要么另起炉灶但不会有用户买它的车,因为没人愿意买辆新车还要形成一套新的肌肉记忆。在 API 的情况里,判决指出:它的价值很大程度上体现为程序员群体对这种 API 的熟练掌握,以及复用这个 API 所能导致的学习成本节省。
因此这个判决的核心就是宣布:这种搭便车的做法属于合理应用(fair use),不应该被惩罚。其中最核心的(也是大部分评论最关注的)是这样一段论述:
「我们必须考量的是:对版权的保护是否促进了公众利益,是否促进了创新。」(第31页)
「考虑到程序员在学习 Java API 上的投资,如果把这个接口本身保护起来,会有害公众利益,因为这会迫使程序员不得不付出额外的努力去适应新的接口。新的创造就会被锁起来,而钥匙掌握在 Oracle 一家手里。这能让 Oracle 获得不菲的利润,但这些利润本来可以流向大量掌握了这些接口的人能创造出的新的应用之中。因此这种锁定是和版权的本意相违背的。」(第34页)
可以想像,这些论述(特别是关于公众利益的部分)的影响会非常深远。
以上是关于这个判决本身。但我还有一些其他的感想。
在这个具体的例子里,判决是和业界的 common sense 站在一起的。拷贝 Java 的接口(只占 Java 总代码量的极小比例)和拷贝 Java 的具体功能实现是两码事,不可同日而语。
但这里没有触及的问题是,对一个系统而言,设计接口并不是一项无足轻重的工作。在某种意义上来说,一个平台的接口和它背后的实现同样重要。接口有点像程序员世界里的「用户界面」,一个好的接口可以决定性地让一个平台取得优势。在某些极端的情况下,一个平台的价值可以主要就体现在接口上。比如机器学习最流行的平台之一 Keras,你可以说它整个就是一个 API ——它把具体实现全都交给后台的 Tensorflow 或者 Theanos 来做了。(后来 Keras 被整合进了 Tensorflow,这里说的是最初版本的情形。)
法律依赖于比喻,而比喻永远是不精确的。如果把接口和实现的关系想像成一台巨大的机器外壳上的几个插头和内部丰富的实际功能组件,Google 的做法就相当于为了兼容性照搬外壳上几个插头的设计而内部完全自己另起炉灶。但现代软件工程并不是简单的机器,你很难清晰拆分出外壳和内部。大多数情况下,你看到的是一层层功能的封装,大量的智慧都投入在巧妙的封装本身上,而最底层的实现很可能只是继承经典而已。问题在于,你如何能把现代软件工程比喻成一个现实生活中的例子呢?
区块链是一个极端的情形。2016年,联合广场投资的分析师 Joel Monegro 写了一篇极为著名的文章: fat-protocols。他指出,和传统网络领域里协议很轻而应用很重的情形相反,在区块链的世界里,协议是「胖的」,而应用无足轻重。投资于应用远不如投资协议回报丰厚。例如以太坊是一个伟大的协议,它的价值远远胜过在运行在以太坊上的具体应用本身。——协议(protocol)当然和接口(API)不完全是同一个概念,但它们是强烈相关联的。复制以太坊的全部接口差不多就相当于复制了以太坊本身。这件事又应该如何被比喻到现实世界之中呢?
当然,这并不意味着今天的判决表示你可以直接复制一整个 Keras 或者以太坊。在 Google 的案例里还有许多别的因素需要考量(其中很重要的一点是 transformative use,也就是说,Google 并不是打算创造一个 Java 的等价竞品出来,安卓和 Java 是两个不同领域的东西)。但这个判决毕竟在比喻的边界处划了一条明确的界限。——从今天业界的反应来看,这个界限得到了几乎一面倒(除了 Oracle 以外)的业内支持。
但其长远影响有待分晓。