V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Persephone
V2EX  ›  程序员

Ant Design 圣诞地雷

  Persephone · 2018-12-25 09:55:58 +08:00 · 37099 次点击
这是一个创建于 2185 天前的主题,其中的信息可能已经有所发展或是发生改变。

https://github.com/ant-design/ant-design/issues/13098#issuecomment-449754024

做框架不好好修 bug,掺 x 为什么这么积极?

问了一圈,我认识的前辈里 9 月 19 号就已经发现了这段“菜( di )单( lei )”

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

始作俑者甚至还表示:changelog 里无须体现( https://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a#commitcomment-30445378

现在爆发出来我觉得非常正常,因为开发者既然用你这个库就是信你这块牌子,很少人一个个文件审查、一个个提交的看。

各位怎么看?我是觉得非常不合适。

第 1 条附言  ·  2018-12-25 10:36:50 +08:00

https://github.com/ant-design/ant-design/issues/13818#issuecomment-449753026 早就做好了被骂的准备

怕不是只要做好坐牢的准备,什么恶意代码都敢掺咯?

第 2 条附言  ·  2018-12-25 13:53:26 +08:00

这里想多说两句。

首先,Ant Design 对于前端业界的贡献是很大的,虽然这次出现了这样的人为疏失,但不得不说这个项目已经是为数不多完整可用、并且不断在迭代的项目了。我相信大多数人就算在使用中遇到这样那样的问题,最终还是会感谢这个项目的开发人员做出的贡献的。

那问题出在哪儿?你不能要求所有开发者都逐行审查自己使用的库的代码,因为这在一半工程实践里不现实。你也不能要求开源项目的作者付出120% 的心力来完善项目保证没有问题,因为这也不现实。

怪谁呢?想来想去,最后发现还是国人的开源模式和做法上的问题。比如我在主楼提到的,已经有大佬提早在审查代码的时候发现了,但没有提交pr 和issue,只是在自己的项目里进行了相关的修正,最终没有把问题扼杀在摇篮里。问起大佬为什么不提交?大佬的回答:“反正这不是我的库,干什么多管闲事?”。联想起到现在还有很多朋友发提问贴,得到回复并解决之后就编辑掉帖子的做法,突然就感觉很无力。

是啊,这就是现实。

  1. 希望开发者不要再进行独断专横的操作了,您在开发的代码被很多前端项目依赖,请不要辜负使用者对您的信任。

  2. 希望各位开发者发现问题或者解决问题的时候,请不要吝啬分享,说不定你做出的贡献可以让很多人收益。

  3. 在使用各种服务的各种功能前,请务必摸清其中规则。比如:github 的issue 并不是用来骂街和观光的,npm 不是用来传乱七八糟东西的。

  4. 你索取是你的权力,但别人提供并不是义务。

生活不易,愿国内开源氛围能够越来越好吧。

262 条回复    2018-12-26 14:29:15 +08:00
1  2  3  
across
    201
across  
   2018-12-25 15:50:15 +08:00   ❤️ 2
想起以前有个开源修改器,叫什么 engine 来着,4.1 当天弹出个窗口跪求捐款$10000····
melvin
    202
melvin  
   2018-12-25 15:56:03 +08:00
这他么是彩蛋么,明明是事故好不好,企业的损失谁来承担
micean
    203
micean  
   2018-12-25 15:56:15 +08:00
彩蛋为什么不能告诉别人?
电影票上还写着结尾有几个彩蛋呢……
CtrlSpace
    204
CtrlSpace  
   2018-12-25 16:11:35 +08:00   ❤️ 4
那些洗地的真恶心啊。。。
sarices
    205
sarices  
   2018-12-25 16:13:51 +08:00
下次记得加个二维码扫描付款
radiolover
    206
radiolover  
   2018-12-25 16:29:02 +08:00   ❤️ 6
讲来讲去,都不愿触及痛点:一帮为了住房医疗教育等生活问题发愁的人,一群生活在利己主义和丛林法则氛围的人,需求层次本来就很低。非要去"拥抱"欧美的开源文化,好听的说法是“开源中国化”,其实搞出就是四不像,出现各种奇怪的撕逼和谩骂也就不足为奇了。
国内圈子关注的不是尖端技术,而是尖端技术的“标志”。
Chrisplus
    207
Chrisplus  
   2018-12-25 16:41:11 +08:00
最尴尬的是想搞一把洋事儿结果弄的一身膻……

学的全是皮毛,节日项目文化都是如此
AppxLite
    208
AppxLite  
   2018-12-25 16:42:05 +08:00
心里一直有个疑问,这是不是阿里故意做的一次 SEO,知名度又提高了不少,我看 star 数量涨了不少。
sobigfish
    209
sobigfish  
   2018-12-25 16:44:16 +08:00
恐怖就恐怖在,这个彩“弹”炸在了众多的最终用户那里----而不是开发者那
所以以后前端招聘里有会自己 code review 将使用的开源代码的要求啦
ShuoHui
    210
ShuoHui  
   2018-12-25 16:54:39 +08:00 via iPhone
kalasoo
    211
kalasoo  
   2018-12-25 16:57:10 +08:00   ❤️ 2
写了一点对于开源和责任的理解,与大家分享
https://juejin.im/post/5c21a3ea5188254eaa5c4486
m0yBPjyX3475syS4
    212
m0yBPjyX3475syS4  
   2018-12-25 16:59:39 +08:00
欧阳少恭在青玉坛炼丹,有一种丹药经常被自己之前施恩过的人来请。
欧阳少恭只是每次都提供、却故意不说这丹药吃多了会积累毒性而导致暴毙。
这次 ANTD 团队搞这样一齣恶作剧,还真当自己是欧阳少恭了。 ​​​​
SCaffrey
    213
SCaffrey  
   2018-12-25 17:12:38 +08:00
@AppxLite #208 Trending 第一呢
wly19960911
    214
wly19960911  
   2018-12-25 17:16:04 +08:00
@AppxLite #208 star 有什么用,spring 才 2w 的 star,这么牛逼都这样,star 真的并不能说明什么。
DesmondLiu90
    215
DesmondLiu90  
   2018-12-25 17:28:51 +08:00
code review 没有吗?
zhangdawei
    216
zhangdawei  
   2018-12-25 17:29:00 +08:00
挺恶心的
wispx
    217
wispx  
   2018-12-25 17:32:35 +08:00
戏剧性太高,想给个惊喜,没想到变成惊吓
xiadong1994
    218
xiadong1994  
   2018-12-25 17:42:45 +08:00 via iPhone
@zsdroid hard code 个二三十年的春节日期也差不多够了
fundon
    219
fundon  
   2018-12-25 17:52:38 +08:00
这不是一个彩蛋,这是一个🌰!
fyxtc
    220
fyxtc  
   2018-12-25 17:54:20 +08:00
@DEEPPANDA 怎么 v2 也有这种脑残? block 见
lyoe
    221
lyoe  
   2018-12-25 18:12:15 +08:00   ❤️ 1
“早就做好了被骂的准备”
我理解为这是一种反话,是一种炫耀。作者当时的心理也许是:等到 12 月 25 号,不知道多少人夸我,美滋滋。
shiny
    222
shiny  
   2018-12-25 18:13:50 +08:00
零点的时候在调试,突然样式变了,吓了一跳,还以为出 Bug 了。还好只是内部用用,确实有考虑用于佛教和中东电商项目,那就怎么死都不知道了……
fundon
    223
fundon  
   2018-12-25 18:14:36 +08:00
核心开发团队,没有很好的 code review 流程;开发者可能有些膨胀了
lifesimple
    224
lifesimple  
   2018-12-25 18:24:24 +08:00
如果是作者一些边际条件没考虑到位引起的 bug,那大家也能理解吧。可这次完全是作者想当然加的而且当时的 commit 也有人提出质疑,也不在 changelog 中说明
H0TSp1RnG
    225
H0TSp1RnG  
   2018-12-25 18:42:36 +08:00   ❤️ 1
你...竟然....在代码里下毒! 呃啊~
iugo
    226
iugo  
   2018-12-25 18:59:40 +08:00
> 你不能要求所有开发者都逐行审查自己使用的库的代码,因为这在一半工程实践里不现实。你也不能要求开源项目的作者付出 120% 的心力来完善项目保证没有问题,因为这也不现实。

我不可能不用外部依赖, 所以, (经领导确认)我就受着...
ray1888
    227
ray1888  
   2018-12-25 19:30:24 +08:00
其实证明大家应该有意识,每次下新版本之前要看 changelog,这个是好习惯。如果发现 changelog 有问题,那就赶紧 issue
hljjhb
    228
hljjhb  
   2018-12-25 19:40:39 +08:00 via Android
@ray1888 “不需要在 changelog 中体现”
sammo
    229
sammo  
   2018-12-25 20:01:20 +08:00
知道微软为什么不用所谓的开源项目了吗?
https://www.v2ex.com/t/314814?p=1

> 没有 jQuery,没有 React,没有 ES2016,没有 AMD,没有 CommonJS,没有 Browserify,没有 npm,没有 Bower,没有 Angular,没有 Grunt,没有 Gulp,没有 Webpack。
>
> 有 TypeScript !
>
> 没有 Ramnda,没有 Fetch,没有 Promise,没有 await,没有 async,没有 Flux,没有 Redux,没有 KnockoutJS,没有 Handlebars,没有 Mustache,没有 underscore,没有 Lodash,没有 Jade,没有 EJS,没有 Elm。
>
> 没错,大部分新技术这里都没有。只有一个自己写的基础库,实现了 DOM,Ajax 等一些常见的操作。
>
> 为什么不用一些新技术呢?我觉得是为了追求稳定性吧。
>

答:小作坊才会被小作坊坑死,大公司不会
sheeta
    230
sheeta  
   2018-12-25 20:43:10 +08:00 via Android
毕竟是前端娱乐圈
jiejiss
    231
jiejiss  
   2018-12-25 20:58:18 +08:00 via Android
1. 阿里不是为了几个月饼开了三四个程序员吗。不知道这次开不开(吃瓜群众表示谴责双标
2. 如果我是被开的老哥,阿里 antd 团队等着食我律师函吧
loveour
    232
loveour  
   2018-12-25 21:13:39 +08:00
不理解为这件事辩护的人。
MartinWu
    233
MartinWu  
   2018-12-25 21:16:08 +08:00   ❤️ 1
我好奇,作者真的有义务对使用其源码的“用户”负责么? 凭什么?
wangxiaoaer
    234
wangxiaoaer  
   2018-12-25 21:22:36 +08:00
@jhdxr #112 你可拉几把倒吧,这是 feature,符合预期?
chengxiao
    235
chengxiao  
   2018-12-25 21:52:09 +08:00
@MartinWu
这么理解 你可以在彩蛋出来前给个提醒 另外默认可以为关闭状态,让用户选择是否开启,否则的话 这东西跟可以理解为一颗肉鸡炸弹了
lfzyx
    236
lfzyx  
   2018-12-25 21:58:44 +08:00   ❤️ 3
一帮神精病吧,大厂的开源项目天天爆出漏洞,就没看见你们骂,怎么开源项目弄个圣诞彩蛋就要骂了?

一群自以为是的傻屌,自己去 code review 啊
xifangczy
    237
xifangczy  
   2018-12-25 22:00:02 +08:00
@lfzyx 漏洞是无意的,谁都不想有。这个是故意的
imn1
    238
imn1  
   2018-12-25 22:05:14 +08:00
马上去检查一下几个岛国人写的开源,有没有加 RION 彩蛋,我一定不会滚的
lfzyx
    239
lfzyx  
   2018-12-25 22:06:23 +08:00
@xifangczy 人家是 MIT 协议下的开源项目,代码想怎么写都行,你想要特别的定制化服务,可以联系作者付费获取支持啊
May725
    240
May725  
   2018-12-25 22:11:12 +08:00 via iPhone
@MartinWu 在这件事上,法律可能没问题,但道德情理上肯定跑不掉!
lfzyx
    241
lfzyx  
   2018-12-25 22:14:35 +08:00   ❤️ 2
这贴真是让我看到了“巨婴”不分行业,目光所及,皆是巨婴
kiddult
    242
kiddult  
   2018-12-25 22:34:58 +08:00
@lfzyx 你是不是绝对上面说的在库里面加点挖矿程序比较好?你真知道这种代码所带来的后果么?
agagega
    243
agagega  
   2018-12-25 22:42:45 +08:00 via iPhone
这事不应该,维护者有这样做的权力,但不太地道。

不过,如果真的有程序员因为这个事情被开了,这种公司这种领导还是慎重考虑吧。真以为个个都是微软,有资源从头再搞一套?
imn1
    244
imn1  
   2018-12-25 22:56:37 +08:00
非法入侵计算机罪是否成立?
Deeer
    245
Deeer  
   2018-12-25 23:01:23 +08:00
我觉得我们需要重新的了解一下各个 LICENSE 的含义了
https://github.com/ant-design/ant-design/blob/master/LICENSE
oldcai
    246
oldcai  
   2018-12-25 23:07:05 +08:00   ❤️ 5
因为事业单位不过洋节被开除的,我个人是一点都不同情的,
如果发生在金盾工程,甚至会拍手称快👏👏👏

某些朋友专门找软柿子捏,最后只会是柿子越来越少。

我始终不觉得这是个“严重”的事情,

用比较糙点的话来说,你一没付费,二没提交代码,你凭啥要求这要求那的?对作者来说,你最多也就可以建议,对自己最多就选择一下。

用正经一点的话说:
MIT 说的就是,软件没任何保证,作者无任何责任。
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
leekafai
    247
leekafai  
   2018-12-25 23:10:19 +08:00 via Android   ❤️ 1
彩蛋是找出来的不是跳出来的
jhdxr
    248
jhdxr  
   2018-12-25 23:56:48 +08:00
@Persephone 真不好意思,我离开阿里好多年了,而且对前东家也没那么深刻的感情,所以看到有人说『支持的不是蠢就是坏』,我觉得我在没有利益相关的情况下被人扣上这么一个帽子,追着问问还不行了?


@no1xsyzy @wangxiaoaer 同意这是**未预期行为**。但彩蛋本身也是不在预期内的。

另外 @no1xsyzy @kalasoo 等人提到了开源的信任和责任之类的。观点本身我觉得没有问题,你说 antd 这次信用破产,开发者都转投别的库也好,有大佬去弄一个新的 fork 也罢。我想指出的是一个持续的开源项目背后必然要有钱的投入,我并不看好由于这次事情产生的那些替代产品,靠一时的热情是没用的。
wavingclear
    249
wavingclear  
   2018-12-26 00:00:52 +08:00
@lfzyx 建议您看一下 179 楼。当然 MIT 协议允许开发者做这类事情,直接公告说本项目有各种惊喜彩蛋爱用不用也是可以的。有担当敢这么声明,自然有人会去 fork 开新分支,各自玩各自的呗。怕的只是自我宣传是企业级项目,干的事情很不职业。
怎么玩都可以,但是给人点准备,不该违背常人的心理预期使人有受骗的感觉。举个例子,美国人在开源代码里悄悄埋雷,在夏季某天网页上自动显示某些反华价值观言论,这违反协议了么?
当然有人说这是计算机犯罪的过火了点。
wavingclear
    250
wavingclear  
   2018-12-26 00:01:48 +08:00
好吧刚看到#248
Persephone
    251
Persephone  
OP
   2018-12-26 00:06:27 +08:00 via Android
@jhdxr 哪里不好意思来着?有什么觉得不好意思来着?是觉得做过阿里人很不好意思吗?啧,讲道理怎么也应该是我不好意思才对。

@oldcai 别人都快讨论完的观点,你这车轱辘话说的一点意思都没有。话题都已经升级到开源项目管理上了,醒醒。
jhdxr
    252
jhdxr  
   2018-12-26 00:11:36 +08:00
@Persephone 我只是对你的猜测落空让你感到失望而不好意思。不用联想太多,想象力过于丰富了一点。
mytsing520
    253
mytsing520  
   2018-12-26 00:33:45 +08:00
技术是一把双刃剑。

如果可能,谁都不愿意把这个事情弄的上纲上线,前提是你别砸了别人的饭碗。

如果是我的话,我宁愿不显示这种提示(主版本上),但我可以另外开设几个特别版本或开设帖子告诉有需求的用户怎么做,当然这会提前声明。这样的话,用户想不想加,假如加了,出现了任何后果,我可以不用承担任何责任。
(现在说这话,只是事后诸葛,我做好了被喷的准备。我只是希望 Ant Design 团队吃一堑长一智,以后不要出现这么低级的犯错。好的项目宁愿发展慢半拍,也不要因为时间紧张来导致出现更严重的后果。另外社区的意见也务必重视,任何人无权因为自己在什么公司任什么岗位就能对别人随意颐指气使或不予采纳意见,除非你是这个人的上级,或者这个人本身就是自大无比)

使用 Google Doodles 的例子我不知道是否合适,Google Doodles 也不是在特定节日会在每一个地区版本都上统一的 Logo,当然你自己通过某些工具访问到了与你所在的文化价值观不符的 Google 站点上,看到了“令你不适的” Logo 图标,这就不是 Google 能控制的了。

至于 MIT 协议,这不是逃避的借口,事实上也借不到,做错了就是做错了。
jhdxr
    254
jhdxr  
   2018-12-26 00:54:08 +08:00
最后再回复一个算是对这个做个了结。

1. 我觉得这件事情不妥但还不至于算做错。
2. 这件事情给大家一个提醒(下面这句为引用,但代表本人的观点)当你使用一个开源库的时候,你就应该做好自行为它的代码负责的准备,而不是推卸责任。
3. 所有因此打算转投别的库或者 fork 一份的人欢迎行动起来,这是你们的权利。正如 antd 的维护者往 antd 里加(如何称呼不重要)一样,那是他们的权利。
YvesX
    255
YvesX  
   2018-12-26 01:34:25 +08:00   ❤️ 3
请问后面这些楼为何要为势不可当、无法改变的事情争论?争出对错了,事情就按照你的想法发展了吗?

开源者没有法律责任,如果造成损失,采用开源代码的人要承担全部责任。
但事实上既不可能全部造轮子,也不可能 review 所有开源代码,所以在实务上,开发者只能选择信任一些项目及其背后的维护者。
项目和代码维护者失去的就是这种信任。
KuzhiBake
    256
KuzhiBake  
   2018-12-26 08:35:43 +08:00 via Android
十分的...不可思议。
顺便→开源🐮笔!免费即正义!
lianxiben
    257
lianxiben  
   2018-12-26 08:41:29 +08:00
@guoshencheng1 哟,你是用什么框架都过一遍源码了?
sevenzhou1218
    258
sevenzhou1218  
   2018-12-26 10:35:14 +08:00
看了一页评论,丰富了我的 block 列表~
mars0prince
    259
mars0prince  
   2018-12-26 10:43:22 +08:00
阿里就是这个鬼德行,或者说中国企业都这样,又不是一天两天了。人家就是随意收集你隐私,随意改代码,你有本事不用呗,国外高质量库也很多,有本事号召大家一起抵制 antd 呗,没本事就老老实实装孙子,别当键盘侠
no1xsyzy
    260
no1xsyzy  
   2018-12-26 12:16:28 +08:00
@jhdxr “彩蛋” 的核心在于它不是存在于软件的目标上的,而是无关紧要的方面。

(游戏不是软件,只是这个游戏恰好以软件的形式提供,所以我也认为游戏无需开源(但不成为使用 DRM 的理由,那是对物理限制的拙劣模仿,是在篡夺一切自然和 / 或神明的特权力))
janxin
    261
janxin  
   2018-12-26 13:54:54 +08:00
@across 这个没那么严重,因为人家是软件,爱怎么折腾是他的事情。就像很多软件都会弹捐助窗口一样。

开发框架可不一样了
c4fun
    262
c4fun  
   2018-12-26 14:29:15 +08:00
如果这个彩蛋是在拉马丹的时候弹出,圣诞老人变成真主安拉,按钮的 title 变成“安拉胡克吧”。那是不是可以算是恐怖袭击了。
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3570 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 04:22 · PVG 12:22 · LAX 20:22 · JFK 23:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.