除了 Android, Google 还有哪些开源项目?
lvzl7007
8年前
<p><img src="https://simg.open-open.com/show/df45c5cc92cde74c5bbe8cf941a9a8e8.jpg"></p> <p>开放源代码软件帮助 Google 快速而高效地开发软件,而无需从零开始,这样,我们可以专注于解决新问题。我们深知: <strong>我们站在巨人的肩膀上</strong> 。正因如此,我们支持开放源代码 并让 Google 员工能够以开放源代码的形式轻松发布公司内部正在开发的项目。</p> <p>今天,我们分享了我们的第一张开放源代码报告卡,其中重点介绍了我们最受欢迎的项目,分享了我们在 2016 年发布的部分项目的一些统计数据和详细情况。</p> <p>以下是我们最为人熟知的一些项目:</p> <ul> <li> <p>Android - 适用于移动设备的一整套软件,包括操作系统、中间件和关键应用。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/8a8a537234443c37d4d69636d1da42a0.png"></p> </li> <li> <p><strong>Chromium </strong> - 此项目包含 Chromium (Google Chrome 背后的软件)和 Chromium OS (Google Chrome 操作系统设备背后的软件)。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/836f5e05f8d4677b6ead744a73a30369.png"></p> </li> <li> <p><strong>Angular </strong> - 一个适用于 JavaScript 和 Dart 的网络应用框架,注重开发者效率、速度和可测试性。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/e19f02191720fc91a7eceb8f9af4a212.png"></p> </li> <li> <p><strong>TensorFlow </strong> - 一个使用数据流图形进行数字计算的库,其支持可扩展的跨平台机器学习,从数据中心到嵌入式设备,均可适用。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/2e534a4d9349cd8b6453bd5f11a3e01b.png"></p> </li> <li> <p><strong>Go </strong> <strong> </strong> - 一种静态设置类型和编译的编程语言,其特点是表达清晰、简洁、干净、高效。</p> </li> </ul> <p style="text-align: center;"><img src="https://simg.open-open.com/show/da703b15236bba63bd983411a4240605.png"></p> <ul> <li> <p><strong>Kubernetes </strong> - 一个用于自动化部署、操作和调整容器化应用的系统。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/07d3d4f7a71cb6835a042a4bc112ebba.png"></p> </li> <li> <p><strong>Polymer </strong> - 一个基于 Web Components API 构建的轻量级库,用于构建网络应用中可重用的封装元素。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/ac87da35a8adea50c61706fb89c1ccd9.png"></p> </li> <li> <p><strong>Protobuf </strong> <strong> </strong> - 一种用于序列化结构化数据的机制,其特点是可扩展且独立于语言和平台。</p> </li> <li> <p><strong>Guava </strong> - 一组 Java 核心库,其包含新的集合类型(例如 multimap 和 multiset)、不可变集合、图形库、函数类型、内存缓存以及用于处理并发运算、I/O、散列、原语、反射和字符串等的 API/实用工具。</p> </li> <li> <p><strong>Yeoman </strong> - 一组可靠而极具特色的基础工具,其包括各种库和一个工作流,能够帮助开发者快速构建美观而具有吸引力的网络应用。</p> </li> </ul> <p>尽管很难衡量 Google 内部开放源代码的全部范围,但我们可以使用 GitHub 上列出的部分项目来收集一些有趣的数据。如今,我们在 GitHub 上的影响力巨大,共有 84 个组织加入,总共创建了 3499 个存储区,其中 773 个都是今年创建的。<br> <br> Google 员工使用的语言五花八门,从 Assembly 到 XSLT,那么哪些语言是他们的最爱呢?GitHub 上标注了某个存储区中使用量最大的语言,我们可以据此找到答案。</p> <p>Google 员工最常用的语言如下:</p> <ul> <li> <p>JavaScript</p> </li> <li> <p>Java</p> </li> <li> <p>C/C++</p> </li> <li> <p>Go</p> </li> <li> <p>Python</p> </li> <li> <p>TypeScript</p> </li> <li> <p>Dart</p> </li> <li> <p>PHP</p> </li> <li> <p>Objective-C</p> </li> <li> <p>C#</p> </li> </ul> <p>许多数据都可使用 BigQuery 上的开放源代码 GitHub 数据集 收集,例如 标签和空间的使用量对比 以及最 热门的 Go 程序包 。如何分析 Google 员工在 GitHub 上提交开放源代码项目的次数呢?我们可以搜索 Google.com 电子邮件地址来获得 Google 员工的保守提交次数。以下是我们的查询:</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/910e2435b249bf2290dd2340df8e4dce.png"></p> <p>通过这种方法,我们了解到:自今年年初以来,Google 员工在 GitHub 上总共提交了 142527 次开放源代码项目。此数据集可以回溯到 2011 年,我们可以调整此查询,发现自那时以来,Google 员工总共提交了 719012 次。需要再次说明的是,这只是一个保守数字,因为它并没有计入以其他电子邮件地址进行的提交。</p> <p>回顾我们在 2016 年开放源代码的项目,我们发现有许多令人兴奋的成果。我们发布了开放源代码软件、硬件和数据集</p> <p>了解一下今年发布的部分应用。</p> <p><strong>Seesaw</strong></p> <p>Seesaw 是一个由我们的网站可靠性工程师使用 Go 开发的基于 Linux 虚拟服务器 (LVS) 的负载平衡平台。与许多项目一样,Seesaw 只是我们自己的兴趣而已。</p> <p>以下内容摘自 此项目的发布公告:“我们需要能够处理单播和任播 VIP 的通信,利用 NAT 和 DSR(也称为 DR)执行负载平衡,并对后端执行充分的运行状况检查。最重要的是,我们需要一个平台让我们能够轻松管理,包括自动化部署配置变更。”</p> <p>供应商安全性评估调查问卷 (VSAQ)</p> <p>我们每年都会评估成百上千的供应商的安全性,我们制定了一套流程,可以通过 VSAQ 自动化收集大部分初步信息。许多供应商发现我们的调查问卷直观、灵活,因此,我们决定分享这些调查问卷。VSAQ 框架包括四个可扩展的调查问卷模板,涵盖网络应用、隐私计划、基础架构以及物理安全性和数据中心安全性。在我们的 公告博文中,您可以了解更多详情。</p> <p><strong>OpenThread</strong></p> <p>由Nest发布的OpenThread是对Thread</p> <p>协议的完整实现,该协议适用于家中的互联设备。我们目前在此领域看到的都是零零散散的信息,因此这一实现尤其重要。OpenThread 的开发得到 ARM、Microsoft、Qualcomm、Texas Instruments 和其他大型供应商的支持。</p> <p><strong>Magenta</strong></p> <p>我们可以使用机器学习来创造令人心动的艺术和音乐吗?这正是赋予 Magenta 生命力的问题,该项目由 Google Brain 团队 基于 TensorFlow 构建而成。其目标是:将机器智能的发展水平推进到音乐和艺术时代,组建一个由艺术家、程序员和机器学习研究人员组成的合作社区。如需了解详细信息,请阅读 发布公告。</p> <p><strong>Omnitone</strong></p> <p>没有空间音频,虚拟现实 (VR) 就无法实现真正的沉浸式体验,而 VR 开发的许多工作都是在专用平台上进行的。 Omnitone 是一个由 Chrome 团队成员构建的开放库,该库将空间音频带入浏览器。Omnitone 基于标准的 Web Audio API 构建而成,旨在提供沉浸式体验,可随 WebVR 之类的项目一起使用。如遇了解详细信息,请参考 此项目的发布公告博文。</p> <p><strong>Science Journal</strong></p> <p>如今,智能手机都集成了传感器,可以告诉我们有关周围世界的有趣信息。我们 启动 了 Science Journal 项目,旨在帮助教师、学生和普通科研人员充分利用这些传感器。在我们的 公告博文 中,您可以了解有关此项目的更多详情。</p> <p><strong>Cartographer</strong></p> <p>Cartographer 是一个依靠 Robot Operating System (ROS) 的支持,以 2D 和 3D 模式实时同步定位和制图 (SLAM) 的库。该库综合来自各个传感器的数据来计算位置和地图周边环境信息。这是自动驾驶汽车、无人驾驶汽车和机器人的关键要素,也是 知名建筑物室内地图 工作的一部分。有关 Cartographer 的更多详情,可在我们的 发布公告博文 中找到。</p> <p>以上只是从我们今年发布的项目中抽取了一小部分示例。关注 Google 开放源代码博客 或“谷歌开发者”公众号,及时了解 Google 的开放源代码软件、硬件和数据发布。</p> <p> </p> <p>来自:http://mp.weixin.qq.com/s?__biz=MzAwODY4OTk2Mg==&mid=2652039893&idx=1&sn=9772fca7de86f078060c715b5d00935c&chksm=808d4a90b7fac386502a9d96e640c99b527076e03bf0a5486d06151642a33405741f217856ab#rd</p> <p> </p>