编译自:https://opensource.googleblog.com/2016/10/google-open-source-report-card.html作者: Josh Simmons
开源软件让谷歌可以快速而有效地构建系统而不用重复造轮子,可以让我们专注于解决新问题。我们站在巨人的肩膀上,因此我们熟谙这一切。这就是为什么
我们支持开源
[1]
,而且让谷歌人可以轻松地将他们内部开发的项目以开源方式发布的原因。
今天,我们发布了我们的第一个开源成绩单,展示我们最流行的项目、分享一些数据,并介绍一些我们在 2016 年发布的项目细节。
迄今为止,我们已经开源了超过 2 千万行的代码,你可以在我们的网站上找到
我们最知名的项目的列表
[2]
,下面是其中的一些:
-
Android
[3]
- 用于移动设备的软件族,包括操作系统、中间件和关键性应用。
-
Chromium
[4]
- 它包括 Google Chrome 浏览器背后的
Chromium
[5]
软件和 Google Chrome OS 设备背后的
Chromium OS
[6]
软件。
-
Angular
[7]
- 一个 JavaScript 和 Dart 的 web 应用框架,关注于开发者的生产力、开发速度和测试能力。
-
TensorFlow
[8]
- 一个使用
数据流图
的数字计算库,支持从数据中心到嵌入式设备的跨平台的大规模机器学习。
-
Go
[9]
- 一种静态类型的编译型编程语言,富有表现力、简洁而高效。
-
Kubernetes
[10]
- 一个可以自动分发、操作和缩放的容器化应用系统。
-
Polymer
[11]
- 一个构建于 Web 组件 API 之上的轻量级库,用于构建在 Web 应用中可重用的封装元素。
-
Protobuf
[12]
- 一个可扩展的、语言无关和平台无关的串行化结构数据的机制。
-
Guava
[13]
- 一套 Java 核心库,包括新的集合类型(比如 multimap 和 multiset)、
不可变集合
、知识图谱库、
函数类型
、内存缓存,以及并发 API/功能、I/O、哈希、
基类型
、反射、字符串处理等等。
-
Yeoman
[14]
- 一个强壮而自足的框架工具集,它包括可以帮助开发者快速构建优美而引人入胜的 Web 应用的库和工作流。
统计谷歌开源的全部软件有点困难,不过我们可以从开源到 GitHub 上这部分软件获取一些有趣数据。现在谷歌在 GitHub 上已经有了 84 个组织和 3499 个项目仓库,而今年就创建了 773 个仓库!
谷歌人使用了从汇编到 XSLT 等等不计其数的各种编程语言,但是哪一个才是我们的最爱?GitHub 可以帮我们找到在这些软件仓库中我们使用最多的编程语言:
-
JavaScript
-
Java
-
C/C++
-
Go
-
Python
-
TypeScript
-
Dart
-
PHP
-
Objective-C
-
C#
我们可以通过 BigQuery 来了解各种
GitHub 开源数据
[15]
,比如
空格和制表符的使用对比
[16]
、
最流行的 Go 语言软件包
[17]
等等。谷歌人在 GitHub 上的开源项目提交了多少次?我们可以通过搜索 Google.com 的邮件地址来知道谷歌人的最低限度的提交量,比如使用这样的查询:
SELECT count(*) as n
FROM [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 年有哪些令人激动的地方。我们发布了开源
软件
[18]
、
硬件
[19]
和
数据集