Antd 的彩蛋不仅让开发者被炒,对视力障碍者影响也很大

2018-12-26 12:56:01 +08:00
 nohup

这里不讨论 button 上面的雪花,其实我个人是无所谓的。
但是比较让人费解的是把 button 的 title 改成 HOHOHO,讲道理,这是什么意思我猜了半天都猜不出来。我们公司系统用了很多 Antd 作为开源库,很感谢这么好用的库能贡献出来,但是这样的彩蛋直接影响到了用户,让我们用户几个小时都无法正常使用应用(他们视力不太好,特殊用户)。
我觉得能搞出这种彩蛋的,真的一点社会责任感都没有。明知 Antd 项目影响力很大,但是依旧随意就推这种彩蛋,我的理解这不是彩蛋,而是炸弹,一点也没考虑视力障碍者,说好的 Web 开发无障碍访问呢?
知乎始作俑者偏右还说人手不够没来得及优化,那就有时间来加这种残害用户的炸弹了?我虽然没给钱,但是信任他本身说自己是企业级的,现在又搞出这种低级幼稚错误,changelog 又不说明。

所以这个帖子是在吐槽始作俑者,我猜肯定会有睿智说一些睿智话如:

嗯,是的,我们不想因为 Antd 没有责任感导致我们也丢失了责任感。我们的系统将会逐步重构,完全除去 Antd 以及套件。从阿里开源的各个产品,我们同事一致觉得都很难用,尤其是 roadhog,这种套个 Webpack 形式再搞自己定义的配置,比起 Parcel 自己重头写不知道丢脸到什么程度了,我拜读过源码,发现质量真不敢恭维,发个 Issue 还爱理不理的,这是在砸自己脚。
希望各位投入于企业级应用,下次在选型的时候留意一下 Antd,这是一个不负责任的、随意加跳蛋的开源库。
什么是企业级应用?就比如 ExtJS,虽然他是收费的,但是他真正做到了企业级应用的口碑,并且让人十分信任。
我建议要不 Antd 也搞收费吧,弄一个收费版本的,并且说免费版本的完全不负责,可以顺便加个脚本挖矿支持一下 Antd。如果不收费你就不要说自己是企业级应用了,不仅让国内开发者觉得丢脸,而且国外开发者也觉得中国顶尖开源库也这么随意。

简单一句,Antd,尽管你是免费开源的,但是你真的不配标榜企业级应用

18350 次点击
所在节点    程序员
142 条回复
hjc4869
2018-12-26 13:03:31 +08:00
https://github.com/ant-design/ant-design/blob/master/LICENSE

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.

先不说 ant design 的对错,它本来就是无需承担任何责任的,所谓的社会责任感只不过是无中生有的幻觉。
而你的项目引入了 no warranty 的开源代码,不完整地 reivew 一遍就作为自己的产品发布给客户用,整个流程中最不负责任的是你自己。
PP
2018-12-26 13:04:22 +08:00
同意。并且担忧今后可能会更乱,乱风起,杂草生。
n2ex2
2018-12-26 13:07:40 +08:00
@hjc4869 有多少比例的开发者 review 过 linux kernel 的源码,linux distro 装的每个包是不是都要看一遍?
expkzb
2018-12-26 13:09:32 +08:00
前天我还在吐槽淘宝直播客户端 4.6 Mac 版本由于官网更新了 4.7 PC 版本导致无法使用的问题。
n2ex2
2018-12-26 13:09:47 +08:00
antd 不用承担法律责任不代表不用承受舆论谴责,这种主观故意的埋雷行为是不可接受的。
radiolover
2018-12-26 13:10:08 +08:00
1,一群“为生存发愁”的人去做“自我价值实现”的事情,想象就明白会做出什么四不像。
2,国内重视的其实不是技术领先,而是“技术领先的标志”:大家拼命去搞 GITHUB 的真实动机是什么,相信各位心里都清楚。
3,中国人多,出名的机会都需要争抢,“红眼病”在国内尤其严重:看你做的那么成功,谁不想找机会搞死你?所以撕逼谩骂也是国内开源界的一大特色。
其实 Antd 可以这样做。道理很简单:使用开源,后果自负; antd 是属于开发者的,开发者想加入什么需要你指责么?这就是无条件免费补贴造就的拿来主义巨婴,关键是巨婴红眼病还很严重。
总之,开源文化和传销一样,在中国走不通。因为经济条件和国情没有欧美开源文化的土壤。
hjc4869
2018-12-26 13:10:22 +08:00
@n2ex2 如果你把 linux 作为你产品的一部分 release 出去了,那因为 Linux 的故障产生的损失由你来承担。review 与否是你的自由。
yanaraika
2018-12-26 13:11:29 +08:00
@hjc4869 antd 并不是阿里的商业产品。没有任何一个地方给过 liability
nohup
2018-12-26 13:11:57 +08:00
@hjc4869 你说的对,我不应该要求 Antd 有社会责任感。但是我受害之后,要广而告之,这是一个让你项目破产,信任破产的开源库,使用它要考虑被炒鱿鱼的后果。

你说的“不完整 review 一遍”也是那些睿智喜欢说的话,现在被炒鱿鱼了被领导吊了,谁要求 Antd**赔钱负责**了?从我的角度来看,这是不可控的恶意代码,我们不要求 Antd 赔礼道歉,但有权利可以指责它,唱衰它的名声
yanaraika
2018-12-26 13:12:16 +08:00
@hjc4869 就和 Google/grpc 出了 bug 没法找 Google 麻烦一样
n2ex2
2018-12-26 13:12:36 +08:00
@hjc4869 如果 Linux 有 bug 导致损失,使用者概括承受。但如果 linux 被种下恶意后门,那还不许使用者批判几句?
yanaraika
2018-12-26 13:13:36 +08:00
唱衰是可以的,不过这也只是唯一能做的事。其实我一直很诧异居然没有国内开发者把这事翻译成英文发到 hacker news
hjc4869
2018-12-26 13:17:10 +08:00
@nohup
@n2ex2

我并没批判你们喷 antd,我也喷 antd,不过希望因此被炒鱿鱼的人能反思一下自己平时是不是应该多了解一下自己用的开源代码到底做了什么事情。你做一个产品连自己的产品的 behavior 都不明确,那出了事这个锅甩不掉的。

“谁有精力去 review 所有代码”是一个谬论,是什么时候开始人们可以把自己都不知道怎么工作的代码打包成产品卖出去还理直气壮了?
lfzyx
2018-12-26 13:18:31 +08:00
无障碍访问与 css 无关,只涉及 html 语义 ( https://developer.mozilla.org/zh-CN/docs/Learn/Accessibility/What_is_accessibility
watzds
2018-12-26 13:18:52 +08:00
我觉得这是小题大做
小事可以有挺大的影响,但是做小事的人没大错
nohup
2018-12-26 13:19:54 +08:00
@lfzyx 你还不知道那个窒息操作是怎么样的,是直接修改了 html 代码的 button 的 title,他除了弄雪花,还直接修改了 html 的 title
nohup
2018-12-26 13:22:05 +08:00
@hjc4869 每个代码都要 review 一下,中国互联网不会这么好的,你不可能拿中大公司 100-1000 人来要求一个小公司。每天活都做不完,哪还有时间一个个 review。就算我这个月花了一个星期去 review,他下一个版本给我插一个恶意代码,我还很难 review 出来,这难道还只能是开发者的错误? Antd 不可能一点错也没有吧
bookit
2018-12-26 13:22:15 +08:00
专业,这个最基本要求都没有。

不能跳脱
shintendo
2018-12-26 13:32:58 +08:00
@lfzyx
title 是 css ?
hjc4869
2018-12-26 13:34:43 +08:00
@nohup 我觉得不用把每个文件都 review 一遍,但是项目里用到了的部分最好还是多看一下。antd 这个项目的组织结构非常扁平,你完全可以只看自己用的控件,和公共的部分。

https://github.com/ant-design/ant-design/blob/5f9b376456e9926c0edfef6c8604ec9f5d926dd5/components/button/button.tsx#L210

比如这次的“恶意”代码在 button.tsx 这个不足 300 行,简单易懂,结构清晰,没藏着掖着也没混淆的代码里面。如果平时做项目的时候稍微点进去看看也不难发现这种事情,毕竟 button 这个控件可能你已经用过几百次了,稍微进去瞄一眼也不是很过分。
毕竟这次这个地雷不像以前 npm 上有一些真正的恶意代码,都是包里有 github 上没有出现的内容。

另外关于升级,可以直接 diff 两个 tag 完成 review,同样也是只看自己用过的控件和公共部分,其实要不了多久。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/521132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX