谷歌的开源成绩单

开源软件让谷歌可以快速而有效地构建系统而不用重复造轮子,可以让我们专注于解决新问题。我们站在巨人的肩膀上,因此我们熟谙这一切。这就是为什么我们支持开源,而且让谷歌人可以轻松地将他们内部开发的项目以开源方式发布的原因。

今天,我们发布了我们的第一个开源成绩单,展示我们最流行的项目、分享一些数据,并介绍一些我们在 2016 年发布的项目细节。

迄今为止,我们已经开源了超过 2 千万行的代码,你可以在我们的网站上找到我们最知名的项目的列表,下面是其中的一些:

  • Android - 用于移动设备的软件族,包括操作系统、中间件和关键性应用。
  • Chromium - 它包括 Google Chrome 浏览器背后的  Chromium 软件和 Google Chrome OS 设备背后的  Chromium OS 软件。
  • Angular - 一个 JavaScript 和 Dart 的 web 应用框架,关注于开发者的生产力、开发速度和测试能力。
  • TensorFlow - 一个使用数据流图data flow graphics的数字计算库,支持从数据中心到嵌入式设备的跨平台的大规模机器学习。
  • Go - 一种静态类型的编译型编程语言,富有表现力、简洁而高效。
  • Kubernetes - 一个可以自动分发、操作和缩放的容器化应用系统。
  • Polymer - 一个构建于 Web 组件 API 之上的轻量级库,用于构建在 Web 应用中可重用的封装元素。
  • Protobuf - 一个可扩展的、语言无关和平台无关的串行化结构数据的机制。
  • Guava - 一套 Java 核心库,包括新的集合类型(比如 multimap 和 multiset)、不可变集合immutable collections、知识图谱库、函数类型functional types、内存缓存,以及并发 API/功能、I/O、哈希、基类型primitives、反射、字符串处理等等。
  • Yeoman - 一个强壮而自足的框架工具集,它包括可以帮助开发者快速构建优美而引人入胜的 Web 应用的库和工作流。

统计谷歌开源的全部软件有点困难,不过我们可以从开源到 GitHub 上这部分软件获取一些有趣数据。现在谷歌在 GitHub 上已经有了 84 个组织和 3499 个项目仓库,而今年就创建了 773 个仓库!

谷歌人使用了从汇编到 XSLT 等等不计其数的各种编程语言,但是哪一个才是我们的最爱?GitHub 可以帮我们找到在这些软件仓库中我们使用最多的编程语言:

  1. JavaScript
  2. Java
  3. C/C++
  4. Go
  5. Python
  6. TypeScript
  7. Dart
  8. PHP
  9. Objective-C
  10. C#

我们可以通过 BigQuery 来了解各种 GitHub 开源数据,比如空格和制表符的使用对比最流行的 Go 语言软件包等等。谷歌人在 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 年有哪些令人激动的地方。我们发布了开源软件硬件数据集,今年发布的有这些:

Seesaw



Seesaw 是一个基于 Linux 虚拟服务器(LVS)的负载平衡平台,是由我们的 SRE 工程师用 Go 语言开发的。就像其它的项目一样,它也是为了解决我们切身之痒而产生的。

在我们发布它的公告中提到:“我们需要有为单播unicast和选播anycast VIP 控制流量的能力,也需要对 NAT 和 DSR(也叫 DR)进行负载平衡,以及针对后端进行足够的健康检查。所有这些我们需要一个可以让我们轻松地管理的平台,包括自动分发改变的配置。”

供应商安全评估调查表Vendor Security Assessment Questionnaire (VSAQ)

每年我们需要评估几百个供应商的安全情况,并且我们开发了一个流程来通过 VSAQ 自动化许多初始信息的收集。许多供应商发现我们的评估表直观而灵活,所以我们决定把它分享出来。VSAQ 框架包括可扩展的调查表模版,覆盖了 Web 应用、隐私程序、基础架构以及物理和数据中心安全。你可以在我们的发布公告中了解更多信息。

OpenThread



OpenThread 是由 Nest 发布的一个 Thread 协议的完整实现,用于家庭连接设备。它非常重要,这是由于这个领域如我们所见是非常碎片化的。OpenThread 的开发得到了 ARM、微软、高通、德州仪器等主要厂商的支持。

Magenta



我们可以使用机器学习来创建吸引人的艺术和音乐吗?这个问题的答案就是动画 Magenta,这个项目来自于谷歌大脑团队,基于 TensorFlow。它有助于推动机器智能在音乐和艺术创作中的发展,并为艺术家、程序员和机器学习研究人员构建了一个协作社区。阅读它的发布公告了解更多信息。

Omnitone



虚拟现实(VR)如果没有空域音频spatial audio还做不到身临其境,而许多的 VR 开发都是在专有平台上进行的。Omnitone 是一个由 Chrome 团队成员构建的开源库,它可以给该浏览器带来空域音频spatial audio。Omnitone 基于标准的 Web 音频 API 构建,可以提供具有现场感的体验,也被用于类似 WebVR 这样的伴生项目。阅读该项目的发布公告了解更多信息。

科学日报Science Journal



当今的智能电话带有许多传感器,可以告诉我们周围很多有趣的信息。我们启动科学日报项目,以帮助教育工作者、学生和科学爱好者们利用这些传感器。更多信息可以参阅我们的发布公告

Cartographer



Cartographer 是一个以 2D 和 3D 方式即时定位与地图构建(SLAM)的库,支持机器人操作系统Robot Operating System(ROS)。它合并了多种传感器的数据,这个库可以计算位置和地图表面。这是自动驾驶汽车、UAV 和机器人的关键因素,并在室内地图方面做了很多努力。关于 Cartographer 的更多信息可以参阅其发布公告

这只是我们今年发布的一小部分例子,请继续关注谷歌开源博客,为谷歌的开源软件、硬件和数据而欢呼吧。

原文来自:linux.cn

时间: 2024-10-03 06:36:15

谷歌的开源成绩单的相关文章

谷歌开源运作解密

导读 来自多伦多的报道:Marc Merlin 从 2002 年起就在谷歌担任工程师,至今已经做了许多开源和 Linux 相关的工作.在本周召开的 LinuxCon 北美峰会上,Merlin 发表了演讲,为大家揭示了谷歌是如何使用开源和为开源做贡献的. “没有开源软件就没有今天的谷歌”,Merlin 说,Merlin 讲到,谷歌早期回馈到开源社区的资源有限,谷歌的第一代软件全都是写给内部用的,最初并不是为开源而设计的.他接着补充说,事实上开源并不是一件简单的事.也就是说,谷歌早期的软件最初并没有

开源软件与知识产权

目录 1.      软件与知识产权... 2 1.1.      引言... 2 1.2.      著作权法与软件... 3 2.      开源软件概述... 3 2.1.      自由软件运动... 3 2.2.      开源软件的发展... 4 2.3.      开源软件涉及的主要权益... 4 2.3.1.       著作权... 4 2.3.2.       专利权... 4 2.3.3.       商标权... 5 2.4.      开源软件的优势与劣势... 5 3

了解微软开源核心机器学习技术DMTK

还记得11月9日Google Research推出第二代开源机器学习软件库TensorFlow吧,谷歌称在建立和训练神经网络方面,TensorFlow速度要比第一代系统快5倍,可支持 CPU.GPU.桌面机.服务器和移动计算等平台.TensorFlow吸引了开发者广泛的眼球. 就在同一天,微软亚洲研究院也开源了分布式机器学习工具包DMTK.开源版DMTK包含了目前世界上最大规模的主题模型和分布式词向量模型,据称比同类模型高了好几个数量级.以至于有开发者惊呼,怎么微软也能把这样的核心技术给开源了?

[Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

1 前言 经过一周的奋战,终于从谷歌官网上下载最新的android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载android系统源码,修改定制,然后编译刷入安卓手机,想想还有点小激动呢.简单点说一句话--定制我们自己的MIUI,这就是android的魅力,这篇博客博主就来教大家实现自己的定制系统. 首先,要明白下面的基础知识: (1) 什么是aosp? aosp就是android open source p

惊,Java使用权争夺:谷歌Android为啥能赢甲骨文?

谷歌赢了:美国旧金山联邦法庭陪审团27日做出裁决,判定谷歌Android开源系统侵犯甲骨文Java版权不成立,驳回甲骨文索赔90亿美元的诉讼请求.至此,两家长达6年的Java专利拉锯战终于暂告一段落. 效仿还是侵权 Java作为一种编程语言,可以通过APIs协调软硬件间的兼容问题.2010年甲骨文收购Sun Microsystems,由于后者开发了Java语音,因而Java版权也随之易主.随后,甲骨文将谷歌告上法庭,称Android系统有37个API侵犯了Java版权,因为谷歌在移动平台使用Ja

谷歌C++风格指南之通俗译文(译文保留版权,勿转载)

Background背景 C++ is the main development language used by many of Google's open-source projects. As every C++ programmer knows, the language has many powerful features, but this power brings with it complexity, which in turn can make code more bug-pr

【新手向】TensorFlow 安装教程:RK3399上运行谷歌人工智能

从AlphaGo大胜柯洁后,谷歌的人工智能备受关注.人工智能好像离我们好远,深度学习算法貌似非常复杂.但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲"每日推荐"--形形色色的AI早已进入我们生活的方方面面.深刻的影响了着我们,可以说,这是一个AI的时代. 其实早在去年年底,谷歌就开源了其用来制作AlphaGo的深度学习系统TensorFlow,相信有不少同学曾经对着这款强大的机器学习系统蠢蠢欲动,官方的Tensorflow的教

谷歌的DevOps文化

?背景 谷歌云平台的高级研发总监 Melody Meckfessel 在 JFrog SwampUp 2017用户大会上为大家介绍了谷歌的 DevOps 工程师文化. Melody Meckfessel 的团队主要负责为谷歌的工程师提供 DevOps 的工具链,让工程师们能够快速的构建,测试,发布产品.已经支持的团队包括安卓,Chrome,谷歌云平台等等. 和其他公司一样,谷歌的工程师也会在构建失败,测试不通过,调试线上环境部署失败的问题上花费大量时间,Melody 一直致力于软件交付效率的提升

Google帝国研究——Google的产业构成

                                                                                    Google帝国研究--Google的产业构成 摘要:Google帝国研究  产业构成 作者:魏春颖 文章来源:网络整理 Google产业的构成: 1.    业务板块: 包括互联网搜索.云计算.广告技术,开发并提供大量基于互联网的产品与服务,开发线上软件.应用软件,还涉及移动设备的Android操作系统以及操作系统谷歌Chrom