• 说说阿里开源彩蛋事件
  • 发布于 2个月前
  • 977 热度
    0 评论

圣诞节这天,前端圈有这么个事,蚂蚁金服开源的前端框架 Ant Design,因为作者在 2018 年 9 月 10 日加了一段神奇的代码,这段代码会在 12 月 25 日当天给所有按钮触发积雪效果,并增加 Ho Ho Ho! 的浏览器默认提示信息, 效果是这样的:

本以为这是一个别出心裁的彩蛋,结果遭到广大用户的投诉和吐槽,因为它已经影响到功能的正常使用,用户以为出代码除了什么诡异的 Bug。事后,作者第一时间出来承认了错误并对其做了修复,Ant Design 有近4万个Star,此事件波及的用户群肯定不小,GitHub 的 Issue 已经被沦陷了。


「彩蛋」的始作俑者在知乎上对此事做的回应:

Ant Design 圣诞彩蛋起源自 2018 年 9 月 10 日我的一次提交:

https://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a

代码实现会在 12 月 25 日当天给所有按钮添加积雪效果,并增加 Ho Ho Ho! 的浏览器默认提示信息。这完全是我个人的一意孤行且愚蠢的决定,是我的错误给大家造成了不良影响,非常抱歉。


从这个事情来看,作者对彩蛋有明显的误解,所谓彩蛋,是西方国家在庆祝复活节时,家长使用经过染色的蛋事先藏好,然后由儿童来找寻。这个蛋是需要用户去找才能发现的。比如 Chrome 浏览器在没网络的离线状态下,按空格键开启恐龙游戏,这是彩蛋。

在 Python 的命令行里面输入 “import antigravity” 是彩蛋。

如果像幽灵一样突然跳出来,出现在你面前,还影响到了功能的正常,那也不叫彩蛋,叫炸弹,没有喜只有惊。


借着这个彩蛋,再说另外两个事。

前阵子很多开源厂商分别开始修改自己的开源协议,比如 MongoDB 选择将其开源许可证从 GNU AGPLv3 切换到  Server Side Public License (SSPL) ,也就是服务器端公共许可证。尽管 SSPL 与 GNU GPLv3 没有什么不同,但 SSPL 会明确要求托管 MongoDB 实例的云计算公司要么从 MongoDB 获取商业许可证,要么向社区开源其服务代码。

原因也很简单,越来越多的云提供商,比如亚马逊,使用开源软件谋取商业利益,却没有给社区任何回馈,也没有开放自己改进过的源代码。


在如何对待开源产品这个事情上,我们必须说,亚马逊和其他公司有很大不同。其他公司不论出于什么样的目的,都或多或少对开源产品本身做出了很大的贡献。Hadoop 的三大发行商在很大程度上维护了 Hadoop 基础架构的开发,Cloudera 和 Hortonworks 一度是 Pig 和 Hive 最重要的维护者。各大社交媒体公司也纷纷开源了很多自己的系统,来丰富整个生态圈。这些公司都对 Hadoop 核心代码做出了很多贡献。


但是亚马逊对于整个 Hadoop 生态圈的贡献,除了如何去连接它自己的云服务(比如 S3)以外,善乏可陈。亚马逊做的事情,典型的做法就是把已成熟的开源社区产品拿过来,在内部做二次开发,以便能够在亚马逊的云端很好得运行。然后,就没有然后了。亚马逊并不会给开源社区贡献自己的核心代码。

这也是导致大量开源社区不满的原因,你可以说这是商业规则,或者亚马逊的战略,但社区也可以选择保护性的开源协议,这样的发展具体是双输还是双赢,我们往后看一看再说。


谈到开源,就不能不提国内开源的发展,总体来看,我们的开源社区和产品越来越好了。无论是 Vue 和 OpenResty 这样的个人性质开源组织,还是国内顶级的互联网公司,开源出来的东西原来越多,越来越好,比如阿里腾讯百度去哪儿知乎 360 等等。国内企业体现出来的姿态和做法,都是在回馈开源社区,另外,很多项目也得到了广泛的应用。不过,从这次的阿里开源彩蛋事件来看,估计有不少开发者和公司,还没有具备很好的开源意识。


圣诞节这天……嗯,阿里彩蛋东窗事发了。这个「彩蛋」在开发者社区和用户里引发了轩然大波。用脚趾头想一想也知道这个行为的愚蠢程度和影响范围。再者说,什么叫彩蛋,彩蛋是要藏起来的,是在不影响系统运营和正常使用的情况下,被用户发现的,发现的时候,可能是个 Magic Moment,用户可能会有「哇嗷」的惊喜,至少不会被吓尿或影响主体视觉效果。

Antd 的彩蛋没有隐藏,无需发现,童叟无欺,所见即所得……


不管原因是什么,这说明了开源的贡献者并没有从更高的思考维度认可开源的运营模式,认为项目是自己的,想埋啥蛋埋啥蛋。好的开源项目,肯定是以开源社区的方式运营,并由不同的角色承担开源的责任。

用户评论