写点什么

Google 的开源方法论

  • 2016-09-01
  • 本文字数:1097 字

    阅读完需:约 4 分钟

没有开源,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 一个许可证。

2016-09-01 19:003099
用户头像

发布了 32 篇内容, 共 19.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

积分经济学指南:掌握加密货币激励的新语言

TechubNews

lodash凉了!Radash异军突起

大师兄

JavaScript Vue lodash js工具库 radash

用不了ChatGPT?快试试免费又强大的Anthropic Claude

蓉蓉

GPT Claude

推荐个人或企业使用的4个虚拟桌面解决方案 – 云桌面

青椒云云电脑

云桌面 云桌面解决方案 虚拟云桌面解决方案

从 Icelake 到 Iceberg Rust

Databend

使用 Protobuf 实现高效数据交换

左诗右码

protobuf

Apache IoTDB & TsFile 智慧能源应用“上会”啦!

Apache IoTDB

CodeArts加速软件智能化开发,携手HarmonyOS重塑企业应用创新体验

轶天下事

DevSecOps在数字政府建设中的实践研究

EquatorCoco

DevOps 运维 低代码 网络

平凯星辰黄东旭出席 2024 全球数字经济大会 · 开放原子开源数据库生态论坛

PingCAP

开源 金融行业 #TiDB 开放原子 平凯星辰

你的数据库真的规范吗?小心这些“潜在风险”!

NineData

DevOps 数据库规范 审计日志 NineData SQL 规范

华为云发布ServiceStage:内置优秀业界实践「云应用管理和运维」模板

轶天下事

百度安全大模型智能体实践入选信通院“安全守卫者计划”优秀案例

百度安全

华为云助力徐州市城管局荣获数字城市赛道“百景新锐奖”

新消费日报

Docker 安装 KONG 带你玩转 API 网关

左诗右码

Kong 网关

华为云CodeArts 12大安全防护机制,端到端全面保障软件供应链安全!

轶天下事

深入理解 Nginx 与 Kong 的配置与实践

左诗右码

Kong 网关

利用Altair One 云平台,轻松实现全球企业产品研发创新与优化

Altair RapidMiner

人工智能 软件 数据分析 制造 altair

AI“语速”知多少?基于云拨测的国产大模型使用体验测评!

火山引擎边缘云

AI 大模型 云拨测、 云拨测 #大模型

全球销量领先车企基于Serverless服务构建数据实时处理的千万级车联网业务

轶天下事

云桌面系统解决方案-青椒云

青椒云云电脑

云桌面 云桌面厂家 云桌面解决方案 云桌面系统

微服务nacos默认开启鉴权JeecgBoot

JEECG低代码

微服务 nacos

唐刘:当 SaaS 爱上 TiDB(一)- 行业挑战与 TiDB 的应对之道

PingCAP

数据库 SaaS #TiDB 洞察 资源管控

RPA助力企业财税业务智能化转型:深入探索与实践

不在线第一只蜗牛

数业智能亮相AI论坛,共探数字心理健康新领域

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

基于 Groq 和 Cartesia 的高速 AI 语音助手发布;xAI 将自行打造超级计算机丨 RTE 开发者日报

声网

Nginx 高性能架构解析

快乐非自愿限量之名

nginx 运维

大模型融入云平台,信息化走向数智化

快乐非自愿限量之名

云平台 大模型 数智化

Persistent在《机构投资者》(Institutional Investor)2024年度亚洲高管团队调查中被评为管理和高管领导力卓越企业

财见

华为云Astro Zero低代码平台案例:小、轻、快、准助力销售作战数字化经营

轶天下事

紫光闪存京东品牌焕新日来袭!多重福利精彩放送

新消费日报

Google 的开源方法论_Google_百占辉_InfoQ精选文章