标签 谷歌 下的文章

是的,你没看错,这不是洋葱新闻,也不是愚人节笑话。

微软自从其新 CEO 萨提亚·纳德拉上台后,逐渐增加了对 Linux 和开源的投入,而现在,更是以白金会员的身份加入到了 Linux 基金会。

Linux 基金会官员表示欢迎微软的加入。“成为 Linux 基金会白金成员后,微软可以更好的与开源社区合作,为更多人提供变革性的移动及云的体验,”Linux 基金会执行董事 Jim Zemlin 说。“微软是很多项目的关键贡献者,而且我们看到该公司在开放开发方面一直在加强其投入和深化承诺。”

你应该记得,十几年前,微软前 CEO 巴尔默将开源称之为“癌症”,而且,微软到现在还要求 Android 厂商向其缴纳专利费,以及,微软一直想夺回慕尼黑的桌面市场,但是,那又怎么样呢?

现在,微软逐渐加大了对开源和 Linux 方面的关注和投入,诸如 PowerShellVisual Studio Code 以及 Edge JavaScript 引擎这样的项目,已经逐个开源化,将微软推近这个它曾经憎恨过的开源世界。而且,通过 Windows 10,微软开始走进 Linux,因为该操作系统内置了 Ubuntu。 在收购了 Xamarin 之后,还开源了其软件开发工具包。以及,和 Red HatSUSE 合作在它的 Azure 云上推出了 Linux 镜像。而今年初,微软还发布了 Linux 上的 SQL Server,甚至得到了巴尔默的赞誉

这并不是微软加入的第一个行业领袖级的 Linux 团体,微软已经参与贡献了几个 Linux 基金会项目,包括 Node.js 基金会、 OpenDaylight、 开放容器促进联盟 Open Container Initiative R 社团 R Consortium 开放 API 促进联盟 Open API Initiative

为什么微软会这样呢?因为,Linux 赢了。

微软只在桌面端继续保持着优势,Windows 已经不是最流行的终端用户操作系统了,你知道的,那是 Android。而其它的,比如云、超算,以及服务器,那也都是 Linux 的天下。微软只有两条路,要么死战到底,要么转身拥抱——显然,微软选择了后者。

说来你可能不信,比如说 Azure 云上,有 1/3 的服务器运行着 Linux,而且越来越多。

另外,还有一条与之相呼应的消息也相当的令人意外。

同样是今天,Google 在 Connect()’ 开发者大会上宣布它将加入 .NET 基金会的领导团队。

“周三,Google 加入到 .NET 基金会的技术领导团队,加强了 .NET 开发者社区的生机, 以及 Google 对支持 .NET 业务和开发者的开放平台的责任,” Microsoft 总结到。

是不是感觉这个世界变得快呢?

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

今天,我们发布了我们的第一个开源成绩单,展示我们最流行的项目、分享一些数据,并介绍一些我们在 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 的更多信息可以参阅其发布公告

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

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

来自多伦多的报道: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 说。

对于刚刚开始使用Ubuntu并想安装谷歌Chrome浏览器的新用户来说,本文所介绍的方法是最快捷的。在Ubuntu上安装谷歌Chrome的方法有很多。一些用户喜欢直接在谷歌Chrome下载页面获得 deb 进行安装。

另一些用户喜欢通过来自Chromium的PPA进行安装。我更喜欢通过 wget 命令下载安装。通过命令行的方式是最快的,也是这篇文章想要告诉你的。

可能你已经知道,谷歌Chrome已经完成屌丝的逆袭,成为最流行的网络浏览器之一。实际上,这也是我最喜欢的浏览器。我最开始使用的是Internet Explorer,然后换成Firefox,最后又换成了谷歌Chrome。

我并不是想让你换浏览器,但是如果你想要在Ubuntu下使用Chrome,那么就去安装它吧。

要开始安装Chrome,你有一些选择。首先你可以使用浏览器去访问谷歌Chrome下载页面然后下载一个拷贝。如果你不喜欢使用命令行,你可以使用这个方法。

而对于喜欢使用终端命令行的用户来说,可以使用以下命令来下载。

cd /tmp

对于谷歌Chrome32位版本,使用如下链接:

wget https://dl.google.com/linux/direct/google-chrome-stable\_current\_i386.deb

对于64位版本可以使用如下链接下载:

wget https://dl.google.com/linux/direct/google-chrome-stable\_current\_amd64.deb

下载完后,运行如下命令安装。

sudo dpkg -i google-chrome*; sudo apt-get -f install

然后就搞定了!安装完成后,到Unity Dash搜索Chrome就可以启动它了。

使用愉快!

来自: http://www.liberiangeek.net/2013/10/daily-ubuntu-tips-install-google-chrome-browser/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:SCUSJS 校对:Caroline

Chris DiBona是谷歌开源总监。他也是开源界杰出的领军人物之一,这还要追溯到他的大学时期,那时他对Linux可谓一见钟情。

在今年的 “一切皆开源” 大会上,Christ将会提供谷歌目前的开源软件活动的最新消息以及对过去的回顾,还有Android的起源和现况。

我遇到了Christ,我们讨论了他最喜爱的Linux发行版、开源的无情法则以及他对谷歌作为业界领袖应有的责任的看法。

以下是访谈详情。

问:对于你加入谷歌并且在开源部门展开工作,有那些方面是我们所不知道的?

答: 第一次使用Linux是在上学的时候,由于当时选修了操作系统课程,因此,我需要写一些有关客户端/服务器的东西。出乎意料的是,那时候Sun工作站实验室很热闹,因为公开探讨问题的风气使然,编码味十足,使用的终端跑得相当慢。我在想,瓶颈在哪,不妨就用一直都摆放在家里的一台486-16上试试这个linux到底怎么样。这是我有史以来最棒的一次决定!从此我喜欢上了linux系统。linux太棒了,运行很快,与其他unix系统相比,功能齐全。OS这门课程,我也得了A。

问:下面这个问题的危险程度跟询问你最喜欢的球队一样,你最喜欢哪个linux发行版?

答: 哈!如果轻率地回答,那么是Android,因为Android是基于linux内核的,而我对它的使用频度远远超过其他一些东西。尽管通常情况下讨论Android时,多数人都不把它当做一个发行版。我现在正在一个Ubuntu/Debian衍生版本上运行的Chrome浏览器中回复你这个问题的回答,我在谷歌计算引擎上运行的是Debian,在家里则经常用Fedora。出席公共场合的时候,大多数情况下我携带Chromebook,感觉用它最安全。那么最喜欢的就是Android。

问:2004年加入谷歌之前,你在开源和linux领域投入了许多精力,是什么原因促使你加入谷歌?

答: 从事了一小段时间咨询方面的工作以后,当我决定开始全职工作,谷歌的offer对我来说最富有吸引力。 成为谷歌开源人、白手起家开始创业的想法深深地吸引着我。我感觉无论过去还是现在,谷歌始终在计算机科学领域做着有趣的事情,而且以它独有的方式吸引着我,这些是其他offer所不具备的。

问:你不但指导各种项目的开发,而且也参与了Google Ventures,为该项目的启动注资,那么你在一个项目中想要寻求什么,是什么让你说出“是的,我就是想帮你”这样的话 ?

答: 呃,坦白说,我希望它能够做的有趣。对于Google Ventures,我并不需要过多的深入其中,而开源问题就不同了,有趣而且参与者众多。

问:多年前的一次采访中你曾经说过:“谷歌与开源社区同行。赞助意味着责任,这是相当严肃的一件事情。”谷歌是否打算避免在自己参与的社区中担责,二者之间存在必然联系吗?

答: 我想是这样的。我希望谷歌工程师和非谷歌开源界的工程师都能把对方看做计算机科学领域的同侪。我们得意识到,对开源项目的广泛资助预示着责任,比如项目控制,大家都知道,事情就应该这么做,即使真的没什么联系。

问:你曾经称开源是“无情”的,具体是什么意思?

答: 呃,我还以为你会问为什么开源可以行得通,什么时候会考虑开源软件工程管理在业内是如何运作,但是你没有。分散的、不同特性的团队在公司里相当难运作,但是在开源领域,可以创作出世界级非常优秀的软件。为什么会这样?

因为我认为,在开源项目中,你可以选择只和富有成效的人一起工作而忽视其他人。这种行为被理解为非常尖刻和排斥性的。然而实情原本就如此:无情并别排斥那些无所贡献的人。

然而这就是为什么项目克隆如此重要。无论出于什么原因,如果一个人被排斥在一个项目之外,那么他们可以克隆该项目然后使该项目朝着一个新方向发展。假如他们的想法及实现优于先前被拒绝加入的项目,那么,好吧,这次克隆成为新的现实,而那些拒绝别的开发者加入的家伙现在则尝到了被拒绝的滋味。

所以,我想说,开源世界是一个适者生存、优胜劣汰的残酷机制,但是这样却能生产出高质量的软件产品。诚然,对新手来说比较难上手……

问:14年前,你在O'Reilly出版过一本有关开源的书。这些年开源领域是否了发生大的变化?你认为将来开源模式会取代专有模式吗?

答: 开源界确实发生了一些变化,非常显著的一点就是公司里从事开源工作的人数的增长。而且我还觉察到学术界参与开源的人数有所下降,我把它归咎于技术转让专利申请,对代码许可权确实是个障碍。类似的,一些来自大学和公司的开源代码不足以称之为开源,因为围绕着专利要应付相当多的问题。我很想说要不是有专利授权许可,我们应该都持怀疑态度,但是在这个时候说这样的话就有一点走极端了。

via: https://opensource.com/business/13/10/interview-chris-dibona

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:l3b2w1 校对:Caroline