精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Google 的開源方法論

責任編輯:editor004

2016-09-02 12:10:48

摘自:INFOQ

沒有開源,Google 不會有今天的成功。自 2002 年以來,Marc Merlin 一直擔任 Google 的工程師,期間做過許多開源項目并為 Linux 項目貢獻過代碼的。即,仍然保留開發者的代碼的所有權,開發者只是另外給了 Google 一個許可證。

沒有開源,Google 不會有今天的成功。在本周舉行的北美 Linux 大會上,Google 工程師 Merlin 從一個第三方視角概括了 Google 是如何使用和為開源做出貢獻。自 2002 年以來,Marc Merlin 一直擔任 Google 的工程師,期間做過許多開源項目并為 Linux 項目貢獻過代碼的。

開源絕非易事

無論是個人還是公司,開放項目源碼的目的無非是:借助社區的力量幫助項目更好地成長和推動社區的發展。但是,開源絕非易事。創始之初,由于資源非常緊缺,Google 在早期對開源的貢獻非常有限。Google 的第一代軟件都是為了內部使用的需要,并非在開始就是為開源而設計。之后 Google 希望將這些軟件開源的時候,花費了大量的精力專門為它們寫了技術文檔以及論文,以描述其中的方法和代碼,方便開源社區的其他開發者查閱和參與。開源并非僅僅是將源碼發布出去,同時還需要付出巨大的精力去進行維護。

Google 的開源史

從經驗上看,Google過去在總體上雖然不怎么開源,但是卻發表了很多相關的論文,比如說對于業界很重要的MapReduce、BigTable論文。并不是說Google不愿意開源,否則它也不會去發表這類論文,問題是在于開源需要太多的人力和物力了。隨著 Google 的日益壯大,開始在開源社區擔負起一定的責任。從 Google 開源的發展中可以看出,Google 最早期的貢獻都是修復一些 bug。Google 總是最先發現和修復難以發現的 bug,因為這些 bug 只會在 Google 這樣的規模中才會出現。到目前為止,Google 已經為 Linux 內核貢獻了超過 5000 次補丁。其中有小的補丁也有大的子系統。當談到 Google 自己的開源項目時,目前在 GitHub 中 Google 有超過 3000 個開源項目。隨著開源項目的驟增,為了方便集中地對需要開源的代碼進行審查,Google 組建了一個包含 6 個人的審查團隊,主要任務是從法律層面審查 Google 內部使用開源項目和發布源碼的合規性。

如何保持代碼的合法性

為了保持整件事情的合法性,Google 將所有外部的開源代碼存儲在第三方。只有那些擁有 Google 能夠接受的許可證的項目,Google 才允許在內部使用。一個 Google 不能接受的許可證的例子是 AGPL(Affero 通用公共許可證),這是一個互惠許可證,要求那些使用了其中的代碼的項目需要提供一個項目源碼的鏈接。相比于在一個較少限制的許可證下自己去書寫代碼重新實現,或者使用其他的方式,比保證 Google 面向外部的產品中沒有任何 AGPL 代碼的代價要小得多。對于那些向 Google 項目貢獻代碼的開發者,Google 要求他們同意貢獻許可協議(CLA)。CLA 的主要目的是得 Google 能夠對貢獻的代碼重新頒布許可證,以及 Google 對貢獻的代碼有專利許可。即,仍然保留開發者的代碼的所有權,開發者只是另外給了 Google 一個許可證。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 临泽县| 新泰市| 涪陵区| 兴和县| 乐山市| 新密市| 乌兰察布市| 亚东县| 凤山市| 昔阳县| 临西县| 根河市| 濮阳市| 泾阳县| 常德市| 武夷山市| 苏尼特右旗| 特克斯县| 连州市| 长宁区| 房山区| 象山县| 信阳市| 天峻县| 方正县| 东安县| 丹江口市| 遂宁市| 保德县| 孙吴县| 沁源县| 准格尔旗| 高碑店市| 忻州市| 新疆| 岱山县| 南开区| 榕江县| 容城县| 专栏| 华安县|