1. 程式人生 > >小米開源:站在巨人肩膀上的創新

小米開源:站在巨人肩膀上的創新

7月22日訊息,    小米4 手機今天釋出,又一次掀起了業界關於“小米現象”的討論熱潮。藉著這股東風,我們來了解一下“開源”文化在這個炙手可熱的科技公司中佔據什麼地位。

作為一款Android系的產品,小米手機天然具有開源的基因。小米的MIUI系統,被認為是利用開源Android作業系統的成功典範。最新的小米路由器,也使用了路由器端著名的開源OpenWRT系統。除此之外,小米在日誌框架、服務框架、HTTP    Web框架、訊息佇列、搜尋、分散式快取、儲存業務、監控報警、資料處理等多個領域,都使用了開源技術。

小米首席架構師崔寶秋在談到“開源”的時候曾說:“擁抱開源軟體,可以站在巨人的肩膀上進行創新。"


除了使用開源外,小米也回饋開源社群,推出了MIUI系列工具、Minos分散式部署和監控工具、Chronos高可用Timestamp服務、Themis    HBase跨行跨表事務實現及其他一些運維工具等等。

1. MiCode公益社群

MiCode是小米建立的一個綠色公益社群,不含有商業利益,包括運營和發展也希望靠社群自己的力量。MiCode社群的這些開源專案的程式碼放在Github上:    https://github.com/MiCode

MIUI帶頭髮起了一些專案開源貢獻給MiCode社群,包括小米便籤,還有為了幫助其他ROM製作者移植MIUI的PatchRom專案等。這些專案使用了對商業公司非常友好的Apache2.0協議。   

MIUI檔案瀏覽器
MIUI檔案瀏覽器,簡單快速的檔案瀏覽器。執行與Android4.0及以上版本,運用4.0的控制元件,如:進入ActionMode,滑動切換Tab。主要功能:快速掃描、瀏覽SD卡的檔案;支援遠端管理,通過FTP協議,電腦可以操作SD卡的資源。   
專案主頁:    https://github.com/MiCode/FileExplorer

小米便籤
小米便籤是Android上最受歡迎的應用之一,釋出以來累計下載量已突破百萬。具有以下特點:   

  • 快速新建,自動儲存,自由分類;
  • 與Google Task同步,方便將本地便籤上傳、谷歌工作表中的工作項同步到本地;
  • 獨特的清單模式,簡單方便的管理事務;
  • 鬧鐘提醒,傳送便籤到桌面、快速分享.
  • 文字中對郵箱、電話號碼、網址的識別,方便快速操作

PatchRom

MIUI ROM是小米公司在最著名的開源Android Rom CyanogenMod的基礎上開發,但是卻用於商業並且選擇閉源,曾經    為此備受詬病。後來,小米開源了MIUI ROM適配專案Patchrom,希望以此加強所有MIUI愛好者之間的交流,將MIUI ROM移植到更多的機型上去。大家可以在github下載到patchrom所有程式碼以及配套教程。

2. 小米開源硬體俱樂部

小米開源硬體俱樂部是小米社群的一個組成部分,介紹一些開源硬體相關的知識、產品,以及釋出一些小米組織和參與的開源硬體相關活動。

小米網的運營經理、開源硬體的負責人史頡華曾在    一次公開演講中表示:小米並不打算“進軍”開源硬體領域,而是打算“扶植”開源硬體領域。

3. 小米運維部的一些開源專案

  • 報警助手是針對運維人員的一款簡訊報警處理軟體。
  • 基於Twisted實現的智慧dns系統
  • dsnat 基於lvs fullnat模基礎上開發,dsnat位於網路的閘道器位置,內網server訪問外網時,輪詢使用閘道器地址池中的外網ip。

小米運維部技術部落格:http://noops.me/

4. Hadoop佈署、監控系統minos等

分散式的釋出和監控系統Minos

Minos 是小米公司開發的一個分散式的釋出和監控系統。最初是小米開發的用來在Hadoop和 ZooKeeper叢集上釋出和管理的工具。Minos可輕鬆擴充套件來支援其他的系統,目前已經支援包括    HDFS、YARN 和Impala 。   

web開發框架 Xiaomi Rose

小米公司的 Rose 是一個 Java 的 Web 開發框架,但不僅僅是框架。Rose 提供的各種特性和約束慣例,目的就是為了使您在能夠輕鬆地開發web程式。Rose規範了對Spring的使用,也允許您放置applicationContext-xxx.xml檔案來擴充套件Rose。       

專案主頁:https://github.com/XiaoMi/rose

以上,就是我們收集的小米公司的開源專案。如有遺漏,歡迎大家及時補充。