专栏名称: InfoQ
有内容的技术社区媒体。
目录
相关文章推荐
新浪科技  ·  #奥迪发布新品牌AUDI##行于心动间#德国 ... ·  4 天前  
新浪科技  ·  【#美国43只在逃实验猴捉回一只# ... ·  4 天前  
51好读  ›  专栏  ›  InfoQ

Q新闻丨收购Sun六年后,Oracle终于瞄准了Java的非付费用户;扎克伯格分享了自家AI管理系统Jarvis的构建过程…

InfoQ  · 公众号  · 科技媒体  · 2016-12-31 09:17

正文

编辑|小智
本周要闻:在收购Sun六年后,Oracle终于瞄准了Java的非付费用户;扎克伯格分享了自家AI管理系统Jarvis的构建过程;2016年Facebook开源事件回顾。
在收购Sun六年后,Oracle终于瞄准了Java的非付费用户

Java语言毫无疑问已经成为软件社区的一个品牌和开放的产业标准。自从2010年Oracle收购了Sun Microsystems公司之后,很多人就担心这在某种程度上是软件开源产业的一次失败,甚至会造成软件发展的倒退。但是彼时Oracle选择了维持现状,使得收购事件对整个社区并没有造成非常大的冲击。但是在六年后的今天,Oracle终于按耐不住了,他们加大了对违反其许可协议的Java客户的审查力度。

为什么Oracle选择在收购Sun公司六年之后才这样做呢?Gavin Clarke认为这是因为Oracle的LMS需要这段时间以详细地了解Java 的各个方面并设计有针对性的审计方法。而现在LMS已经准备好了,所以他们开始对Java SE的用户开枪了!

“我预计Oracle在2017年会增加这方面的投入,” Guarente告诉The Register,“所有的趋势都显示Oracle的LMS审计团队越来越咄咄逼人,他们正在积极地努力从这方面获取更多的收入。我不认为2017年大家将会看到一个仁慈绅士的Oracle。”

拉里·埃里森的团队认为有很多Oracle的客户和合作伙伴在使用Java时违反了他们的许可协议,为此他们正在对这类用户进行约谈,并利用许可证管理服务(LMS)追缴付款。Oracle目前已经在全球雇佣了20个人,专门来负责对那些违反 Java许可协议的企业进行追缴付款。

作为回应,行业合规专家组织也在扩充人马,招聘更多的Java 专家并扩大预算以应对2017年可能增加的大量LMS 的诉讼。因为这其中牵扯了太多的金钱利害关系,每个客户可能涉及数万、甚至数十万美元的费用。

为什么会是这样,之前难道没有这些问题吗?其实,根本原因是大家对Java的错误认知,都认为Java是免费的!这种认知可以追溯到Sun Microsystems时代,在Sun时代Java是免费的,大家理所当然的认为Oracle 时代也是这样!但是其实Sun也曾对IBM 和制造蓝光播放器的厂商收取许可费用。之所以对绝大多数使用者免费,是因为Sun是以这种方式来销售其他的系统。现在Oracle的做法只是让Java商业化的步伐迈得更快一些而已。

那么整个Java SE哪些内容是收费的,收费标准又是什么样的呢?其实,Java SE的下载包包罗万象,它包括Oracle在2014年2月推出的Java SE Advanced Desktop,在2011年5月推出的Java SE Advanced和Java SE Suite。

其中Java SE是免费的,包含免费的JDK和JRE,但是Java SE Advanced Desktop、Advanced、Suite,以及一些其他的额外功能(如Java Mission Control和Flight Recorde)并不免费。

另外,Oracle定义Java SE是免费的前提是“通用计算”,指的是桌面电脑、笔记本、智能手机和平板电脑这些设备,而对移动电话、手持设备、网络交换机以及蓝光播放器等嵌入式设备并不免费。

Java SE的收费标准从每用户40到300美元,或者每处理器5000到15000美元不等。例如,使用Java SE Suite的用户需要为每个用户支付300美金的费用,同时还有66 美金的服务支持费用;如果是按处理器收费的话,单个处理器需要15000 美金的费用以及3300美金的服务支持费用。

目前已经有用户收到了Oracle的催费通知,据The Register统计,有一个拥有8万台PC的零售行业的客户被Oracle告知他们违反了Java许可协议,还有一个客户被Oracle告知他们欠费10万美元。另外,寻求Java许可协议帮助的客户正在增多,他们在2016年下半年就收到了LMS的通知。

对于这一问题Oracle并没有区分客户和合作伙伴,专家们建议下载Java SE时一定要谨慎,已经下载的用户在LMS打电话过来之前一定要对使用情况进行审查,做好充分的准备。

但是目前并没有办法将需要付费的Java SE产品和免费的Java SE产品分开,Oracle也没有提供独立的安装软件,所以无论用户是否需要,下载的Java SE都将包含所有内容,也必须根据Oracle的要求进行付费。为此有合规专家建议用户“确保只安装有权使用的那部分,同时删除没用的内容”。

本文作者:孙镜涛

扎克伯格分享自家AI管理系统Jarvis的构建过程

马克·扎克伯格在2016年12月19日发布了一篇博文,分享自己为家里构建AI管理系统、实现家居自动化控制的思路和过程。该AI管理系统被扎克伯格命名为Jarvis(《钢铁侠》中的贾维斯)。12月20日,扎克伯格又继续公布了一些Jarvis的使用视频。

https://www.facebook.com/notes/mark-zuckerberg/building-jarvis/10103347273888091/

https://www.facebook.com/plugins/video.php?href=https://www.facebook.com/zuck/videos/10103351034741311/

目前进展

扎克伯格及家人可用语音向手机或计算机下达语音指令,实现灯光、温度、电器、音乐和安防设备的控制操作。该系统具备的学习功能可使其识别主人的偏好模式、学习新词汇与概念。

Jarvis使用到的技术

  • 自然语言处理

  • 语音识别

  • 面部识别

  • 强化学习

Jarvis的编程实现使用了Python、PHP和Objective C。

扎克伯格家中的可控制对象

下面的设备都是文中提到的或在视频中出现的。(显然,任何一个家庭中的可控制对象数量要远远超过这个列表。)

  • Crestron灯光

  • Crestron温度调节器(中央空调)

  • Crestron门锁

  • 窗帘

  • Sonos音响设备

  • 三星电视

  • Nest摄像头

  • 来自上世纪50年代的老古董烤面包片机

  • DIY喂狗粮机 food dispenser for Beast

  • DIY干净T恤发射器 t-shirt cannon

  • “大绿蛋”牌(Big Green Egg)BBQ烤炉

可控制对象的连接工作

部分“现代”可控制对象自身联网,可直接通过API控制,但有些API无法直接通过电脑操作,扎克伯格不得不对这些API进行了逆向工程。

非智能电器自身不联网,只能通过智能电源插座控制开关,如果想实现更高级的自动化只能DIY。比如,让老古董烤面包机在电源关闭时自动按下,这样在电源接通时就可以自动开始烤面包片了。

视频截图:自动化老古董烤面包机

视频截图:自动吐干净衬衫的t-shirt cannon

用自然语言(英文)下达指令


首先,把手写输入的自然语言指令转化为Jarvis的可执行指令。从简单到智能,Jarvis的升级分为不同阶段:

  1. 提取关键字,如“卧室 bedroom”、“灯光 light”、“开启 on”

  2. 学习新词汇,如“家庭活动室 family room”即等同于“客厅 living room“

  3. 根据模糊指令自行判断要执行的指令

以播放音乐为代表场景,不同模糊指令(open-ended request)的模糊程度是不同的,如:

  • play someone like you 精确指令,请求系统播放歌曲“someone like you”

  • play someone like adele 部分模糊指令,请求系统推荐类似Adele的歌手的歌曲

  • play some adele 部分模糊指令,请求系统推荐歌手Adele的歌曲

  • play me some music 完全模糊指令,请求系统自行推荐歌曲

  • play something light 部分模糊指令,请求系统播放轻松类型的歌曲

正常人平时说话以模糊指令居多,扎克伯格认为此类有针对性的模糊指令处理方案仍然蕴藏巨大的商机。

至于将语音识别为文本,现成的实现方案很多,重要的仍然是场景识别。比如当扎克伯格向Jarvis说“我的房间”或者“放点音乐”时,Jarvis能够识别这是对扎克伯格的房间下达指令,而不会跑错了房间把娃吵醒。

人脸识别

Facebook的人脸识别智能在照片中已经具备相当的准确度。在实际应用中,为了在各种情况下都能够捕捉到人物的正脸,需要在多角度布置摄像头。从摄像头接收数据的服务器不间断的运行如下程序逻辑:

  1. 有人进入摄像范围吗?

  2. 如果有,则运行人脸识别程序,返回此人的身份,再进行相应的处理(如发送通知给扎克伯格)

视频截图:扎克伯格的父母在大门口

目前,该系统已经可以实现下述效果:

  • 检测娃是睡着了还是睡醒了,继而控制音响中要播放音乐还是中文课

  • 检测扎克伯格正在哪个房间,从而能够准确处理诸如“开灯“一类的模糊指令

跟Jarvis交互

Jarvis运行在扎克伯格自家的服务器上,为了更方便的在移动端跟Jarvis交互,扎克伯格使用Messenger构建了一个机器人好友Jarvis AI用于远程连接服务器。

目前,该机器人可以实现如下功能:

  • 接收扎克伯格发来的文本指令并即时执行

  • 接受扎克伯格发来的语音指令并即时执行

  • 若有人访问,自动将访问者在门口的照片发送给扎克伯格

  • 给扎克伯格发送提醒信息

在实际使用中,扎克伯格发现文本的使用频率要比语音高很多,因为他感觉文本更不容易打扰到身边的人,也更容易追踪管理。

然而另一方面,当人对系统说话,而系统也用语音回复的时候,人在这种交互中投入的情感毕竟要更深入。因此,即使有了好友机器人,扎克伯格还是专门做了一个Jarvis App放在手机里。这个App打开后就长期在后台开启,持续监听周边的声音以捕捉扎克伯格给Jarvis发出的指令。同时,扎克伯格也给Jarvis植入了语音,并且不断为Jarvis添加有趣的台词。

构造Jarvis用到的代码库

  • Messenger Bot框架

  • Nuclide软件包

  • Buck构建系统

  • FastText文本分类工具

Facebook在AI方面更多的研究成果可以参阅他们的Facebook Research Github页面:

http://github.com/facebookresearch

整个2016年,扎克伯格在构建Jarvis上一共花费了约100小时。

本文作者:杨赛

2016年Facebook开源事件回顾

最近一年以来,开源开始全部进军商业软件领域,开源趋势明显已经在相当长一段时间内成为高科技产业内日益重要的组成部分。Facebook、谷歌,甚至是多年来一直对开源抱有敌意的微软,都已经基于开源许可发布大量代码并向众多项目投入开发人员。也正因为如此,越来越多企业加入到开源社区当中开始成为一种历史潮流。

Facebook为了争当开源第一大厂,已经把自家很多好东西都拿了出来贡献给开源世界,在开源之路上呈现一骑绝尘之势,承冠为王。

Facebook开源项目涉及的领域有移动工具多样化、大数据、客户端Web库、后台运行时和基础设施,还有通过开放计算项目涉及到的服务器和存储硬件等等。

Christine Abernathy就写了这篇博文,介绍了Facebook开源在2016年的回顾,InfoQ将其文翻译并分享,以飨所有关心开源项目的从业者、爱好者等广大受众。

https://code.facebook.com/posts/1058188987642144/facebook-open-source-2016-year-in-review/?utm_source=codedot_rss_feed&utm_medium=rss&utm_campaign=RSS%20Feed

以下是正文。

在过去几年中,Facebook的开源项目已经发展成为行业中规模最大、最活跃的组合之一。在2016年,我们推出了77个新项目,我们的贡献者提交了6万次。在我们的整个组合中有近400个项目,超过50万个关注者,Facebook致力于保持项目的稳定性和高质量,并支持他们的周边社区。

我们的最佳项目,以今年提交的总数量来衡量,都是前几年开源的,通过社区的采纳和贡献的情况来看,可以看到将继续保持发展的势头。

虽然不是项目成功的唯一标志,我们有两个旗舰项目:React和React Native,它们的关注者,今年分别超过了5万和4万。我们有三个额外的项目,超过15,000个关注者;有三个项目,至少有10,000个关注者;还有二十个项目,有5000个关注者。

我们还有一些值得注意的新来者。Draft.js是一个基于React的富文本编辑器框架,在今年早些时候在React.js Conf发布后在几个小时内就广受欢迎。另一个基于React的项目:create-react-app,将您构建新应用所需的一切内容都封装到单个命令行工具中,获得了极大的关注,现在是我们史上最受欢迎的第五个项目。Create-react-app也是在Facebook孵化器中启动的第一个项目,这一新的起始点,使我们得以评估一个项目如何被社区接受,并决定如何进行长期的最好管理。

我们还在今年的F8上为Android和iOS发布了一套新的工具,甚至将我们的F8应用,向人们展示如何使用React Native轻松构建跨平台应用程序以及与之协同工作的技术堆栈。在我们的年度@Scale会议上,我们将Zstandard予以开源,这是一种新的数据压缩算法,改进了Facebook的存储要求。

最后,我们很高兴地庆祝我们最大的发布会,同时也是GitHub有史以来最大的发布会之一,Yarn(一个与Exponent、Google和Tilde共同构建的新型JavaScript包管理器),在发布的最初48个小时,就有了10000名关注者,到今天为止,有1100多个提交。看到它被越来越多的人使用,尤其是像Travis、Appveyor那样的公司使用,我们很激动。

我们最近推出的那些深受关注的许多项目,表明了在现有生态系统内协作和构建工具,有助于应对共同挑战的重要性。

我们的合作超越了新的发布。Facebook中的许多团队与行业中的其他人坦诚合作,帮助每个人使用项目和工具。去年四月,React Native在微软和三星的贡献下庆祝了其第一个开源周年纪念活动,为每个主要移动平台带来了React Native支持。我们还与Spotify合作,改进了Infer(我们的静态分析仪工具)与其构建系统的集成。这种双向协作不仅有助于使Infer更好,而且还使许多其他公司,包括Uber,也可以在他们的应用程序上运行Infer。最后,GitHub宣布将通过GraphQL提供其开发人员API。

此外,我们继续致力回馈我们在Facebook上使用其软件的项目和公司。我们向核心Chef提供了大量的pull请求,成为Chef Board委员会的一员后,开源了22个新的Chef cookbook,并且为systemd提供了cgroup2支持。我们内核团队的21位工程师对主流Linux做出了600多份贡献,包括cgroups2、MD/RAID5缓存、eBPF、btrfs和缓冲写回修复。

我们还与Facebook的其他团队密切合作,开源开发工具之外的一系列技术。Facebook AI Research已经将其许多资源提供给更广泛的社区,包括fastText(一个用于文本表示和分类的图书馆),它成为今年的最新发行版之一,拥有超过5000个关注者。我们甚至开源了一个相机系统:Surround360——我们的全景相机,一种最先进的图像拼接软件。

这是一个繁忙的一年,离不开你们中的许多人。我们有超过2700个外部贡献者的13,000次请求,比去年增加了40%。

要了解有关Facebook Open Source的更多信息,请访问我们的项目主页或在GitHub上找到我们。2017年见!

https://code.facebook.com/projects/

https://l.facebook.com/l.php?u=https://github.com/facebook&h=5AQErV3Xx&s=1&skip_shim_verification=1

本文编译:刘志勇

不想与智能物联网大潮失之交臂、不想与Huawei LiteOS形同陌路、不想你的编码人生碌碌无为、不想你的好创意烂在肚子里…那就点击文末 「 阅读原文 」报名,参加1月7日-8日在北京由华为主办、InfoQ协办的Huawei LiteOS黑客松大赛吧。叫上你的小伙伴,来一场2天1夜的疯狂。

今日荐文

点击下方图片即可阅读

伸手党福利!全年干货浓缩成一篇文章,这本技术人修炼秘籍你就收下吧!