百科问答小站 logo
百科问答小站 font logo



如何看待 Ant Design 圣诞节彩蛋事件? 第1页

     

user avatar   lifesinger 网友的相关建议: 
      

这件事确认是由我们在代码中预埋的彩蛋导致,现在明确认定这一举动是错误的。

这一代码是在2018 年 9 月 10 日提交,该彩蛋让 antd 的按钮在圣诞节这天触发换肤。详细代码可查看:add christmas easter egg · ant-design/ant-design@00aebeb 除了这段圣诞节触发的代码,无任何其他修改。

这个彩蛋有多么欠妥我们不再赘述,对大家造成的各种影响,antd 开发团队致以诚挚的歉意。感谢所有热心用户提出的批评指正,感谢你们的中肯建议。

我们已提供紧急修复方法:请立刻将 antd 升级到修复版本(3.9.4、3.10.10、3.11.6),使用了语义化版本的直接重新安装 node_modules 并重新下载即可。

开源得益于大家的信任,我们会立刻开展复盘并深刻吸取这次教训,并重新 review 代码更新评审机制。后续 antd 代码库里不会再加入与功能无关的代码,请大家持续监督。


user avatar   jin-chi-zhong 网友的相关建议: 
      

强烈建议Intel/AMD在CPU中植入点彩蛋,例如什么图灵纪念日之类啊,让1+1返回3。

我相信这个世界会变得非常的热闹的。


不要和我说什么这个没影响。

在程序员的理想世界,一切确定性的输入应该产生确定性的行为。一切非预期的行为统统是bug。。。

本来和网络丢包奋斗的已经够苦逼了。尼玛,一个UI库还来凑热闹。


谁说这种行为不会造就新的bug的?css覆盖调整样式大家都干过,一层层的,不会叠加出差?至于那个title就更不说了。

后退一万步来说,万一我那天也做了个圣诞节活动呢?是要来PK一下谁的!important写的比较多吗?


我不是antd的用户,但是看到antd出事真的是“非常开心”。

国内app最喜欢的事情就是多管闲事了。没想到这么快国产开源库也学上了。

建议CPU啊,libc啊,内核啊多多加点彩蛋,最好每个人都参与一下圣诞节,到时候一到圣诞节百花齐放一定很热闹。

然后大家都不需要干活了,随时得琢磨一下strlen啥时候会返回inf呢???要不自己for一个得了???


user avatar   lidang 网友的相关建议: 
      

这事儿最可怕的一点是:

如果阿里第一时间告诉大家:这是我们一个临时工commit的,没有经过code review,是管理疏忽(注意:强调是管理+疏忽)和临时工不守规矩私自merge代码(强调:临时工、私自)造成的,向大家致歉,这事儿本来可以直接过去了。

现在搞成什么了呢?貌似是Team Lead直接自己跑知乎上来说,这个github的账号就是我的,声称已经做好挨骂的准备了,然后大家看到了changelog发现就是随心所欲地强行merge进去了,写log的人试图掩盖过去,还看到其他team成员都在底下点赞、叫好。

这说明了什么问题?

  1. 这个“彩蛋”是team lead搞的,说明这至少是管理层主观merge进去的;
  2. 一堆人鼓掌叫好,没有负面声音,证明这个人真的是为所欲为,整个团队都是官僚的氛围;
  3. 在团队管理上压根也没有code review,老大的代码就是随便merge,老大的决策就是正确的决策。

本来可以掩盖过去的一件事,结果成了一场灾难级的公关危机,从“彩蛋”一个技术性的问题,变成了对Ant Design这个团队的管理问题、信任问题和公关问题。

你问我如何看待?开源是不是不堪一击?是不是免费+开源的必须都是垃圾?想用好用的必须花钱去买?用免费开源的东西出了问题是不是用户活该?

抱歉,我还是愿意用开源免费的代码。你们爱写啥写啥,这都是你们的自由,但是Ant Design团队,尤其是那个搞出这个问题的那个team lead,估计凭借这事儿可以让不少人记住了。


user avatar   59xiong 网友的相关建议: 
      

【早就做好了被骂的准备】

我是一点都不稀奇。

围观这次的大新闻并不需要懂什么UI设计或者前端开发,只要接触过2B的领导/策划/产品经理/甲方就能领会到其中的笑点。

人家为什么明知会被骂还要做这个功能呢?

我猜就是产品经理或者部门领导拍脑门提的需求,下面的程序员根本没有反对的权力或者勇气,甚至可能还赌气地让这个功能顺利上线:你过去干了那么多SB事儿,我今天就惯着你,顺着你的意思来,让你捅出个大篓子来吃瘪,反正锅扣不到我头上。

太阳底下没有新鲜事儿啊。


user avatar   winter-25 网友的相关建议: 
      

我来介绍一下什么叫彩蛋,这玩意来自于西方复活节的找彩蛋游戏。

早年彩蛋是没有彩色的,鸡蛋被涂成象征基督之血的红色,小孩子们会把蛋放在地上滚,比赛谁滚得更远才破,人们相信蛋在地上滚的动作会吓退恶魔。后来风俗逐渐演变,蛋逐渐被涂上各种颜色美丽的花纹,滚彩蛋也变成了找彩蛋。

这一天,家长会把鸡蛋涂上漂亮的花纹,藏在屋子里庭院里各种隐藏的角落,找到的孩子会获得幸运礼物。后来,在游戏作品中,大家把一些需要特殊操作才能找到的趣味功能、剧情或者道具称作彩蛋,再后来,一些软件中也加入了类似的元素。

看到没,人家活动是找彩蛋!找!对,彩蛋是要找的,不找发现不了的!

这种突然自己跳出来的蛋,不是彩蛋啊,这叫跳蛋!


user avatar   nameoverflow 网友的相关建议: 
      

这事往轻了说是 antd 伤害自己的名声,往大了说是伤害了整个开源社区的信任模式。

大部分的开源协议都会写明,开源代码不提供担保——这意味着所有使用开源代码的后果(在协议上)都应由使用者自负。

那么问题来了,为什么人们敢用不提供担保的代码?

第一是因为代码开源,使用者可以自行审查代码是否有效、是否满足需求。

第二,在第一点的基础上,可以认为一个「广为流传的」开源软件是一定程度上值得信任的——因为它经过很多使用者的审查或检验。使用大规模的开源代码时,要求每个使用者去审查代码是不现实的。而正是因为使用开源代码需要责件自负,很多时候对开源的使用是基于「信任」——「大公司的东西有保证」或者「用的人多的东西有保证」。

虽然从开源协议上来看,这次事件的始作俑者可以撇清所有法律责任(当然不保证执行上可以成功),一切的后果都是「谁让你用之前不看看代码」所造成的;但是这次事件可以说是一举击溃了开源社区对于这份代码、这个发布者的信任,可以说是动摇了开源社区的根基。至于最后影响会有多大,可能就取决于社区有多健忘了。


user avatar   justineo 网友的相关建议: 
      

Ant Design 的确是最优秀的 UI 框架之一,但也因为它的影响力已经如此之大,所以这样的彩蛋和他们采取的「政策」我觉得非常不妥。

首先是对于终端用户。Ant Design 的用户已经遍及世界各地,这些地方的用户有着不同的文化、政治背景甚至宗教信仰。虽然这个彩蛋的初衷一定是善意的,但是对于受众的感受,显然预期不足。不管是国内、国外,对用户强推圣诞彩蛋其实都过于粗暴了。

其次是对于开发者的雇主/客户。使用 Ant Design 的产品,不管是阿里内部外部,多数都是 To B 的产品。这种产品需要的是稳定、可控、高效。你给客户开发了一个系统,客户可能读到的会是:你今天可以被第三方库随意加一个彩蛋,明天会不会被人植入木马、盗走我的隐私数据?所以这个彩蛋的效果不只是会心一笑这么简单。

第三,对于开发者,也就是 Ant Design 最直接的用户。这个彩蛋的 commit 在数月前,我们也可以从评论中看到,官方是刻意不写如升级日志想给大家一个惊喜的。可是这种「定时生效」的「升级」对开发者异常不友好。试想你上个月将项目升级到了 Ant Design 最新版,今天发现了不符合预期的变化,你第一个反应肯定是我们回退一个版本,把这个新变化回滚掉就行了。但是你突然发现你得回滚到几个月前的版本,我相信此时你的内心深处是崩溃的。那么直接用老版本不可行,那么我们采用官方回复的用 CSS 样式覆盖吧,结果发现这个 fix 无法去除 title 的影响,还得通过在 React 里操作 DOM 来修复。(什么?React?操作 DOM?)当然,我觉得更好的是直接把按钮组件用 webpack alias 放到本地覆盖掉,但是也有用户不用这种构建工具不是么。国内的开发者尚且如此,可以想象那些刚开始度假的欧美开发者是什么心情……

另外,Ant Design 的同学表示早就知道会被骂了,但是我相信这事情发酵的程度应该是超出他们的预期的。持续维护一个开源项目很不容易,但还是希望他们可以更加专业地去评估每一个改动,更加慎重地对待「体验」。


user avatar   haozhi-yang-41 网友的相关建议: 
      

偏个题。

很多人都说开源的协议,没法告。我不太懂欧美怎么规定的,但这是在中国,那就搬出来《合同法》,看看是怎么规定的:

第二条 本法所称合同是平等主体的自然人、法人、其他组织之间设立、变更、终止民事权利义务关系的协议
婚姻、收养、监护等有关身份关系的协议,适用其他法律的规定。

——所有民事权利和义务关系的协议,除了规定的之外,都属于《合同法》管辖之内。


第三十九条 采用格式条款订立合同的,提供格式条款的一方应当遵循公平原则确定当事人之间的权利和义务,并采取合理的方式提请对方注意免除或者限制其责任的条款,按照对方的要求,对该条款予以说明。
格式条款是当事人为了重复使用而预先拟定,并在订立合同时未与对方协商的条款

——开源协议的各项条款在订立时,有没有和对方协商过?没有吧?所以,妥妥的格式条款了啊。


第四十条 格式条款具有本法第五十二条和第五十三条规定情形的,或者提供格式条款一方免除其责任、加重对方责任、排除对方主要权利的,该条款无效。

——就算先不看52条和53条,就说这“提供格式条款一方免除其责任”,对上号了吧?所以,该条款无效。


如果说这么解释还不充分的话,那就再来看52条和53条说了什么:

第五十三条 合同中的下列免责条款无效:
(一)造成对方人身伤害的;
(二)因故意或者重大过失造成对方财产损失的

——瞧瞧,因故意或者重大过失造成对方财产损失的。说得真的是再清楚不过了吧?


user avatar    网友的相关建议: 
      

@偏右悄悄地 进来挨打

建议阿里开除涉事工程师,这不叫彩蛋,这是设计上的breaking change,竟然还理直气壮地说不需要在changelog中体现,既然已经做好了被骂的准备,那被开的准备也应该做好了。

我们整个团队已经不敢用阿里的任何东西了,不只是前端库,后端客户端也是,基本上阿里的东西都是KPI完成之后就放置play,antd大概也会是类似,这回出了这事还庆幸没用这东西。

今天阿里的antd内置圣诞节设计,指不定哪天内置个挖矿,你敢用吗?


user avatar   zhang-wei-18M 网友的相关建议: 
      

中招了,客户项目,还好只是按钮上多了一坨白色的东西。我好怕以后什么春节modal弹出支付宝红包扫一扫,双十一message.error里面有全场五折大促销超链接。




     

相关话题

  前端短时间内发送两个http请求,如何确保获取后发请求的响应? 
  程序员需要区分类与对象这两个概念吗? 
  为什么国内技术社区的影响力越来越弱呢? 
  大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门? 
  如何看待程序员在 GitHub 发起抗议互联网公司实行 996 工作制网站? 
  如何评价 b 站 up 主 Maksim 拍摄的关于中国程序员在瑞典的生活 vlog 被迫删除? 
  你在写程序的时候经历过哪些有趣的事? 
  当人们说一个前端框架太“厚重”时,他们在说什么? 
  是否无法写一段代码将这段代码自己打印出来? 
  如何看待杭州某公司不想招35岁以上基层员工,称工资高、不好「忽悠」、不够拼?如何看待35岁职场危机? 

前一个讨论
为什么壮族人口那么多还默默无闻?
下一个讨论
为什么公司在裁员的同时,会发布大量的招聘职位?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利