Ant Design 圣诞“彩蛋”炸雷,开源项目为何失控了?

局长
 局长
发布于 2018年12月25日
收藏 34

喜庆洋洋的圣诞节,技术圈也十分热闹。因为今天开源届被一个前端 UI 框架的“彩蛋”掀翻天了。

事件起因是蚂蚁金服的 Ant Design 框架,开发者别出心裁地在框架代码中埋下了一个会在圣诞节当天触发的“彩蛋”。

如图中所看到的,本来这应该是一个正常的蓝色按钮,而上面的「积雪」效果就是 Ant Design 今天的圣诞节彩蛋之一。

众所周知 Ant Deign 有着大量的用户群体,而这个“彩蛋”呈现出来的最终效果却是犹如一颗“毒蛋”,说是一场灾难也不为过,最后也把众多的框架使用者给坑了 —— 大量前端开发者纷纷前往 Ant Design 的 GitHub 仓库留言、吐槽……

Ant Design 的核心维护人员面对用户突如其来的质疑和吐槽,立马做出了回应, 并提供了修复的方法:

关于 Ant Design 圣诞彩蛋,起源自 2018 年 9 月 10 日我的一次提交:add christmas easter egg · ant-design/ant-design@00aebeb,代码实现会在 12 月 25 日当天给所有按钮添加积雪效果,并增加 `Ho Ho Ho!` 的浏览器默认提示信息。这完全是我个人的一意孤行且愚蠢的决定,是我的错误给大家造成了不良影响,非常抱歉。

如何修复这个问题?

影响范围:3.9.3、3.10.0~3.10.9、3.11.0~3.11.5

我们已经发布了修订版本:3.9.4、3.10.10、3.11.6,各位请更新至相应的版本即可。使用了语义化版本的直接重新安装 node_modules 并重新下载即可。

代码里还有其他彩蛋么?

没有。

未来还会有类似的问题么?

不会。我们是开源软件,请像这一次一样持续监督我们。

玉伯也对该事件进行了回应

对于 Ant Design 这次的圣诞节彩蛋,你怎么看待?

都说开源软件会因为受到监督而安全,但这次事件似乎反应了开源项目的一个典型困境 —— 其支持者声称由于开源软件会因开源而公开透明,并因持续受到监督而安全。但在实际过程中,多数人并不会审查代码。即使有人发现问题,也因为不受重视而无法解决,最终就有可能导致严重的后果。

对此你如何看待?欢迎留言共同讨论。

开源中国亦将会持续跟踪报道该事件。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Ant Design 圣诞“彩蛋”炸雷,开源项目为何失控了?
加载中

精彩评论

双城记
双城记
国内某自诩要替代github的开源平台,项目热榜前排清一色《spring boot + xxxxx权限管理后台集成框架》,readme清一色支付宝/微信/qq群贩卖售后技术支持。浓浓国内乡土开源气息。
南湖船老大
南湖船老大
阿里的价值观一直就有问题,通俗地说,就是“用户你好,我是你爹”
2016年儿童节就强行给支付宝用户名加宝宝两个字,还洋洋自得地死杠用户。

这不是第一次,也绝不是最后一次,价值观注定了。
巧可炭
巧可炭
伪造离职谈话,抢月饼被开除,抄袭合作伙伴的产品然后将对方踢开...
见怪不怪了
zb1488614096720
zb1488614096720
清明节咋没上坟烧黄纸的彩蛋?只给洋节发彩蛋!差评!
加百列Gabriel
加百列Gabriel
其实也没什么好评价的,毕竟所有的自由软件许可证上都有后果自负的免责条款

最新评论(138

AUV
AUV

引用来自“不羁的醒与醉”的评论

首先,开源给你用,伸手党还能甩锅真是中国特色?懵逼。其次,我都开源了,对代码审核是你的责任和义务,既然你用了,就说明你接受开源中的内容,出问题了,说明你前期该做的工作没有做。怪我咯?

引用来自“魔力猫”的评论

按照你的理论。如果我们买了一个开源CPU的机器,是不是也得审核一下这个CPU源代码?用了Linux系统,得把整个内核和所有组件审核一遍。再往上,应用服务器要不要审核,虚拟机编译器是不是要审核,各个组件第三方库,应用打包程序,所有的都要过一遍?
这不是搞企业开发,这是开发核潜艇操作系统,还是J20的中央系统?除了国家,谁有这种精力折腾去。而且你要搞清楚,这种审查,理论上哪怕改了一个小版本也要整个重来一次,扯淡呢。

引用来自“不羁的醒与醉”的评论

你是傻逼吧?不审核就自担风险,也没人强迫你审核。BBNM呢BB。现在OSC都成杠精聚集地了么?

引用来自“魔力猫”的评论

如果谁都可以无下限往里面埋雷,那改天祝你因为这类事情进去捡肥皂或者被处决!到时候你也说我不怨别人,都是我自己没审核到!
今天可以埋圣诞节,明天就可以埋开斋节。再过几天各种政治标语也可以埋!大家如果不谴责,当无所谓,那么就等着有人最后倒霉吧!谁还敢用开源!

引用来自“不羁的醒与醉”的评论

杠精都是你这么杠的,好像你不出来指责下这世界就乱套了一样。别人都是无下限,只有你道德帝。你都这么高尚了,怎么脱发脱的智商都没了呢?
看你的回复完全是一套魂淡逻辑,是因为网络才让你可以无下限的谩骂别人吗?修养到底去哪了?看到你的回复让人觉得很不舒服,依你的逻辑就是舒不舒服是我的事,不在于谩骂的人本身是吗?
赵开锦
赵开锦
这就是我一直不信任 npm 和 composer 的缘故,总感觉这种东西就像玄幻,自己完全不可控,不像java还有apache这样的官方库或者php的pecl一类的官方库,完全自由的个人开源依赖太不靠谱了!
大肥船
大肥船

引用来自“魔力猫”的评论

评论里几个洗地的真是可笑。他所谓的规则,国法认不认得两说,协议的免责条款如果违反合同法第五十三条,造成对方人身伤害,因故意或者重大过失造成对方财产损失。在这种情况下,受害者是可以以此向开发团队索赔的。免责条款能否生效,不是嘴上说的,而是要看法院判决。更别说如果放了什么敏感的东西,那就是相关人员直接国安喝茶了。
老哥。我支持你。
魔力猫
魔力猫
评论里几个洗地的真是可笑。他所谓的规则,国法认不认得两说,协议的免责条款如果违反合同法第五十三条,造成对方人身伤害,因故意或者重大过失造成对方财产损失。在这种情况下,受害者是可以以此向开发团队索赔的。免责条款能否生效,不是嘴上说的,而是要看法院判决。更别说如果放了什么敏感的东西,那就是相关人员直接国安喝茶了。
xmqywx
xmqywx

引用来自“不羁的醒与醉”的评论

首先,开源给你用,伸手党还能甩锅真是中国特色?懵逼。其次,我都开源了,对代码审核是你的责任和义务,既然你用了,就说明你接受开源中的内容,出问题了,说明你前期该做的工作没有做。怪我咯?

引用来自“魔力猫”的评论

按照你的理论。如果我们买了一个开源CPU的机器,是不是也得审核一下这个CPU源代码?用了Linux系统,得把整个内核和所有组件审核一遍。再往上,应用服务器要不要审核,虚拟机编译器是不是要审核,各个组件第三方库,应用打包程序,所有的都要过一遍?
这不是搞企业开发,这是开发核潜艇操作系统,还是J20的中央系统?除了国家,谁有这种精力折腾去。而且你要搞清楚,这种审查,理论上哪怕改了一个小版本也要整个重来一次,扯淡呢。

引用来自“不羁的醒与醉”的评论

你是傻逼吧?不审核就自担风险,也没人强迫你审核。BBNM呢BB。现在OSC都成杠精聚集地了么?

引用来自“魔力猫”的评论

如果谁都可以无下限往里面埋雷,那改天祝你因为这类事情进去捡肥皂或者被处决!到时候你也说我不怨别人,都是我自己没审核到!
今天可以埋圣诞节,明天就可以埋开斋节。再过几天各种政治标语也可以埋!大家如果不谴责,当无所谓,那么就等着有人最后倒霉吧!谁还敢用开源!

引用来自“不羁的醒与醉”的评论

杠精都是你这么杠的,好像你不出来指责下这世界就乱套了一样。别人都是无下限,只有你道德帝。你都这么高尚了,怎么脱发脱的智商都没了呢?
的确站在规则之上,无任何错误。只不过打破了长久以来开源框架的信任关系。有些人喜欢在规则上面秀,而不考虑德亏。opensource讲究的一种默认的健康的相互信任。这件事,最终两败俱伤,就好像本来一个宿舍的人,相互借钱从来没有打过借条,因为默认的信任感,突然来了一个国内大佬,一上来就借了钱不还了,勇敢的打破信任关系,但是他站在法律层面是无错的。所谓一个老鼠瞎了一锅粥而已。当然错在这个宿舍的人没有了解他的人品而错误相信了,自食其果。
思想黑客
思想黑客
这已经不是代码本身的问题而是对用户信任的一次毁灭性打击,阿里的开源产品再强大,也不敢随便用在线上环境。
xmqywx
xmqywx

引用来自“喵星人123”的评论

这件事反映的本质就是 绝大多数人不会去研究源代码 更不会去提交代码促进项目的发展 他们想做的就是尽快用开源项目赚到钱而已

引用来自“xmqywx”的评论

linux也是开源的,大多数人也不会去研究源代码,假如linux也来个类似的彩蛋,结果会怎么样?这个事件最大的影响就是开源信誉,使用者的信任被践踏了。开源长久以来的健康,信任关系被捅破,默认的开源精神被颠覆,才是本质

引用来自“喵星人123”的评论

你把假设建立在一个根本没有发生的事上 然后得出了结论
发生的事情也不叫假设啊😂 。我假设一个阿里,搞了一个彩蛋,阿里让一般程序员觉得的不可能变成了可能。:trollface:
不羁的醒与醉
不羁的醒与醉

引用来自“不羁的醒与醉”的评论

首先,开源给你用,伸手党还能甩锅真是中国特色?懵逼。其次,我都开源了,对代码审核是你的责任和义务,既然你用了,就说明你接受开源中的内容,出问题了,说明你前期该做的工作没有做。怪我咯?

引用来自“魔力猫”的评论

按照你的理论。如果我们买了一个开源CPU的机器,是不是也得审核一下这个CPU源代码?用了Linux系统,得把整个内核和所有组件审核一遍。再往上,应用服务器要不要审核,虚拟机编译器是不是要审核,各个组件第三方库,应用打包程序,所有的都要过一遍?
这不是搞企业开发,这是开发核潜艇操作系统,还是J20的中央系统?除了国家,谁有这种精力折腾去。而且你要搞清楚,这种审查,理论上哪怕改了一个小版本也要整个重来一次,扯淡呢。

引用来自“不羁的醒与醉”的评论

你是傻逼吧?不审核就自担风险,也没人强迫你审核。BBNM呢BB。现在OSC都成杠精聚集地了么?

引用来自“魔力猫”的评论

如果谁都可以无下限往里面埋雷,那改天祝你因为这类事情进去捡肥皂或者被处决!到时候你也说我不怨别人,都是我自己没审核到!
今天可以埋圣诞节,明天就可以埋开斋节。再过几天各种政治标语也可以埋!大家如果不谴责,当无所谓,那么就等着有人最后倒霉吧!谁还敢用开源!
杠精都是你这么杠的,好像你不出来指责下这世界就乱套了一样。别人都是无下限,只有你道德帝。你都这么高尚了,怎么脱发脱的智商都没了呢?
魔力猫
魔力猫

引用来自“不羁的醒与醉”的评论

首先,开源给你用,伸手党还能甩锅真是中国特色?懵逼。其次,我都开源了,对代码审核是你的责任和义务,既然你用了,就说明你接受开源中的内容,出问题了,说明你前期该做的工作没有做。怪我咯?

引用来自“魔力猫”的评论

按照你的理论。如果我们买了一个开源CPU的机器,是不是也得审核一下这个CPU源代码?用了Linux系统,得把整个内核和所有组件审核一遍。再往上,应用服务器要不要审核,虚拟机编译器是不是要审核,各个组件第三方库,应用打包程序,所有的都要过一遍?
这不是搞企业开发,这是开发核潜艇操作系统,还是J20的中央系统?除了国家,谁有这种精力折腾去。而且你要搞清楚,这种审查,理论上哪怕改了一个小版本也要整个重来一次,扯淡呢。

引用来自“不羁的醒与醉”的评论

你是傻逼吧?不审核就自担风险,也没人强迫你审核。BBNM呢BB。现在OSC都成杠精聚集地了么?
如果谁都可以无下限往里面埋雷,那改天祝你因为这类事情进去捡肥皂或者被处决!到时候你也说我不怨别人,都是我自己没审核到!
今天可以埋圣诞节,明天就可以埋开斋节。再过几天各种政治标语也可以埋!大家如果不谴责,当无所谓,那么就等着有人最后倒霉吧!谁还敢用开源!
魔力猫
魔力猫

引用来自“喵星人123”的评论

这件事反映的本质就是 绝大多数人不会去研究源代码 更不会去提交代码促进项目的发展 他们想做的就是尽快用开源项目赚到钱而已

引用来自“乌合之众”的评论

没错。
也有很多很好的开源项目,项目管理者是不负责直接编写和修改代码,只负责对参与者提交代码进行审核通过后合并到主线版本。

引用来自“暖冰”的评论

你一个项目里用了几十个开源库,你会一个个跟踪人家git更新么

引用来自“喵星人123”的评论

我不需要一个个跟踪 我跟踪一个就行了 如果每个人都跟踪一个 也不用每个人跟踪一个 只要50%的使用者有这个习惯 那么就会有人发现源码中的缺陷 但实际上的情况是 人们做项目的速度太快 所有的时间都花在引用上而不是研究

引用来自“陈钇蒙”的评论

事实上这个问题有人发现并提了issue的,然后被他们无视并关闭了,你让这个开源检查机制如何正常运作?
确实。提个issue,不搭理。一般人难道还为了这种事情在所有论坛大声疾呼?!说真的,出事的那些应用,政治敏感型的都应该报警了。
返回顶部
顶部