小米:開源不僅要站在巨人的肩膀上,還要為巨人指方向
今天上午,第一屆小米開源技術峰會在北京舉行,會上,小米人工智慧與雲平臺副總裁崔寶秋致開場詞,並發表了《小米開源之路》的演講。
崔寶秋強調小米一直在推動開源,也是開源的倡導者。他告訴我們雷軍創立小米的其中一個重要原因是看到了 Android 的開源,雷軍對他說過,任何一家網際網路公司離開了開源就輸在了起跑線上,這就是小米推動開源的原動力。
開源可以提升開發者的工程能力
過去,崔寶秋在接受 InfoQ 採訪時曾說,提升一個工程師程式碼水平程式設計能力很好的方法就是讀大量的程式碼,程式碼是一個豐富的資源庫,讀了之後還要寫,大量的開原始碼可以很快地提升工程水平,也可以提升工程文化或者工程師的文化,讓大家喜歡技術、喜歡開放。而且,開源軟體可以提升人們對程式設計的熱愛,也使得開發者對程式碼質量更加苛求,提升大家對完美度的追求。
對於公司來說,開源可以吸引人才,一個公司擁抱開源,崇尚開源文化,可以吸引更多工程師加入你的公司。
小米開源基於“5 項原則”
崔寶秋表示,小米的開源戰略基於 5 個原則:
1. 速度要快;
2. 不重造輪子,重造輪子會浪費公司資源,反之,我們不僅應該站在巨人的肩膀上,還要努力為巨人指方向;
3. 不用則已,要用則精,在這方面,中國的很多公司犯了很多錯誤,沒有用精,其實是對開源軟體的不信任,不信任的原因是因為沒搞定,只拿來用,用的很不舒服,沒碰到真正困難的時候一切都好,一旦上線、叢集大小不夠,一擴容就容易出問題,所以要用則精,要深度掌握;
4. 永抱開放和共享的態度,這是工程師文化的一個重要組成部分;
5. 極力推出自己的 committer,有的專案很成熟了,不需要參與,有的開源專案自身比較封閉,在一個正常的開源專案上能夠參與就積極參與,但需要注意的是,即使推出自己的 Committer,也要做到不用則已,要用則精。
小米的開源之路
小米的開源之路從 2012 年開始,下圖囊括了這幾年小米在開源上的重大成就。
業務驅動開源
開源是需要大量投入的,那麼如何平衡開源和業務上的投入呢?崔寶秋認為業務第一,開源第二,公司業務發展不要本末倒置,業務永遠是第一位的,開源應該是業務驅動的,而不是跟風。
開源還需要與社群融合在一起,孤軍奮戰很難對開源軟體有任何影響力,推出 Commiter,其中一個原因是除了精通掌握程式碼以外,還需要拿到一定的話語權。中國的很多公司犯的一個錯誤是:在開源上,只是自己玩的嗨,做出來的東西根本不被人所接受,是因為這些公司做了自認為很好的東西,也很有通用性,但由於社群沒接觸過他們的業務,不會對這些專案產生信任,最終,不管好的、壞的專案,都會被社群拋棄。所以,以開放共享、與社群共同成長才能長期享受開源紅利,封閉開發、短期受益,最終會被社群所拋棄。
最後,崔寶秋認為在 AI 時代,應該呼籲廣義的開源,廣義開源是指不僅開原始碼、深度學習框架,還應開源資料,因為在 AI 時代,大資料扮演重要角色。再者,如果開源專案變得封閉,將不利於整個開源社群、開源軟體的成長,HBase 專案之所以做得很好是因為專案負責人的領導風格非常開放、友好、透明,所以在 AI 時代,開源還應該更加開放。