国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

開源 | 老板問我“按鈕”為什么被狗啃了?

開發(fā) 前端
12 月 25 日是圣誕節(jié),在這個節(jié)日氣氛濃厚的日子里,眾多國內(nèi)外前端開發(fā)者,卻因為一個突如其來的意外而坐立不安。

12 月 25 日是圣誕節(jié),在這個節(jié)日氣氛濃厚的日子里,眾多國內(nèi)外前端開發(fā)者,卻因為一個突如其來的意外而坐立不安。 

[[253576]]

本文首發(fā)于航通社,原創(chuàng)文章未經(jīng)授權(quán)禁止轉(zhuǎn)載。航通社 微信:lifeissohappy 微博:@航通社 

一覺醒來,他們發(fā)現(xiàn)由自己參與設計的網(wǎng)站、公司內(nèi)網(wǎng)、辦事系統(tǒng)等網(wǎng)頁上,有一些按鈕的上面多了一團白色的“積雪”,在白背景下,看著有點像是被“咬掉”了一塊似的。

“老板問我按鈕為什么被狗啃了”,在代碼托管站點 GitHub 上,有人這么說。

不僅如此,將鼠標指向變化了的按鈕時,原本設定好的文字說明也統(tǒng)一變成了“Ho ho ho”,這是“圣誕老人”標志性的笑聲。

這毫無疑問是一個圣誕節(jié)的應景“彩蛋”。源代碼顯示,只有在系統(tǒng)判斷是 12 月 25 日當天,這個”彩蛋“才會出現(xiàn)。

不合時宜的”彩蛋“

在程序中植入“彩蛋”是程序員們在枯燥的編程生活中展現(xiàn)樂趣,同時聲明版權(quán)的一個悠久傳統(tǒng)。

我們廣泛使用的 Windows、Android 等操作系統(tǒng),以及 Office 辦公軟件的多個版本都埋有“彩蛋”。

然而,“彩蛋”不屬于軟件功能的一部分,所以一般都是在不能直接顯現(xiàn)的源代碼等地,或者需要通過極其復雜的方式才能找到,就像打游戲一樣。

早期的雅虎網(wǎng)站首頁,在左上角”Yahoo!“標志的感嘆號處,點擊那個小小的點,就會有個人唱出”雅虎~“的聲音。如果不是有人告訴你,你可能永遠也想不到這里是可以點的。 

正如張小龍在微信 7.0 發(fā)布當日引用的那句話:”你未看此花時,此花與汝同歸于寂;你來看此花時,則此花顏色一時明白起來。“一個優(yōu)秀的彩蛋,應當是只有在人們特意來看的時候,才顯現(xiàn)出來。

就算有時你想讓所有用戶都看到“彩蛋”,那么它所處的位置以及呈現(xiàn)的效果,也需要以不影響軟件功能正常實現(xiàn)為前提。

例如,谷歌和百度等都會在一些節(jié)日更改網(wǎng)站標識(logo),雖然所有用戶都看得見,但這個位置的展示不會影響使用。

相比之下,在圣誕節(jié)當天出現(xiàn)的這個“彩蛋”,對廣大前端開發(fā)者來說,就顯得相當不合時宜。 

它不分場合地出現(xiàn)在一些機關、企事業(yè)單位的內(nèi)網(wǎng)界面,甚至據(jù)說,在不過圣誕節(jié)的中東國家也出現(xiàn)了。

只要想象一下,有一天你打開電腦,發(fā)現(xiàn)操作系統(tǒng)自作主張的給你換了皮膚,各種按鈕上也都”下雪“了,就能體會到這一事故給開發(fā)者、老板和客戶帶來的極大驚嚇。 

微博 @sss無常

微博 @這種名字也有人用嗎

一個生物科學類網(wǎng)站受到了影響: 

還有一個賣藏區(qū)產(chǎn)品的網(wǎng)站: 

甚至”湖南省發(fā)改委碳排放管理系統(tǒng)“都中招了: 

此外,還有留言說自己是”在伊朗工作的中國前端“的: 

還有說自己是某某委的,沒丟工作還得多虧了自己的小姨子: 

……

更重要的是,在它毫無預兆地呈現(xiàn)出來之前,使用這種按鈕的開發(fā)者們,沒有得到任何通知。

他們瘋狂地尋找到底是哪里出了問題,莫非是有黑客入侵,修改頁面做了個惡作劇?

最終,人們查明了問題:這些“中招”的開發(fā)者們,都在項目中使用了 Ant Design(簡稱 AntD),這是由支付寶母公司螞蟻金服設計團隊制作的一套開源的前端框架。

受害者們涌入 GitHub 上的 AntD 項目主頁留言控訴。隨著管理員下午開始清理,你現(xiàn)在再過去看,恐怕已經(jīng)看不到什么了。

牽一發(fā)而動全身

在當代互聯(lián)網(wǎng)環(huán)境下,前端框架可以看作是20多年前拿光盤裝的“網(wǎng)頁素材庫“的繼承者。

早期網(wǎng)頁設計中,要想做出個性化的按鈕、滾動條、下拉菜單、單選框、表單等網(wǎng)頁控件,要么需要完全自己重寫一遍,要么需要先在 PS 里面把網(wǎng)頁畫出來,再切圖,把圖片插入網(wǎng)頁。

此后,YUI、JQuery、Prototype 等由大公司或者開源社區(qū)貢獻出來的公用”素材庫“,逐漸成為業(yè)界的主流選擇。畢竟,有大公司已經(jīng)做好的組件在那兒,自己就沒必要”重新造輪子“。

以螞蟻金服的 AntD 為例,在網(wǎng)頁中引用它的一小段代碼之后,只需要在寫網(wǎng)頁時規(guī)定一個按鈕的位置、大小和顏色,你就能得到一個優(yōu)雅的,稍微有一點點圓角弧度的按鈕,鼠標指向和按下按鈕時,還會有凸起和凹陷的視覺效果。

如此一來,使用公用的前端框架可以大大節(jié)省開發(fā)者的時間和精力,讓他們把重心放在整體頁面的”謀篇布局“上,甚至為機器自動生成網(wǎng)頁創(chuàng)造了條件。

AntD 不僅提供網(wǎng)頁組件的快捷引用,本身還是一種成體系的設計語言。因此,它已經(jīng)被大范圍應用在支付寶這款軟件上,以及螞蟻金服內(nèi)部的數(shù)百個中后臺應用。

通俗的說,只要正確使用 AntD,就會讓你做出的網(wǎng)頁產(chǎn)品或移動端,在細節(jié)上和支付寶網(wǎng)站或 App 相一致。這或許不會體現(xiàn)設計師的個性,但至少不會讓你犯一些低級錯誤。

AntD 的代碼托管于被微軟收購的代碼托管網(wǎng)站 GitHub 上,即使是中國境內(nèi)的開發(fā)者,目前也可以自由引用來自 GitHub 的代碼,而不用擔心訪問不了的問題。

據(jù)螞蟻金服設計團隊今年 9 月的數(shù)據(jù),Ant Design 1.0 在發(fā)布之后的 8 個月中,就已經(jīng)在 GitHub 上收獲了 11686 個”星標“。

這意味著至少有這些數(shù)量的程序員關注,并使用了 AntD 到自己的項目上:https://zhuanlan.zhihu.com/p/43593326

就是這一得到業(yè)界廣泛關注和使用的基礎組件,突然在毫無預警,也沒有功能開關的前提下,給所有使用者的按鈕控件”下了一場雪“——而且還是在”生產(chǎn)環(huán)境“中,也就是說,根本不給開發(fā)者后悔的機會。

這場”雪災“也讓我們有機會看到該框架的應用范圍之廣泛,以及破壞力之巨大。

AntD 犯了什么錯

就像它的前輩 YUI 一樣,AntD 也是一個典型的”大公司的小產(chǎn)品“,是員工利用工作之余開發(fā)出來,并在工作之外仍能產(chǎn)生廣泛影響的產(chǎn)品。

YUI 當年由盛極一時的雅虎前端程序員貢獻出來,經(jīng)過人們多年來不懈的努力,在雅虎本身幾經(jīng)易手之后,YUI 仍然能作為一個開源項目具有長久的生命力。

在本次”彩蛋“風波之前,AntD 為前端提供了模仿谷歌 Material Design、JQuery 等有限幾套框架之外的新選擇。

它富有活力,又簡約大氣,所以確實受到業(yè)界的歡迎,也提升了螞蟻金服在開發(fā)者中的形象。

AntD 的主要維護人員 afc163(微博 @高端工程師 )早在今年 9 月的一次維護中,就默默地提交了這個”彩蛋“的相關代碼,可是在后來幾個月當中,一直沒有人發(fā)現(xiàn)——也許如果事先告知了,就不叫”彩蛋“了吧。

這位維護人員一開始也沒有意識到問題的嚴重性。他先是說這么點小事,不值得在產(chǎn)品更新說明中體現(xiàn)出來。

然后又說”早就做好了被罵的準備“:

他直到今天下午才發(fā)布官方聲明,道歉并撤銷了這個引起巨大震蕩的”彩蛋“,同時,項目組負責人也保證不會在代碼庫中再加入與功能無關的代碼:

https://github.com/ant-design/ant-design/issues/13848

只不過,由這個自作主張的”彩蛋“引發(fā)的對 AntD 整個項目的信任危機,也許才剛剛開始。

典型的留言是:”今天你慶祝圣誕節(jié)下雪了,明天清明節(jié),按鈕上是不是還要加一個墓碑?“

不同于操作系統(tǒng)打補丁,官方做出的任何更改,都只能寄希望于使用它的開發(fā)者們自主更新到新版,并不能即時”推送“到每一個項目上。

有比較悲催的前端就說,他們老板看到之后大發(fā)雷霆,他建議發(fā)一個新版解決問題,然而老板說不能因為這個發(fā)布新版,所以無法補救。

afc163 承諾代碼中再也沒有其他任何這類”彩蛋“,盡管如此還是有人建議將官方代碼復制一個子版本出來(術語叫做 fork),并由熱心的社區(qū)繼續(xù)維護這一分叉,以免再出什么意外。

事件之后,自然有喜歡 AntD 的用戶跑上去安慰作者,說這就是無心之失;但恐怕由此引發(fā)的用戶流失,也就是不得不替換新框架(找新的”輪子“)的情況,可能會更多。

AntD 開發(fā)者并不需要為受到損失的使用者承擔任何責任,因為這是一個采用了 MIT 許可協(xié)議的開源項目。

大多數(shù)情況下,開源的意思是你可以任意使用我做的這個東西,不需要標注版權(quán),不用付費,也可以隨意修改到爹都不認識;但與此同時,我不會為你的任何潛在的損失承擔責任。這次也不例外。

既然做開源項目放到 GitHub 上就是賺個吆喝,不為盈利,也不承擔法律責任,那么很顯然,”信任“就是一個項目最為金貴的核心價值。

大家都是拿出業(yè)余時間無償參與到產(chǎn)品的改進和貢獻中的,如果其中的信任缺失了,那么至少作為項目發(fā)起人本人來說,他辜負了其他參與者的熱情和努力,就必須面對自己在項目中”涼了“的前景。

開源的深層悖論

有一個經(jīng)典的比喻,說商業(yè)軟件的開發(fā),是一個自上而下的系統(tǒng)工程,就像建造一座”大教堂“。

而開源軟件的開發(fā)過程是一群級別平等的人,共同為某個事物貢獻自己的一點力量,聚沙成塔,資源互換,更像一座熱鬧的”集市“。

”大教堂與集市“的對比,讓堅持開源路線的人們頗為自豪。中心化的商業(yè)軟件開發(fā)流程,容易受到防不勝防的外界侵襲,也不能對新涌現(xiàn)出來的需求做即時,快速的反應,顯得步調(diào)遲緩笨拙。

相比之下,開源軟件的每一個細節(jié),都暴露在”陽光之下“,只要有心,人們都可以發(fā)現(xiàn),所以理論上任何一點想拿開源產(chǎn)品”圖謀不軌“的做法都不會得逞。

正如有人懷疑 AntD ”下次會不會直接用代碼挖礦“這樣的擔憂,就應該是沒有必要的。

但是,今天這起事件的發(fā)生,又反映了什么?為什么理應有人看到并監(jiān)督的問題,卻安靜地躺了兩個月都沒人發(fā)現(xiàn)?

航通社認為,答案可能就出在大企業(yè)作為初始貢獻者,給用戶們帶來的這份”安心感“。

以”因為信任,所以安全“作為口號的支付寶,雖然一度曾經(jīng)做過”社交“的嘗試,但至少在管好我們廣大網(wǎng)民的錢袋子這個本職工作上,還能說是盡職盡責,讓人放心的。

螞蟻金服開發(fā)的 AntD 也因為清亮的設計語言,以及嚴謹,簡約的代碼寫作而受到程序員們的好評,還是體現(xiàn)出了大企業(yè)規(guī)范的開發(fā)流程,和靠譜的開發(fā)人員的好處。

不過,可能恰好因為這一點,使用 AntD 的人們會在不知不覺間,忘記這是一個開源軟件,而且它誕生的本意是支撐螞蟻金服內(nèi)部產(chǎn)品的前端設計。

在螞蟻金服內(nèi)部的工作環(huán)境里,員工們可能都喜歡過圣誕,都能讀出彩蛋背后的含義,并正確地理解它。

所以,一次性把所有按鈕都加上彩蛋,如果在螞蟻內(nèi)部的話,可以說無可厚非。

當 AntD 的適用范圍走出螞蟻內(nèi)部之后,開源社區(qū)本來應該盡到代碼審查的義務。

在實際使用之前,每個單獨的用戶都要仔細看這個代碼的各部分是否已經(jīng)充分滿足了自身業(yè)務的需要,有什么不足或多余的地方,如果是能影響到很多人的問題——就比如”下雪“,就應該及時反饋給初始開發(fā)者,讓他們改進。

因為對螞蟻作為大公司的”信任“,這次應用 AntD 并不幸中招的前端同學們,可以說都沒有再花心思去審查代碼。”最安全的地方“也就變成了”最危險的地方“。

現(xiàn)在,大公司擁抱開源,將非核心業(yè)務甚至部分核心業(yè)務代碼開源,依靠訂閱服務而不是單獨產(chǎn)品賺錢,已經(jīng)成為一種通行做法,像微軟、IBM 這樣的大公司,其從商業(yè)”教堂“到開源”集市“的大轉(zhuǎn)彎更讓人瞠目結(jié)舌。

大多數(shù)時候,多些商業(yè)公司做開源,總是好事。代碼共享出來了,就會有更多人的精力被解放,不至于”重新造輪子“;而全球研發(fā)人員的智慧也能一定程度共享,依靠全球社區(qū)的力量,更能建造一座完美的”通天塔“。

只是,正如上面提到的一樣,這一切的基礎,都應該是基于”信任“這個核心價值。

不管是 AntD 這種”好心辦壞事“,還是早前 Facebook 曾針對 React Native 設下的專利”陷阱“,都挫傷了社區(qū)對于項目的信任。

其結(jié)果,本來安心使用的客戶們倉皇出逃,尋找替代品,一切從頭再來,大量增加無效的重復建設的成本。

我們都說,現(xiàn)在你裝個 App,連許可協(xié)議和隱私協(xié)議都懶得看,都是一路下一步的,那人家遞給你的現(xiàn)成品,你還要拆開看看它有沒有害你,是不是太神經(jīng)過敏了,也太強人所難了?

要想大家都舒服一點,那除非所有自認為擁抱開源的大公司,都更認真的對待自己在社區(qū)的角色,通過更嚴格的自律和自我審查,才能讓大家繼續(xù)安心用著你的產(chǎn)品,真正的為開源做出貢獻。

責任編輯:龐桂玉 來源: 51CTO技術棧
相關推薦

2018-12-25 22:25:22

開發(fā)者技能命令

2021-11-15 12:45:44

協(xié)同過濾算法架構(gòu)

2021-11-23 10:50:29

關聯(lián)規(guī)則推薦推薦系統(tǒng)開發(fā)

2020-04-10 08:03:04

分布式鎖Redlock算法流行算法

2021-11-12 11:51:03

基于內(nèi)容的推薦查詢推薦

2023-10-28 00:02:55

2020-12-04 09:11:50

CTOAPI網(wǎng)關

2020-10-15 09:35:27

亂碼UTF-8GBK

2015-02-13 10:42:31

前端工具Dreamweaver

2021-12-14 07:40:07

企業(yè)內(nèi)部開源

2015-02-12 09:26:07

2021-11-05 11:10:13

MyBatisSQL查詢

2022-02-17 08:54:44

Service開發(fā)Mybatis

2020-03-30 17:20:54

B+樹SQL索引

2025-08-11 04:00:00

開源項目PR

2021-10-25 08:49:32

索引數(shù)據(jù)庫MySQL

2023-04-04 11:11:52

2009-10-28 09:14:43

員工分析軟件

2020-07-13 07:49:38

Kubernetes容器架構(gòu)
點贊
收藏

51CTO技術棧公眾號

欧美一区二区高清在线观看| 免费在线超碰| 欧美精品尤物在线观看| 国产亚洲精品综合一区91| 精品国产丝袜高跟鞋| 五月天国产精品| 色琪琪免费视频网站| 国产精品国产精品| 国产成人高清精品免费5388| 亚洲人成电影网| 色网在线观看| 欧美一级在线免费| 午夜精品一区| 欧美日韩情趣电影| 免费黄色片在线观看| 亚洲444eee在线观看| 日本搞黄视频| 亚洲国产一区二区三区 | 成人黄色片网站| 高清一区二区三区视频| 精品久久一区| 国产精品自拍小视频| 欧美精品一区二区三区精品| 91爱爱小视频k| 国产精品手机在线播放| 国产精品成人免费电影| 人妻丰满熟妇av无码区app| av在线一区二区| 男人亚洲天堂网| 欧美国产精品专区| 黄网站免费入口| 一区二区三区小说| 伊人色综合网| 欧美顶级少妇做爰| 中文字幕在线直播| 欧美黑人xxx| 日韩毛片视频| 国产精品日韩二区| 精品伊人久久久久7777人| 日韩在线观看高清| 性色av一区二区| 亚洲香肠在线观看| 欧美老女人性开放| 精品久久久三级丝袜| 中文另类视频| 91地址最新发布| 天天久久综合| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 色一情一乱一伦一区二区三欧美| 天堂影院一区二区| 久久精品视频导航| youjizz亚洲| 亚洲最大的成人av| aⅴ在线视频男人的天堂| 亚洲黄色免费三级| 日本午夜精品| 久久99精品久久久久久久久久| 国产麻豆91精品| 国产精品视频一区国模私拍| 一区免费在线| 久久免费福利视频| 亚洲乱亚洲高清| 激情成人开心网| 亚洲一二三区在线观看| 色呦呦在线看| 97avcom| 日韩激情一二三区| 97视频在线| 欧美精三区欧美精三区| 四虎精品一区二区免费| 91传媒免费看| 92国产精品观看| 中文日本在线观看| 国内自拍欧美激情| 美日韩一区二区| 色婷婷av金发美女在线播放| 精品国免费一区二区三区| 好吊妞视频这里有精品| 亚洲国产婷婷香蕉久久久久久99| 日韩美女视频一区二区| 玖玖在线播放| 亚洲综合小说区| 成人高清视频在线| 秋霞午夜在线观看| 国产精品海角社区在线观看| 国产精品白丝jk白祙喷水网站| 视频一区二区三区在线看免费看| 久久色免费在线视频| 久久精品一本| 亚洲精品免费一区二区三区| 91在线一区二区三区| 国产在线高清| 欧美性在线观看| 风间由美性色一区二区三区| 国产免费av高清在线| 欧美国产第一页| 国精产品一区一区三区mba桃花 | 国产精品影视在线| 黄色小视频在线观看| 555www成人网| 成人免费看黄yyy456| 人交獸av完整版在线观看| 91青草视频久久| 日韩一区日韩二区| 祥仔av免费一区二区三区四区| 丝袜足脚交91精品| 欧美人与禽zozo性伦| 日本一本不卡| 国产特级嫩嫩嫩bbb| 九九热这里只有在线精品视| 国产盗摄视频一区二区三区| 欧美极品少妇videossex| 91成人免费在线观看| 午夜久久久久久电影| 中文精品一区二区| 一级黄色特级片| 久久99国产综合精品女同| 成人黄色网址在线观看| 伊人色综合一区二区三区影院视频| 精品视频免费观看| 欧美性做爰猛烈叫床潮| 尤物网在线观看| 国产精品视频男人的天堂| 中文字幕一区二区三中文字幕| www.成人在线.com| 国产真人做爰毛片视频直播| 日韩高清av在线| 国产曰批免费观看久久久| 福利影院在线看| 日韩不卡视频一区二区| 日韩理论片久久| 国产美女视频91| 久久久一本精品| 免费在线观看毛片网站| 操91在线视频| 中文字幕一区日韩精品欧美| 亚洲成a人片77777在线播放| 国产男小鲜肉同志免费| 国产精品入口尤物| 日韩欧美在线视频观看| 亚洲午夜一级| bl视频在线免费观看| 国产欧美123| 美日韩精品视频免费看| 国产精品国模大尺度视频| 国产欧美日韩在线观看视频| 伊人av免费在线观看| 国产成人精品福利一区二区三区| 欧美日韩精品一区视频| 免费高清在线视频一区·| 国产亚洲一区二区手机在线观看| 国产中文字幕免费观看| 91po在线观看91精品国产性色| 黄色91在线观看| 国产一区二区三区的电影| 亚洲女同av| 韩国中文字幕av| 91免费版网站入口| 欧美一级黄色大片| 成人黄色在线视频| 国产精品入口久久| a毛片在线播放| 免费看日本毛片| 国产精品九九九| 欧美大胆人体bbbb| 2019国产精品| 亚洲成人精选| 亚洲午夜天堂| 天堂中文字幕一二区| 欧美一区二区三区不卡| 精品一区二区在线观看| 日本少妇精品亚洲第一区| 天堂中文字幕| 粉嫩av一区二区三区免费观看| 亚洲第一男人天堂| 中文乱码免费一区二区| 国产精品a久久久久| 91精品xxx在线观看| 日本欧洲一区| 欧美一区二区三区在线播放 | 成人av动漫在线| 精品国产一区二区三区| 欧美成人hd| 欧美黄色一级片视频| 91青草视频久久| 色婷婷久久一区二区| 天天影视涩香欲综合网| 久久精品国产**网站演员| 国产一区二区三区亚洲| 中文字幕有码在线观看| 依人在线免费视频| 亚洲成人自拍视频| 国产精品久久久久久久久免费 | 青青草国产精品亚洲专区无| 国产 日韩 欧美 综合 一区| 在线免费观看黄色网址| 99草草国产熟女视频在线| 欧美亚洲免费在线| 国产精品永久免费在线| 久久精品免费播放|