“被狗啃”的按钮引发的开源社区信任危机

昨天,在国外民众还在欢度圣诞期间,开发者社区却对 Antd 开发团队发起了连番的炮轰。一觉醒来,他们发现由自己参与设计的、公司内网、办事系统等网页上,有一些按钮的上面多了一团白色的“积雪”,在白背景下,看着有点像是被“咬掉”了一块似的,不仅如此,将鼠标指向变化了的按钮时,原本设定好的文字说明也统一变成了“Ho ho ho”,这是“圣诞老人”标志性的笑声。

 640?wx_fmt=png

原因是库中暗藏了一个未事先告知的圣诞彩蛋、而且也没法手动禁用,导致许多项目方遭遇了客户投诉。从评论来看,网友们的情绪普遍比较激动,不少人表示“老板问我按钮为什么被狗啃了”、“今天的工作就是给客户们解释我们代码没有被注入”。

640?wx_fmt=jpeg

软件彩蛋的本意是指常用软件当中隐藏了一些小东东,这些小东东我们称之为复活节彩蛋。复活节彩蛋的内容包含的很广,从单纯的列出开发人员名单到各类小游戏都有,但它们都有一个共同的特点就是用户是可控的。我们常用的软件如Windows、Office以及我们用来上网的浏览器IE中都有这样的彩蛋。

但号称专注于企业级应用的一个UI库,那么不严肃。敢问哪个老板喜欢这样的“惊喜”?随意调侃节日的UI库,除了这次的圣诞,后面还会不会有元旦、春节、劳动节?

事件出现后,在代码托管网站 GitHub 和社交媒体上,开发者们及吃瓜群众表现出了一边倒批评的态度 ——“我留意到按钮组件的上方出现了一块雪花?这是圣诞节彩蛋吧?为什么不经过开发者的允许就擅自加上了?”

有人说虽然自己觉的很可爱,但这样的彩蛋不可取

640?wx_fmt=png

 

有说自己是XX委的,没丢工作还得多亏了自己的小姨子

640?wx_fmt=png

有人说自己看到彩蛋很惊吓,有种失控的感觉

640?wx_fmt=png

也有吐槽英文拼写错误的

640?wx_fmt=png

... 

简直是一场"痛苦"的狂欢现场。

AntD这套框架是由支付宝母公司蚂蚁金服设计团队制作的一套开源的前端框架。据蚂蚁金服设计团队今年9月的数据,Ant Design 1.0在发布之后的8个月中,就已经在 GitHub 上收获了 11686 个”星标“。这意味着至少有这些数量的程序员关注,并使用了AntD到自己的项目上。就是这一得到业界广泛关注和使用的基础组件,突然在毫无预警,也没有功能开关的前提下,给所有使用者的按钮控件”下了一场雪“——而且还是在”生产环境“中,不出意外,今天这个彩蛋自己就能自行消失,如果仍然没有消失,请查看作者提供的修复方式:https://github.com/ant-design/ant-design/issues/13848

AntD是一个采用了 MIT 许可协议的开源项目,所以开发者并不需要为受到损失的开发者承担任何责任。

既然做开源项目放到 GitHub 上就是赚个吆喝,不为盈利,也不承担法律责任,那么很显然,“信任”就是一个项目最为金贵的核心价值。

开源软件的每一个细节,都暴露在“阳光之下”,只要有心,人们都可以发现。所以理论上任何一点想拿开源产品“图谋不轨”的做法都不会得逞。但是,今天这起事件的发生,又反映了什么?为什么理应有人看到并监督的问题,却安静地躺了两个月都没人发现?开源社区持续出现类似的问题,信任危机也许也只是刚刚开始。

后续也许会再次发生此类事件,开发者除了需要认真检查每次的更新外,自己造轮子也可以杜绝这样的问题,但幸亏在这个时代葡萄城有着众多真正出色的企业级商业软件,相信选择使用葡萄城成熟的商业软件:SpreadJSWijmoJS 是一个更不错的选择,毕竟一家优秀的厂商会为开发者承担所有可能出现的风险这点很重要。最后,让我们祝福他们做的更好。

原文地址: https://www.cnblogs.com/powertoolsteam/p/10177411.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[COCI2017-2018#5] Pictionary(并查集+dfs)

贼ex的一道,卡了本仙女整整7个小时orz 思路容易理解,but码力very重要orz 我愿意花五毛钱提升我的码力,换个脑子也行,不换脸这张脸生得俊俏 luogu传送door 题目 在宇宙一个不为人知的地方,有一个星球,上面…

Docker最全教程——从理论到实战(九)

在本系列教程中,笔者希望将必要的知识点围绕理论、流程(工作流程)、方法、实践来进行讲解,而不是单纯的为讲解知识点而进行讲解。也就是说,笔者希望能够让大家将理论、知识、思想和指导应用到工作的实际场景和实践之中…

[2019CSP多校联赛普及组第五周] 调度CPU (贪心)

来来来,走过路过不要错过题目题解代码实现1代码实现2题目 ⼩Y同学有⼀块超级CPU,它有两个超级核⼼A和B。 A核⼼可以同时处理多项任务,每项任务处理时间为x,B核⼼只能同时处理⼀项任务,每项任务处理时间为y。 这⼀天…

NumSharp v0.6.1 科学计算库发布,支持标量和隐式转换

NumSharp(Numerical .NET)可以说是C#中的科学计算库。 它是用C#编写的,符合.netstandard 2.0库标准。 它的目标是让.NET开发人员使用NumPy的语法编写机器学习代码,从而最大限度地借鉴现有大量在python代码的…

[Luogu2279][HNOI2003] 消防局的设立

文章目录题目法一:树上DP思路代码实现法二:贪心 搜索思路代码实现题目 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基…

dnSpy 强大的.Net反编译软件

一说起.net的反编译软件,大家首先想到的就是Reflector,ILSpy,dotPeek等等。而dnSpy同样是一款优秀的反编译软件,同时它是开源免费的。官方的描述是: dnSpy是一个调试器和.NET组件编辑器。 即使您没有任何可用的源代码,…

小奇探险

文章目录题目题解代码实现题目 小奇去遗迹探险,遗迹里有N个宝箱,有的装满了珠宝,有的装着废品。 小奇有地图,所以它知道每一个宝箱的价值,但是它不喜欢走回头路,所以要按顺序拿这N个宝箱中的若干个。 拿宝…

基于Asp.Net Core打造轻量级内部服务治理RPC(二 远程服务设计)

紧接上一篇《基于Asp.Net Core打造轻量级内部服务治理RPC(一)》文章。本文主要讲解基于Asp.Net Core的远程服务设计和实现。在上一篇中讲过,服务提供者提供的服务实际上就是一个Controller,那么是否在该程序中,服务都按照Asp.Net Core 中的Web Api的方式…

[NOIP 2009 提高组]最优贸易

勤劳的一更题目题解代码实现题目 C国有 n个大城市和 m 条道路,每条道路连接这n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数…

Azure Service Fabric Mesh:一个构建任务关键型微服务的平台

本文要点Azure Service Fabric Mesh(目前处于预览阶段)是一个完全托管的服务,它使你可以使用“无服务器”方法构建、部署和管理由运行在容器中的多语言服务组成的应用程序。Azure Service Fabric Mesh 通过使用 Envoy Proxy 构建的软件定义网…

P3265 [JLOI2015]装备购买

题目描述: 给N个整数向量,每个向量带权值,求权值和最小的线性基 题解: 按权值v从小->大排序,依次插入线性基。整数线性基的思想类似,只是此时“消去”不能直接xor完成,需要类似高斯消元一样…

Surging1.0发布在即,.NET开发者们,你们还在等什么?

开源,是近三十年来互联网经久不衰的话题。它不仅仅是一种技术分享的形态,更是一种开放,包容,互利共赢的互联网精神。 不到30年前,大神林纳德托瓦兹,在赫尔辛基大学实验室里,开发出了第一个版本的…

[SDOI2016]排列计数 (错排数概念 + 递推公式【附带证明】)

辛勤二更题目题解错排数概念错排数递推公式及其证明代码实现这种题做的时候: 做完后:正常这就是生活,我们要学会习惯 题目 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i …

失配树(border树)

4和6没有border关系 举例子: 当i 3时,j fa[i-1] fa[2] 0 s[j1] s[1] a s[3] 所以把i 3点的父亲设为j1 1 P5829 [模板]失配树

魔方俱乐部

爆肝感动三更题目思路90分代码(MLE)题解代码实现题目 fateice 来到了魔方俱乐部旅行。 魔方俱乐部有N个分部,每个分部均有且仅有一个虫洞,但是这虫洞只能通往一个分部。 每个分部有一个 orzFang 价值,第i个分部的 or…

模板:最大匹配

文章目录前言代码前言 匈牙利算法 可以解决的问题&#xff1a; &#xff08;原谅我的偷懒&#xff09; &#xff08;原谅我的水文&#xff09; 代码 #include<bits/stdc.h> using namespace std; #define ll long long const int N3e5100; const int mod1e97; int n,…

Stack Overflow 监控系统内部架构初探

Stack Exchange 架构主管 Nick Craver 在最近的一篇文章中介绍了他们的监控系统。他在文章中讨论了监控策略背后的理念和动机&#xff0c;并介绍了他们的工具集——主要是 Bosun、Grafana 和 Opserver。Stack Overflow 及其姐妹站点 Stack Exchange 运行在.NET 和 MS SQL Serve…

P5829 【模板】失配树

P5829 【模板】失配树 题目&#xff1a; 题解&#xff1a; 参考题解 我们先想一个问题&#xff1a;如何求出一个字符串的所有border&#xff1f; 如果一个字符串既是 S的前缀又是 S 的后缀&#xff0c;那么我们把 SS 自己平移一下就可以前后重合&#xff0c;然后我们就可以继…

[JLOI2015]战争调度

文章目录题目题解代码实现题目 脸哥最近来到了一个神奇的王国&#xff0c;王国里的公民每个公民有两个下属或者没有下属&#xff0c;这种关系刚好组成一个 n 层的完全二叉树。 公民 i 的下属是 2 * i 和 2 * i 1。最下层的公民即叶子节点的公民是平民&#xff0c; 平民没有下…

使用PerfView监测.NET程序性能(一):Event Trace for Windows

前言&#xff1a;在日常项目开发中&#xff0c;我们时不时会遇到程序占用了很高CPU的情况&#xff0c;可能是程序里某些未经优化的代码或者Bug&#xff0c;或者是程序运行压力太大。无论是什么原因&#xff0c;我们总希望能看到到底是哪个方法占用了如此高的CPU。微软为我们提供…