成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

什么是開源精神?

開源
2013年7月13日, 由阿里巴巴集團主辦的ADC·阿里技術嘉年華將在杭州海外海國際會展中心隆重開幕,小編也去現場目睹了這場技術的盛宴。本文是玉伯老師在阿里技術嘉年華的「夜聊」環節中,對開源精神的梳理,推薦給大家看看。

【編者按】2013年7月13日, 由阿里巴巴集團主辦的ADC·阿里技術嘉年華將在杭州海外海國際會展中心隆重開幕,小編也去現場目睹了這場技術的盛宴。在阿里技術嘉年華的「夜聊」環節中,@左耳朵耗子@玉伯也叫射雕@淘寶鬼腳七@tinyfool@池建強 這幾位老師分享了技術及技術以外的一些勁爆話題,臺下的掌聲不斷,非常精彩!本文是玉伯老師在夜聊環節中聊到開源精神的一個梳理和總結,一起來看看。

在技術嘉年華的「夜聊」中,談到開源。當時我的表達不夠清晰具體,重新梳理如下。

[[80682]]

一、開源精神里最重要的,是拿來主義。

這和大部分人的想法不一樣。開源需要貢獻、需要付出,但在貢獻和付出之前,首要的是去了解、去使用已經存在的。

比如前端工程師,會經常使用模板,天天用著,會有不爽,就會想著自己去寫一個模板引擎。直接去寫一個沒什么不對,但更好的方式是,先去開源社區搜索下同類產品。看自己的想法,是否已經有人實現了,看自己的想法中,哪些是靠譜的,哪些是不太靠譜的。

注意不要去做「純調研」,除非你已經是這方面的專家,有過體系化的研究和深入。「純調研」是指,找到類似的產品,淺嘗輒止地跑跑 demo,就開始出表格,橫向比較優劣。更笨但更有效地做法是,直接去用,比如我們選擇了 Handlebars ,在項目真正使用過程中,才能深觸地感受到 Handlebars 的優點及其缺點。有過這么一段深入使用經驗后,類似的前端模板引擎,比如 Mustache、Hogan 等,也有大概清楚個七七八八了。

拿來主義不光能省去開發成本,還能讓你擴充見識和想法,而不會成為井底之蛙還茫然自得。

二、在開源世界里,參與比主導更重要。

遵循拿來主義,可以讓你更懂得他人。在這過程中,會有欣賞、感謝,也會有抱怨、想法。

前端 DOM 操作類庫中,很多公司包括支付寶都選擇了 jQuery。使用過程中,jQuery 的一些 API 的設計非常贊,一些內部實現也非常漂亮。遇到這些讓人欣賞的點時,別忘了將自己的感想寫下來。那怕是一篇微博,或是跟朋友閑聊時的只言片語,所有這些,都是參與,都是正能量的傳播。社區的贊譽,可以給 jQuery 開發團隊最大的鼓勵。很多堅持,是因為有肯定。

當然,jQuery 只要存在一天,就一定存在不足。比如 data 的 API 變化,比如動畫不支持純 CSS3 方式,還有 Sizzle 也并非那么完美。所有這些「缺點」,你遇到的 bug,你踩過的坑,當你有好的想法或解決方案時,不要忘記反饋給社區。jQuery 有詳細的反饋渠道,一般成熟的開源社區都會有。比如托管在 GitHub 上的項目,一般都可以通過 Issues 給社區提交你的想法,甚至可以通過 Pull Request 直接提交你修改過的代碼。

參與進去,可以讓你更懂得美,懂得感恩之心,懂得回饋之情。這在過程中,你的功力,往往也會大增。不光是技術上的進步,還包括英語讀寫能力。在人性溝通上,你也會收獲很多,這是無價的財富。

拿來主義是開源的第一步,參與則是開源中最漫長的一步。開發自己主導的項目不是必須的,除非你真的有很好的想法,同時剛好有旺盛的精力,否則不要輕易開始,那不代表什么,往往什么也不是。比如 Sea.js,如果 RequireJS 當初能接受我的建議,或者 FlyScript 的作者不退隱江湖,那么就不會有 Sea.js。讓一些事情自然地發生,讓豆瓣從土壤中發芽。更多地去享受參與,保持簡單與自然。

三、開源的是社區,代碼僅是很小的一部分。

雖然代碼很重要,但在開源項目里,源碼只是重要的因素之一。

除了代碼,還有文檔、測試用例、Issues 管理、版本發布、升級策略、書籍、視頻等等。jQuery、Backbone、AngularJS 等成熟項目,成熟的是社區,而不是源碼。好的社區,是在 Google 中一搜索,就能找到不少資料。好的社區,是你踩過的坑,經常已經有人也踩過并整理分享出來了。

社區的形成很難,需要核心團隊澎湃持久的激情,還需要天時、地利、人和。jQuery 已經形成龐大的社區,但其兄弟 YUI3 的社區,一直不是很成氣候。兩三年前,我想找 YUI3 的總體設計文檔,以及部分組件的設計文檔,搜索了很多很多地方,最后給原作者發信,依舊都未能找到我想要的資料。但 jQuery,基本每個細節,都能比較輕松地就找到相關資料和討論。

沒有社區的開源項目,其源碼會一直停留在「孤芳自賞」階段。幾年前的 KISSY,還有百度的 Tangram,個人覺得都停留在初始階段,發展很難。有社區的開源項目,其源碼會活起來,會自我不斷進化升華。我參與過的一個典型項目是 Backbone,倘若你現在再回過頭去看 Backbone 最初提交的代碼,與現在的相比,真心會覺得有點挫了。最讓人不可思議的是,Backbone 最初很挫的代碼,在社區的參與下,在不斷的討論和 Pull Request 中,現在已經演化成非常高質量的代碼,甚至每一小段代碼里,都能說出一個故事來。我現在依舊非常關注 Backbone 的每一次代碼變化,特別是自己修改過的部分。從其他人的修改中,能收獲很多很多。

Backbone 的例子,也展示了一個更好的開源方式:有了好的想法,就分享出來,最初的代碼展現基本的思路就好,然后通過社區的參與,不斷往前演化,讓大家都成為開發者,群體的力量遠大于個體。個人英雄式的開源方式,已經過時了,就像 sourceforge.net 一樣。

最后,知易行難。上面的道理或許大家都懂,真要做到,則是一場修行。Sea.js 和 Arale 也才剛剛上路,旅途中,有西湖愜意的微風,也有沙漠般的烈日當頭。好在,選擇了,就不怕遠。

原文出處:https://github.com/lifesinger/lifesinger.github.com/issues/167

責任編輯:黃丹 來源: github
相關推薦

2013-07-22 10:21:51

開源

2014-05-07 13:57:59

云計算開源

2012-09-10 09:52:15

開源開源項目開源精神

2020-10-24 17:44:57

LinuxFOSS自由和開源軟件

2014-01-02 13:08:38

2011-12-22 22:53:48

HTC禁售蘋果

2011-12-10 21:39:18

Siri

2017-08-21 08:10:54

OpenStack開源自主可控

2016-01-25 09:53:22

2019-11-15 22:27:06

數據女排奧運

2020-05-29 14:10:23

軟件開發 開源

2010-12-09 11:22:05

Android

2015-03-24 10:57:40

大數據Apache HBAS開源

2015-03-25 13:42:49

開源開放

2020-06-12 14:17:26

開源協議ARM

2012-09-24 10:25:42

BI軟件開源軟件

2013-10-11 12:46:05

Linux操作系統

2021-03-20 22:46:22

IaaSSaaSPaaS

2015-04-23 09:34:51

Windows開源

2021-06-10 10:32:09

Redis開源項目維護
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: jlzzjlzz国产精品久久 | 国产免费一区二区三区网站免费 | 激情婷婷成人 | 亚洲精品乱码久久久久久按摩观 | 免费久久99精品国产婷婷六月 | 伊人久久国产 | 亚洲精品一区二区另类图片 | 欧美精品一区二区在线观看 | 男人天堂社区 | 久热电影 | 亚洲成人国产综合 | 在线中文字幕av | 韩日av片| 涩涩视频网站在线观看 | 欧美a级成人淫片免费看 | 一区二区三区高清 | 国产999精品久久久 精品三级在线观看 | 992tv人人草| 国产精品一区二区福利视频 | 国产精品一区二区精品 | 亚洲中国字幕 | 久久99视频 | 久久专区 | 日本不卡一区二区三区在线观看 | 性精品| 午夜丁香视频在线观看 | 欧美精品v国产精品v日韩精品 | 国产视频h | 国产美女久久久 | 婷婷综合网 | 亚洲一二三区在线观看 | 久久久久一区二区三区 | 99热欧美| 欧美一级二级三级视频 | 精品国产乱码久久久久久蜜臀 | 精品国产一二三区 | 中文字幕在线一区二区三区 | 一级在线观看 | 日本久久视频 | 欧美日韩黄色一级片 | 国产欧美三区 |