谷歌是怎样做开源的?
创始人
2024-03-01 17:55:53
0

谷歌是开源领域领先的贡献者之一,但是这个搜索巨头不是所有的开源许可证都喜欢。

来自多伦多的报道:Marc Merlin 从 2002 年起就在谷歌担任工程师,至今已经做了许多开源和 Linux 相关的工作。在本周召开的 LinuxCon 北美峰会上,Merlin 发表了演讲,为大家揭示了谷歌是如何使用开源和为开源做贡献的。

“没有开源软件就没有今天的谷歌”,Merlin 说。

Merlin 讲到,谷歌早期回馈到开源社区的资源有限,谷歌的第一代软件全都是写给内部用的,最初并不是为开源而设计的。他接着补充说,事实上开源并不是一件简单的事。也就是说,谷歌早期的软件最初并没有准备开源,不过谷歌发表了技术性论文描述了使用的方法和代码,以便其他人也可以用同样的原理来实现。

google open source

Marc Merlin at LinuxCon North America

在各种开源技术领域,谷歌早期的贡献主要是错误修复。

“我们通常是第一个发现并修复那些只在我们这个量级出现的错误的”,Merlin 说。

到现在,Merlin 说谷歌已经为 Linux 内核贡献了超过 5000 个补丁,补丁涵盖了从小的修复到完整的驱动程序和类似容器这样的子系统。

随着谷歌在开源领域的努力,现在已经在 GitHub 上发布了超过 3000 个开源项目。为了以法律的角度来管理整个过程,Merlin 说谷歌有六个人专门在内部从事使用和发布开源软件的合规管理。

为了保证法律上的一致性,谷歌将所有外部的开源代码存储在一个第三方体系内。Merlin 补充说,谷歌只允许使用谷歌能够遵循的许可证的开源软件。其中一个不能接受的许可证是 AGPL (Affero General Public License),它是一个互惠的许可证,要求使用该代码需提供一个到源代码的链接。

“确保我们没有在任何对外的产品中使用 AGPL 代码的代价太高,相较而言,不如找一个限制性更少的替代品或我们自己写一个”,Merlin 说。

对于那些贡献给谷歌项目的代码,谷歌要求开发者接受一个 贡献者许可协议 ( Contributor License Agreement ) (CLA),该 CLA 主要是让谷歌可以对贡献的代码重新颁发许可证,并为谷歌提供代码的专利授权。

“你仍然拥有你的代码,你只是授予谷歌一个许可而已”,Merlin 说。

相关内容

云服务与AI生态:科技巨头...
2023年第四季度,美国科技巨头财报展现出云服务需求与AI生态建设...
2025-03-16 12:42:54
前海开源沪港深核心资源混合...
金融界2025年3月16日消息,前海开源沪港深核心资源混合A(00...
2025-03-16 10:42:10
前海开源祥和债券A近一周下...
金融界2025年3月16日消息,前海开源祥和债券A(003218)...
2025-03-16 10:41:30
耿老师教你学Java:图图...
摘要:图图学JGraphT开源框架是教材《数据结构与算法》-jav...
2025-03-16 09:41:53
AI语音助手Maya,完全...
2025-03-14 18:41:15
新点软件:基于华为等多家开...
金融界3月14日消息,有投资者在互动平台向新点软件提问:你好!请问...
2025-03-14 17:12:09

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...