写点什么

Google 教你如何“做”开源

  • 2017-04-10
  • 本文字数:2703 字

    阅读完需:约 9 分钟

引言

在 2016 年,IDG 旗下网站 ARN 发表了一篇文章:展望 2017 年的顶级技术,将开源和人工智能、深度学习、虚拟现实、云计算安全一并列举为 2017 年的流行技术趋势。果不其然,2017 年第一季度已经过去,回顾一下这个预测,某种程度上验证了这一预测:

  • GitHub 发布开源指南,旨在帮助人们利用开源,参与开源,治理开源。
  • AT&T、Alibaba 加入 Linux 基金会。
  • Amazon 开源旗下深度学习框架 MXNet,并捐赠给 Apache 基金会。
  • Google 捐赠给 Apache 下一代大数据框架 Beam。
  • 在刚刚结束的云原生技术研讨会上,Linux 基金会主席的 Keynote 讲到,Kubernetes 将会是下一个云计算中的 Linux。

不过,所有这些事件,均仿佛是为今天的事情作铺垫——Google 为其开源建立了新家:opensource.google.com。

背景介绍:Google 与开源

Google 对于开源的理解,在业界是独树一帜的。从 2005 年就成立了开源项目部(OSPO),并由业内对开源有深刻理解的 Chris DiBona 来主持工作。Google 或许并不是贡献代码最多的公司,在 Kubernetes 项目之前,Google 的开源项目甚至是只有很小的贡献率、或者是强约束并非完全的开放(比如,Chrome 和 Android),但是它依旧在开源开发者圈具有强大的影响力(甚至有人说是最大的),这就是一旦彻底开放如 Kubernetes 这样的平台,就促使这个项目异常的成功。再说了,Google 除了项目之外,还创建过 Google Code,曾经一度是开源软件最大的代码托管的地方,以及大名鼎鼎的 Google 代码夏令营(GSoC),虽然这些举措 Google 都没有大量的代码贡献,但是它促使世界各地的开发人员能够合作,从而编写更多的代码。

如果离开了开源软件,我们今天所看到的互联网将不复存在。 ———— Chris DiBona ,Google 开源总监

除此之外,Google 也通过诸如软件自由保护 apache 软件基金会以及其它的组织来对开源项目和社区进行赞助。

同时,Google 也是开源的受益者,从 1998 年最初的服务上线,Google 的产品和服务都是架设在 Linux 等开源软件的基础之上的。当然 Google 是一家广告公司,至少不是一家纯粹的靠软件来盈利的公司,拥有非常多的优秀的计算机科学家和工程师,一如 Google 自家博客中介绍中所说:“从支撑服务的 Linux 内核到内部的文化,开源是 Google 做任何事都绕不过的。 ”

新站点的思路

负责人在博客上说道:新的站点成立,旨在将 Google 如何使用、发布和支持开源的所有事情放在一起。站点将以最大的深度和广度的展现 Google 对于开源的热爱!它不仅包含人们意料之中的:Google 的程序、所支持的开源组织、以及长长的开源列表,而且还包括了意料之外的:Google 是如何“做”开源的幕后策略。

由此看出,新的站点,成为了 Google 对待开源的统一入口和展示的地方,也就是 Google 的开源哲学和方法论的最大呈现。

帮助人们找到感兴趣的项目

开源意味着让人们更好的协同工作,开发更优秀的软件,让这个世界更加的美好! ———— Sarah Novotny, 项目经理

Google 对于开源项目的态度,向来是“越多越好”,原因是无法实现知道那些项目会引起人们的兴趣,所以 Google 的开源部门就是帮助公司尽可能多的发布代码。这样的经过了多年以后,回过头来再看,Google 已经发布了成千上万个开源项目,且有形形色色的许可协议,这些项目既有大型的产品,如 TensorFlow Go Kubernetes ,也有一些较小的项目,如钢琴装饰灯 Neuroglancer Periph.io , 其中有些是获得 Google 正式支持的、有些是试验性质的,而有些则只是为了好玩。所有的这些项目,都分散在超过 100 多个 GitHub 的组织和 Google 自托管的 git 服务上,以至于人们对于 Google 开源代码的规模和范围是模棱两可的,甚至被错误的低估。

为了给人们提供一个完整的 Google 开源项目图景,Google 创立来 Google 开源项目目录,在未来 Google 的开源项目部,会逐渐的将这个目录完善并对没个项目进行更为细致的描述,比如会举例说明,Google 内部是如何使用的。

我们以 Kubernetes 的描述页为例,见识一下 Google 的用心之处,打开这个页面,在上面的条幅上展示了项目的名称和站点域名,在正文的左侧,分了三个章节,分别是:

  • Kubernetes 的功能概要描述,所解决的问题,Kubernetes 最初的灵感来源,以及简短的发展历史
  • Kubernetes 在 Google 内部是被如何使用的
  • 代码仓库,以及最为典型的 GitHub 质量评估:星星数量和被 fork 的次数。

而正文的右侧,则是一些归类、标签,以及所使用的编程语言,便于分门别类的查找。

这对于开发者而言,无疑会大大的提高查找自己感兴趣的项目的效率;而对于互联网或企业来说,研究 Google 怎么使用,会少走很多很多的弯路。是的,Google 为这个世界贡献了很多分散的开源项目,有了这个权威的索引,让我们重新认识 Google 的开源项目的宏大,目前在编的项目超过 2000 多个。

Google 是如何做开源的

开源从来就不仅仅是将代码开放这么简单,它还至少包括了社区和流程。参与到开源项目和社区,对于 Google 这样体量的公司是件非常具有挑战性的事情,在 2014 年,Google 帮忙组件了 TODo Group ,这是一个众多商业公司组成论坛,讨论参与开源的最佳实践和协作。经过多年的累计,从讨论中收获很多灵感,借着发布新站点的机会,Google 还一同发布了内部文档: Google 是如何做开源的

关于此文档,绝对值得业界借鉴,比如:

罗马从来就不是一天建成的,上述的这些规则也好,流程也罢,都是多年的经验积累,甚至有的是付出教训后学到的经验。这些未必适合所有人,(开源本身就是有很多的选择)所以这些文档并非是“how-to”指南,但是相信对于有心人是有很大的参考价值的。

结语

Google 似乎正在改变自己在业内的高冷形象,从 Kubernetes 的社区运营,再到今年即将参与 RedHat Summit 2017,乃至这次新开源站点的建立,都在应验着开放战略,试图扳回在云计算市场的失利。再比如 Spanner 的服务、以及免费为开发者提供资源等具体的产品和服务。其中一定有商业因素的考量,但我们始终认为 Google 的信条,以及他对开源独特的理解,所以宁愿相信他的情怀:Google 开源项目部不仅仅是让 Google 的软件变得更好——他们更加热衷于通过开源改变世界。

让我们祝愿 Google 新的开源站点,百尺竿头更进一步!让所有的开发者、开源相关人员受益。


感谢郭蕾对本文的策划和审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-04-10 17:272121
用户头像

发布了 33 篇内容, 共 12.6 次阅读, 收获喜欢 13 次。

关注

评论

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

1024程序员节 | 华为与开发者共筑技术新高地

新消费日报

TCL电视全球出货量势头强劲,全球品牌影响力持续增强

科技热闻

交易所开发 dapp开发:DeFi领域取得成功的综合指南

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Comsol Multiphysics mac(建模仿真软件) v6.1完美激活版

mac

苹果mac Windows软件 COMSOL Multiphysics 建模仿真软件

AE镜头光晕插件Optical Flares for Mac激活版

iMac小白

Optical Flares下载 Optical Flares插件

Macos多协议数据库管理工具:Navicat Premium 16 中文破解版 支持M1

iMac小白

绿野仙踪不仅是童话,还是便宜又好用的产品测试法!

鼎道智联

AI ChatGPT

用Rust实现UDP Echo服务器和客户端

胡译胡说

rust 网络 TCP/IP UDP协议

招募令丨面向领域应用的 Python 编程教学,让和鲸社区成为您的扩展课堂

ModelWhale

Python 编程 心理学 数据科学 交叉学科

一文带你彻底了解JMX

高端章鱼哥

RestTemplat WebClient

云网融合再加码!天翼云SD-WAN PON来了!

天翼云开发者社区

云计算

最新Xmind for Mac破解版 附 破解安装教程「支持M1」

iMac小白

XMind下载 XMind2023 XMind Pro

技术分享| anyRTC低延时直播优化

anyRTC开发者

音视频 CDN 低延时 视频直播 播放器

7种不同类型的产品经理工具:一文读懂PM必学的办公软件!

彭宏豪95

产品经理 产品管理 在线白板 办公软件 在线协作

日志

xujiangniao

规范预算执行,构建企业预算管理一体化建设

智达方通

预算执行 企业预算管理

扩展Nginx的无限可能:掌握常见扩展模块和第三方插件的使用方法

互联网工科生

nginx

数字先锋| 天翼云助力金州教育云平台智慧升级,让优质教育资源“活起来”!

天翼云开发者社区

云计算 大数据

直播预告 | YashanDB 2023年度发布会正式定档11月8日,邀您共同见证国产数据库发展实践!

墨天轮

数据库 深圳 国产数据库 yashandb

初识搜索:百度搜索产品经理的第一课

百度Geek说

百度搜索 企业号10月PK榜 搜索产品经理

Easysearch 容量规划建议

极限实验室

数据库 搜索引擎 监控系统 easysearch

亮相2023全球工业互联网大会,天翼云为工业夯实算力底座!

天翼云开发者社区

人工智能 云计算

【论文解读】RLAIF基于人工智能反馈的强化学习

合合技术团队

人工智能 论文 RLAIF

PDF编辑器推荐:Acrobat Pro DC 2023中文破解版 完美兼容M1

iMac小白

Acrobat Pro DC 2023 Adobe Acrobat Pro DC下载 Adobe Acrobat Pro DC破解

Google 教你如何“做”开源_语言 & 开发_李建盛_InfoQ精选文章