标签 Google 下的文章

像谷歌这样的大公司并不是真的喜欢开源项目,虽然他们的谷歌浏览器基于开源的 Chromium 浏览器。现在,在谷歌浏览器中所使用的 PDF 渲染引擎以开源形式发布了。

在谷歌浏览器中所使用的 PDF 渲染引擎是 PDFium ,迄今为止这个项目都没有向公众发布过。现在还不清楚是什么改变了他们的想法,不过现在用户们可以去下载 PDFium 的源代码了。

虽然 PDFium 现在是开源的,但是它是在一个有特定条件的新 BSD 协议下发布的。例如再次使用源代码必须保留其原有的版权声明、一份条件列表以及一份免责声明。对于二进制文件的再发布需要相同的条件。与此同时,无论是版权持有者还是它的贡献者都不能署名或推广该软件的衍生产品。

就像大多数的开源项目一样,它可以通过 Git 取得,你可以很容易地使用如下命令乃克隆该项目:

git clone https://pdfium.googlesource.com/name

虽然 PDFium 未必能在其他主要项目中使用,但我们很高兴看到谷歌正在试图对开源社区变得友好。


via: http://news.softpedia.com/news/Google-Chrome-s-PDF-Rendering-Engine-Released-as-Open-Source-443461.shtml

译者:wwhio 校对:wxy

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

最近,Google Keep 已经成为我在 Android 最喜欢用的笔记应用。而在 Ubuntu 的工作中, 我同样想做一些快速笔记。既然 Google Keep 可以在设备间同步, 这样 在 Ubuntu 上安装 Google Keep 也有用了。在这个快速技巧中,我会向你展示如何在 Ubuntu 13.10 或者其它 Linux 发行版上安装 Google Keep。

如果你是一个 Google Chrome 用户,你可能知道 Google 的“桌面应用”。可以在 Chrome 在线商店的桌面分类中找到很多应用。不像运行在浏览器的常规 Chrome 应用,这些“桌面应用”独立运行,就像桌面应用那样。我们会看见如何将这个新的特性以原生 Ubuntu 应用形式安装 chrome 应用。

在 Ubuntu 13.10 上安装 Google Keep:

尽管我在这里用 Google Keep 为例子,你可以使用相同的流程来安装其它应用,像Any.do或者Pocket(从上述的桌面分类中找到)。当然,你必须在你的系统中安装了 Chrome 浏览器。它或许无法工作在 Chromium 浏览器中。

步骤 1:

新建一个 Chrome 标签页。进入 Chrome 在线商店并安装 Google Keep。

步骤 2:

在新的标签页中,右击 Google Keep 图标并选择 创建快捷方式

步骤 3:

选择桌面和应用菜单。

就是这样,实际上很简单。你现在可以在 Unity Dash 中找到 Google Keep 并锁定到 launcher。即使你没有运行 Chrome,你也可以像其它的 Ubuntu 程序那样简单地运行 Google Keep。

很酷,不是么?Google 也正在计划移植 Google App Launcher 到 Linux 中。很快我们就可以使用 Google Now 桌面应用了,目前只能运用于Chrome的dev channel上。

想象一下这些,我在想为什么 Google 还没有为 Linux 开发远程 Google Drive 客户端。当然这里有一些第三方程序,像 SyncDrive 用来同步 Google Drive,就像 Ubuntu 中的 Dropbox 那样,但是如果有一款官方程序就更好了。


via: http://itsfoss.com/install-google-keep-ubuntu-1310/

译者:geekpi 校对:Caroline

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

Google Calendar 是时下最流行的网页应用程序之一。用户可以通过网络接口或者本地的应用程序跨设备访问或同步 Google Calendar。在 Linux 上,有很多方法可以本地访问 Google Calendar,比如用电子邮件客户端插件(如 Evolution 或 Thunderbird )或者用日历应用程序(如 Sunbird 或 Rainklendar)。这些方法通常都需要安装不必要的大型软件,这些软件你很可能根本不需要。

如果你只是想在本地的 Linux 上翻翻 Google Calendar 或者用它设置提醒,那么你可以考虑使用Google Calendar 命令行接口(或者 gcalcli),这是一种更轻型化的方法。对于 Linux 桌面操作系统用户来说,好处不止这些,如果将 gcalcli 与Conky搭配使用你就可以把 Google Calendar 透明地融入桌面主题。

在这个教程中,我会展示如何利用 gcalcli 和 Conky 将 Google Calendar 融入 Linux 桌面

在 Linux 安装 gcalcli

在安装 gcalcli 之前,要确保你正在用的是 Python 2 而不是 Python 3 ,因为 Python 3 与 gcalcli 不兼容。

如果是在 Debian、Ubuntu 或 Linux Mint 上可以用下面的命令安装 gcalcli

$ sudo apt-get install git python-pip python-gdata python-dateutil python-gflags python-vobject python-parsedatetime
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install 

温馨提醒:Ubuntu 或 Linux Mint 的软件库中虽然有 gcalcli,但是这些版本并不包含其最新的特性和针对 bug 的修复。所以这里推荐按以上所述的方法由源文件构建 gcalcli。

对于Fedora 、CentOS 或 RHEL,可按如下方法安装。

$ sudo yum install git python-pip python-gdata python-dateutil python-gflags python-vobject
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install 

gcalcli 的 Google 认证

为了能让 gcalcli 访问 Google Calendar ,你需要用你的 Google 帐号通过 OAuth2 认证,以使 gcalcli 获得许可来访问你的 Google Calendar。

第一次运行 gcalcli 的时候,OAuth2 认证会自动进行初始化。因此运行下面的命令开始

$ gcalcli agenda

该命令会输出如下的一个 URL 。

同时这个命令也会弹出一个指向该 URL 的浏览器窗口。如果因为一些原因,你的浏览器没有反应,你可以手动复制粘贴这个 URL 到你的浏览器中。

如果你还没有登录你的 Google 帐号,你得先登录。然后你会看到下面要求你许可 gcalcli 管理 Google Calendar 的信息。点击“Accept”即可。

支持 Google Calendar API

认证后,下一步就是支持 Google Calendar 的 API 访问。gcalcli 通过 Google Calendar API 访问Google Calendar 。但是,如果要使用 Google API 就必须明确设置你的 Google 帐号支持 Google API。

首先到:https://cloud.google.com/console。点击项目列表下的“API Project ”

转到“APIs & auth ”下面的“APIs”你会看见一个 Google APIs 列表。点击“Calendar API”的开关按钮使其能支持 API。

现在转到“APIs & auth”下的“Registered apps”那里,去注册 gcalcli app。点击最顶端的“Registered app”按钮。

填写 app 的名字(如,“My Gcalcli”),然后选择“ Native ”作为平台。点击“Registered”按钮。

这一步会生成并显示 OAuth 用户的 ID 和密码。另外关于上面提示的“You have not set up your product name(您没有设置您的产品名称)”,你可以忽略掉。

OAuth的认证结果将会保存在 ~/.gcalcli\_oauth 文本文件中。

用 gcalcli 在命令行中访问 Google Calendar

你现在马上就可以用 gcalcli 访问Google Calendar 了。

在你的家目录创建一个如下的 gcalcli 配置文件。将你先前获得的 OAuth 用户 ID 和 密码按下面格式输入进去。

$ vi ~/.gcalclirc

--clientid='XXXXXXXXXX.apps.googleusercontent.com' --clientsecret='YYYYYYYYYYYYYYYY'

到了这一步,你应该可以在命令行运行 gcalcli 了。

试试下面的命令,这两个命令会分别打印出一个你的 Google Calendar 的列表和今后 5 天的日程安排。

$ gcalcli list
$ gcalcli agenda

将 gcalcli 与 Conky 结合

最后一步就是将 gcalcli 的输出导入你的桌面主题中。为了做到这一点,你需要 Conky 这个非常强大的工具,它可以把许多信息直接显示在你的桌面主题中。

首先在你的 Linux 系统上 安装 Conky

然后,在你的家目录下的某个地方( 例如 ~/bin )创建如下的脚本程序。

$ vi ~/bin/gcal.sh

#!/bin/sh

gcalcli --conky calw 2 |
  sed -e 's/^[(0\x71^[(B/?/g' \
      -e 's/^[(0\x78^[(B/?/g' \
      -e 's/^[(0\x6A^[(B/?/g' \
      -e 's/^[(0\x6B^[(B/?/g' \
      -e 's/^[(0\x6C^[(B/?/g' \
      -e 's/^[(0\x6D^[(B/?/g' \
      -e 's/^[(0\x6E^[(B/?/g' \
      -e 's/^[(0\x74^[(B/?/g' \
      -e 's/^[(0\x75^[(B/?/g' \
      -e 's/^[(0\x76^[(B/?/g' \
      -e 's/^[(0\x77^[(B/?/g'

$ chmod +x ~/bin/gcal.sh 

重要提醒:上面脚本中的 ‘ [’ 必须是真正的 ESCAPE 键( 也就是说在 vi 中按 Ctrl-V 然后按 Esc )。

这个脚本程序将 VT100 转义序列转成Unicode组件图字符。这是必须的一步,因为 Conky 不支持 gcalcli 使用的 ANSI 字符画。

最后,在你的家目录中创建下面的 Conky 配置文件。

$ vi ~/.conkyrc

alignment top_right
maximum_width 630
minimum_size 330 10
gap_x 25
gap_y 50

own_window yes
own_window_type conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 0

update_interval 300
background no

border_width 1
default_color cornflowerblue
default_outline_color white
default_shade_color white
double_buffer no
draw_borders no
draw_graph_borders no
draw_outline no
draw_shades no
max_port_monitor_connections 64
max_specials 512
max_user_text 16384
text_buffer_size 8096
no_buffers yes
out_to_console no
uppercase no
use_xft yes
xftfont Bitstream Vera Sans Mono:size=10

TEXT
*** Google Calendar Agenda ***
${execpi 300 gcalcli --conky agenda}
${execpi 300 ~/bin/gcal.sh}

这个 Conky 配置文件会直接在你的桌面主题上显示你的 Google Calendar 的一个日程表和一个两个星期的时间表。

现在,你可以运行下面的命令激活 Conky。

$ conky

你应该可以在 Linux 桌面的右边看到 Google Calendar,如题图。

确认 Google Calendar 可以正常运行后,你可以将 Conky 设为在每次登录时自动启动。

设置 Google Calendar 提醒

gcalcli 也可以为 Google Calendar 中即将到来的事件发送一个提醒。它使用 notify-send 命令。对于 Google Calendar 提醒,你可以像下面一样设置一个工作进程。

$ crontab -l

*/10 * * * * /usr/local/bin/gcalcli remind

via: http://xmodulo.com/2013/12/integrate-google-calendar-linux-desktop.html

译者:Linchenguang 校对:Caroline

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

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

Google的首席开源执行官在LinuxCon大会上说明了为何Android是开源的以及为何开源是Android成功的关键因素

9月16日,新奥尔良,LinuxCon大会,负责开源的Google董事Chris DiBona在主题演讲中发布了一条关键信息:Android是一款开源产品。

Google在开源社区中能够确保不犯错并一直遵守开源授权的要求,DiBona在这其中发挥了关键作用。DiBona在演讲中介绍,早在2005年,从Android发展战略刚刚开始的时候,其平台的核心基础就是要始终保持开源。

2005年,Google面临的困难挑战是如何将它的搜索引擎植入手机。当时,手持设备的市场还很封闭,Google要想进入到手机市场,必须经历一个步履维艰的过程。Google要想确保它的搜索引擎能够轻易部署到每一部手机,在某种程度上,Android就成为了一种尝试。

DiBona说,“我们希望人们在使用手机的时候,能拥有和电脑桌面一样的体验,但当时在开源领域并没有这样的产品”。

Google希望的是,Android只为用户提供手机所必需的基本功能,DiBona说,Google并不愿因为在手机上搞竞价排名或定制服务而和运营商们无休止地讨价还价。

DiBona还说,“手机运营商再也不能靠捆绑销售来竞争了,手机市场必须有一个自由环境。”

DiBona介绍,Android已经成为Google极其成功的一项成就,而且它每年都在变得更好。他还补充说,目前,新的Android设备每天的激活量已经达到130万台。

Linux

从Android利用Linux作为自身平台重要的组成部分开始,它们之间就注定结下不解之缘。2010年,Google的Android代码被从Linux核心中剔除

直到2012年三月Linux内核3.3发布,Android才最终回到Linux核心代码中。DiBona评论说,他始终认为Linux和Android在一起是个好主意。关于它俩是否应该在一起的争论,这是个很技术的技术问题,涉及到一种叫做WakeLock的省电机制。

争论先放一边,DiBona说,有些人质疑Android是否真的开源,简单一句话就可以证明,屡试不爽。不需要Google的参与甚至许可,任何人都可以在任何设备上安装Android。而正是因为Google在开源许可的授权下开发了Android,以上这一切才能成为事实。

DiBona最后总结时强调,是开源造就了Google的Android,开源作为Android的核心观念,早已根深蒂固。

via: http://www.eweek.com/mobile/google-android-is-open-source-linuxcon.html

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

译者:Mr小眼儿 校对:Caroline