開源軟件讓谷歌可以快速而有效地構建系統而不用重復造輪子,可以讓我們專注於解決新問題。我們站在巨人的肩膀上,因此我們熟谙這一切。這就是為什麼我們支持開源,而且讓谷歌人可以輕松地將他們內部開發的項目以開源方式發布的原因。
今天,我們發布了我們的第一個開源成績單,展示我們最流行的項目、分享一些數據,並介紹一些我們在 2016 年發布的項目細節。
迄今為止,我們已經開源了超過 2 千萬行的代碼,你可以在我們的網站上找到我們最知名的項目的列表,下面是其中的一些:
統計谷歌開源的全部軟件有點困難,不過我們可以從開源到 GitHub 上這部分軟件獲取一些有趣數據。現在谷歌在 GitHub 上已經有了 84 個組織和 3499 個項目倉庫,而今年就創建了 773 個倉庫!
谷歌人使用了從匯編到 XSLT 等等不計其數的各種編程語言,但是哪一個才是我們的最愛?GitHub 可以幫我們找到在這些軟件倉庫中我們使用最多的編程語言:
我們可以通過 BigQuery 來了解各種GitHub 開源數據,比如空格和制表符的使用對比、最流行的 Go 語言軟件包等等。谷歌人在 GitHub 上的開源項目提交了多少次?我們可以通過搜索 Google.com 的郵件地址來知道谷歌人的最低限度的提交量,比如使用這樣的查詢:
SELECT count(*) as nFROM [bigquery-public-data:github_repos.commits]WHERE committer.date > '2016-01-01 00:00'AND REGEXP_EXTRACT(author.email, r'.*@(.*)') = 'google.com'
用上面的查詢,我們發現從今年開始,谷歌人在 GitHub 上的開源項目做了 142,527 次提交。這個數據集始於 2011 年,如果從那時開始統計,那麼提交次數是 719,012。不過,這只是最低限度的數據,因為我們沒有統計谷歌人使用其它郵件地址的提交。
讓我們來看看 2016 年有哪些令人激動的地方。我們發布了開源軟件、硬件和數據集,今年發布的有這些:
Seesaw是一個基於 Linux 虛擬服務器(LVS)的負載平衡平台,是由我們的 SRE 工程師用 Go 語言開發的。就像其它的項目一樣,它也是為了解決我們切身之癢而產生的。
在我們發布它的公告中提到:“我們需要有為單播選播 VIP 控制流量的能力,也需要對 NAT 和 DSR(也叫 DR)進行負載平衡,以及針對後端進行足夠的健康檢查。所有這些我們需要一個可以讓我們輕松地管理的平台,包括自動分發改變的配置。”
每年我們需要評估幾百個供應商的安全情況,並且我們開發了一個流程來通過VSAQ自動化許多初始信息的收集。許多供應商發現我們的評估表直觀而靈活,所以我們決定把它分享出來。VSAQ 框架包括可擴展的調查表模版,覆蓋了 Web 應用、隱私程序、基礎架構以及物理和數據中心安全。你可以在我們的發布公告中了解更多信息。
OpenThread是由 Nest發布的一個 Thread協議的完整實現,用於家庭連接設備。它非常重要,這是由於這個領域如我們所見是非常碎片化的。OpenThread 的開發得到了ARM、微軟、高通、德州儀器等主要廠商的支持。
Magenta我們可以使用機器學習來創建吸引人的藝術和音樂嗎?這個問題的答案就是動畫Magenta,這個項目來自於谷歌大腦團隊,基於TensorFlow。它有助於推動機器智能在音樂和藝術創作中的發展,並為藝術家、程序員和機器學習研究人員構建了一個協作社區。閱讀它的發布公告了解更多信息。
Omnitone
虛擬現實(VR)如果沒有空域音頻還做不到身臨其境,而許多的 VR 開發都是在專有平台上進行的。是一個由 Chrome 團隊成員構建的開源庫,它可以給該浏覽器帶來空域音頻。Omnitone 基於標准的 Web 音頻 API 構建,可以提供具有現場感的體驗,也被用於類似 WebVR這樣的伴生項目。閱讀該項目的發布公告了解更多信息。
當今的智能電話帶有許多傳感器,可以告訴我們周圍很多有趣的信息。我們啟動了科學日報項目,以幫助教育工作者、學生和科學愛好者們利用這些傳感器。更多信息可以參閱我們的發布公告。
CartographerCartographer是一個以 2D 和 3D 方式即時定位與地圖構建(SLAM)的庫,支持機器人操作系統。它合並了多種傳感器的數據,這個庫可以計算位置和地圖表面。這是自動駕駛汽車、UAV 和機器人的關鍵因素,並在室內地圖方面做了很多努力。關於 Cartographer 的更多信息可以參閱其發布公告。
這只是我們今年發布的一小部分例子,請繼續關注谷歌開源博客,為谷歌的開源軟件、硬件和數據而歡呼吧。
原文來自:https://linux.cn/article-7876-1.html
本文地址:http://www.linuxprobe.com/google-source.html
http://xxxxxx/Linuxjc/1184527.html TechArticle