源码

首页 » 归档 » 源码 » 程序员怒了!阿里 Antd 圣诞彩蛋害我被离职了!

程序员怒了!阿里 Antd 圣诞彩蛋害我被离职了!

作者| 郭芮

无意恶搞的圣诞彩蛋,惨被玩弄的开发者们—— Ant Design 此致敬上。

image.png

每年的12 月25 日是外国友人们欢庆圣诞的热闹日子,但是今年的圣诞却给很多Antd 开发者带来了莫大惊吓。

Antd 即Ant Design,是阿里蚂蚁金服开源的一套企业级的UI 设计语言和React 实现,因提供了完整的类型定义文件、自带提炼自企业级中后台产品的交互语言和视觉风格、开箱即用的高质量React 组件与全链路开发和设计工具体系等功能优势而备受开发者青睐。

这次惹起争议的就是Antd 库中暗藏的圣诞彩蛋——一个不曾提前告知、无法手动禁止、并且“潜伏”了106 天之久的按钮“惊喜”,打得开发者们措手不及。更有甚者,因为很多政府项目、军事项目、宗教项目等严肃场景中也一个不落地中了招,导致许多项目方遭遇客户投诉,开发者们背锅被裁。

一触即发!一个“俏皮”的积雪效果按钮引发开发者危机

那这个所谓的圣诞彩蛋究竟是指什么?其实就是一个带有积雪特效的按钮,以及一个“Ho Ho Ho!”的提示。

image.png

const now = new Date();
const isChristmas = now.getMonth() === 11 && now.getDate() === 25;
const classes = classNames(prefixCls, className, {
[`${prefixCls}-${type}`]: type,
[`${prefixCls}-${shape}`]: shape,
[`${prefixCls}-${sizeCls}`]: sizeCls,
[`${prefixCls}-icon-only`]: !children && icon,
[`${prefixCls}-loading`]: loading,
[`${prefixCls}-background-ghost`]: ghost,
[`${prefixCls}-two-chinese-chars`]: hasTwoCNChar,
[`${prefixCls}-block`]: block,
christmas: isChristmas,
});
const iconType = loading ? 'loading' : icon;
const iconNode = iconType ?          : null;
const kids = (children || children === 0)
? React.Children.map(children, child => insertSpace(child, this.isNeedInserted())) : null;
const title= isChristmas ? 'Ho Ho Ho!' : rest.title;

这是源码,title完全被hohoho覆盖(来源:Github,@133922249)

今天早上,GitHub、微博、知乎等平台的开发者都一边倒地对这个未曾事先告知的圣诞彩蛋进行了批判吐槽。

而且,因为是无法手动禁用的,很多开发者就只能自力更生地思考解决方法。

image.png

但是波及的范围远远不止于此,很多开发者、项目方也备受牵连。

image.png

——这次的闹剧或许可以称之为中国开发者的圣诞“劫”了。

106 天的“潜伏”!这个未曾事先告知的圣诞彩蛋从何而来?

那么这个“圣诞彩蛋”到底来自哪位之手?知乎用户、蚂蚁金服前端工程师@偏右悄悄地主动认领了。

image.png

他表示,这个Ant Design 圣诞彩蛋起源今年9 月10 日的一次提交(http://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a),代码实现会在12 月25 日当天给所有按钮添加积雪效果,并增加`Ho Ho Ho!` 的浏览器默认提示信息。他还表示,这完全是他“个人的一意孤行且愚蠢的决定”。

此外他还提到,这一“彩蛋”的影响范围是Ant Design 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 并重新下载即可。

最后他郑重强调,代码里已经没有其他的彩蛋了!未来也会继续接受开发社区的监督。但是开发者们显然不是很买账,仍然颇有微词。

不管怎样,Antd 作为业内领先的前端组件库之一,此次却无视不同文化、政治背景乃至于宗教信仰的因素,强行上演这么一出“强买强卖”的乌龙事件,毫无疑问会让开源社区的信任度大打折扣。

Antd 的争议:开源社区的信任危机

圣诞落幕,闹剧收场,但是一地鸡毛背后,关于开源社区的生存现状探讨却更加引人深思了。

“开源本来就脆弱,还造出这么一个乌龙。”在《Open source confronts its midlife crisis》一文中,作者Bryan Cantrill 就提到了,开源正在面临中年危机,而那些以开源软件为生存之本的公司都将会面临信任危机——这次的Antd 事件也只是一个缩影罢了。

不过同时,信任危机的产生也离不开开发者和社区的推波助澜。

image.png

image.png

因此无论如何,开源如今已二十,还请开发者和社区们不要绑架了这个词。

注:文中图片来源于网络。

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/chengxuyuannuleali-antd-shengdancaidanhaiwobeilizhile.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:12 月 26, 2018 at 09:56 下午

热评文章

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复