2017年5月1日星期一

【开源访谈】优麒麟开源项目负责人余杰:为中文用户提供更好的 Linux 体验


Linuxeden 开源社区 --

UKUI 是一个轻量级的 Linux 桌面环境,基于 GTK 和 QT 进行开发,今年正式面向全球发布,已经在国内外得到广泛关注,目前默认使用在优麒麟开源操作系统上。当初为什么开发优麒麟操作系统?期间有质疑的声音吗,如何回应和面对的?优麒麟下一步的计划是什么?带着这些问题,本期开源访谈邀请到了优麒麟开源项目负责人余杰老师,和大家探讨有关优麒麟的种种情况和发展。

【本期嘉宾】

余杰(Jack Yu),国防科技大学博士、优麒麟开源项目创始人,长期从事 Linux 相关开发和推广活动。

【访谈实录】

1. 嘉宾自我介绍(技术背景、学习经历、工作经历和感兴趣的技术等)

我叫余杰,毕业于国防科技大学。从大学本科开始就参与到开源社区,当时主要做 Tomcat、Joomla、OpenSSL 之类的开源软件,也贡献过代码并分享给同学和企业使用。

我的博士课题就是以 P2P 开源软件为平台,比如 eMule/aMule、BitTorrent 等,通过对其 DHT 协议源代码进行分析和优化开展研究工作,发现的部分漏洞已经反馈给开源社区,官方也有对其进行修复;期间开始参与 Linux 的推广和开发,并有幸成为全球第 771 个 Ubuntu Member。目前是优麒麟开源操作系统的负责人。

2. 当初开发优麒麟操作系统的初衷是什么?

开发优麒麟的初衷是为中文用户提供最好的 Linux 体验,这也是我们一直坚持和努力的方向。经过四年多的发展,随着我们产品的完善和技术的提升,现在也在为全球用户提供更简洁高效的桌面体验,从 14.04 开始,我们在欧美和亚非拉的活跃用户不断增加。

最开始我们在学校里推广 Linux,让同学们使用 Linux,用 Linux 完成日常的学习、办公等工作,但据我们观察到的情况来看,很多同学表示使用起来很不习惯,毕竟他们之前大多都是使用 Windows 操作系统。而 Linux 桌面的易用性以及适配性、生态软件等方面和 Windows 相比起来都有一些差距。

所以后来就萌生了自己做一个开源发行版的想法,为中文用户提供更好的 Linux 体验;继而推动与 Canonical、CSIP 一起成立 CCN 开源软件创新联合实验室,并于 2013 年 4 月发布首个优麒麟开源版本。

3. 对于优麒麟有质疑的声音吗,是如何回应和面对的?

质疑还是有的。主要有两个方面。

一个是担心我们用国家经费来做优麒麟,但实际情况是,优麒麟一直是 CCN(Canonical、CSIP、NUDT)三方自带干粮,自投人力,从 2013 年至今,优麒麟没有申请过任何国家经费。包括以后,我们也不会用优麒麟申请任何国家经费。

那收入从哪里来呢?Canonical 有自己的营收,比如 OEM 预装,CSIP 和 Kylin 也是一样。我们也有很多地方可以盈利,包括我们可以通过为企业提供 Linux 服务而获取收入。

另一个质疑的声音就是桌面体验还不够完美,部分用户认为桌面风格太普通,和 Ubuntu 也很接近,没看到自己的风格。我们之前使用 Unity 或对 Unity 进行定制开发,中文用户接受度不够,所以后来做了大量的用户调研,我们全力设计和开发了全新的桌面环境 —UKUI。另外,还涉及到生态环境的话题,生态环境也是体验的一部分。我们跟金山、搜狗、北信源等很多厂商合作,努力打造完善的生态。我一直有这样的理念:用户使用的不是操作系统,而是应用软件。操作系统主要是给应用软件提供一个入口和平台。

4. 现在是否有为推广优麒麟做什么工作?

有的。优麒麟聚焦社区用户,技术迭代较快,适应 Linux 爱好者和开发者的快速升级需求,我们一直通过各种线上、线下平台进行推广。线上主要是在各种社区媒体和开元平台去推广和宣传,线下是通过举办技术交流、发布派对、圆桌会议来推广优麒麟和 Linux 技术。尤其是针对高校的培育和推广,目前跟优麒麟社区建立长期合作关系的国内高校已经超过 30 个。

同时,我们为企业用户提供银河麒麟商业版,两者系统体验一致,在安全增强、可用性增强、应用定制、支持周期以及企业级服务等方面有区别。这次随 17.04 同步发布的银河麒麟社区版就是希望让企业用户可以快速方便地体验我们的长期支持版本,并基于这个版本开展软硬件生态的完善和优化工作。

5. 对于 Linux 桌面环境目前乃至未来的发展有什么看法?

现状:

  • 每种桌面都有各自的特色
  • 桌面环境不断更新换代
  • 各自有不同的适用场景

未来:

  • 桌面环境的体验:技术与体验的融合
  • 桌面环境的开发:跨平台

大家都知道,Linux Server 的市场占有率大概是 50% 多,基本是和 Windows 相当;而 Linux Desktop 的市场占有率一直在 1% 徘徊,因此要把 Linux Destop 做成功是非常有挑战的,甚至可以说是一个全球性难题。但是,我们认为 Linux Desktop 在中国是有可能成功的。为什么在中国有可能成功呢,因为中国有着巨大的用户市场,只有这个市场能够推动 Linux Desktop 的技术和生态走向成熟。如果 Linux Desotop 在中国能成功,对全球开源界将是一个极大的福音。

6. 怎么看待 Ubuntu 宣布放弃 Unity 转而回归 GNOME?

深层原因:技术和体验的融合是趋势。从这一点看,Ubuntu 当初选择做 Unity 是没有错的;但用户和市场的认可是关键,在用户不认可、没有稳定市场的情况下作出调整,放弃 Unity,也属于明智之举。

当初 Mark 选择 Unity 的时候,这个决定是非常对的,当时是 2010 年左右,他就已经看到了多屏融合的趋势和必要性,采用 Unity 的核心目的就是要把手机、桌面、平板和智能电视等统一起来,统一之后,体验就完全一致了。但问题在于 Mark 在技术上追求完美,想把整个 Unity 重构,包括重写 Mir,毫无疑问这个工程量是巨大的,所以便导致 Unity 一再跳票,原计划 14.04 就要发布的 Unity 8,直到现在还没完全成熟。因此,思路是对的,但路线走得过于偏执。

另一方面,近几年 Linux 桌面环境也是百花齐放,如 Cinnamon、Mate 等新的桌面环境发展迅速,GNOME、KDE 等传统桌面环境也是快速更新升级,不断提供新的体验和功能,这些都给用户提供了更多的选择。

总之, Unity 还是对整个 Linux 的发展起了一个很大的推进,因为在完善它的过程中,对很多 Linux 桌面的相关组件也做了完善。所以 Unity 本身的技术先进性是毋庸置疑的, Canonical 放弃它的根本原因是市场战略调整。因为他们本来是想在手机和平板市场发力,但他们现在看清楚了,这个市场很难再进入一个新玩家,而且也很难找到盈利模式,所以目前他们把目光聚焦到 Cloud 和 IoT 上了。

结论:重复造轮子没必要,需要针对问题并结合市场需求,技术上尽量站在巨人的肩膀上改进和创新;如果当初选择 Gnome+Wayland 的技术路线,可能在投入和产出上更有优势。

7. 用户选择不同的桌面环境有哪方面的考虑(美观、操作、使用习惯?)

美观是第一印象,使用习惯是决定因素。关于使用习惯,要考虑到桌面环境现在提供的使用习惯跟用户之前的使用习惯是否有连续性,这一点十分很重要,也是我们开发 UKUI 的核心思想。

还有就是生态环境,这也是十分重要的影响。用户使用操作系统,并不是真正使用操作系统,操作系统只是为他们提供一个入口,用户使用的是里面的软件,因此生态环境是一个很重要的因素。

总的来说,我觉得美观是第一印象,使用习惯是决定性的因素,生态环境是一个非常重要的影响。

8. 能透露一下优麒麟下一步的动向吗,下一版本主要有什么新特性?

优麒麟会持续提升用户体验和生态软件。

从用户体验的角度来看,主要是开发 UKUI 3.0。目前 UKUI 2.0 的体验跟 Windows 7 的体验是比较接近的,3.0 会从 Windows 7 融合一些安卓、苹果等移动终端的体验。因为对于大部分用户来说,使用安卓、苹果已经没太大的学习成本了,甚至对于它们的使用习惯可能比 Windows 更好,所以现在很多体验方面的特性都会向它们融合。

技术方面的话,我们主要聚焦在显示性能优化、窗口管理器、统一 SDK 和对安卓应用兼容等方面,目前已经取得了较大突破,相信今年晚些时候会带给大家更大的惊喜和福利。

9. 一个优秀的桌面环境应具备什么条件?

技术架构的可扩展性和先进性:继承 Linux 的本质,走开放包容的发展路线,创新技术体系;

用户体验的易用性和延续性:桌面、手机、平板等各种人机体验的融合,跟随或引领最新的人机交互趋势;

生态环境的丰富性和兼容性:支持的办公、娱乐应用要足够丰富,最好具备跨平台兼容应用的能力。

转自 http://ift.tt/2qmRikx

The post 【开源访谈】优麒麟开源项目负责人余杰:为中文用户提供更好的 Linux 体验 appeared first on Linuxeden开源社区.

http://ift.tt/2pzBiJk

LuaJIT 2.0.5 和 2.1.0-beta3 发布,Lua 编译器


Linuxeden 开源社区 --

LuaJIT 2.0.5 和 2.1.0-beta3 发布了。LuaJIT 是采用 C 语言写的 Lua 的解释器的代码。

更新内容:

2.0.5 版本主要修复了 2.0.4 版本中的 bug:

  • 为 MSVC 2015 stdio 添加解决方法。
  • 限制 mcode 分配探测,具体取决于可用的池大小。
  • 在 mcode 分配中修复过度限制的范围计算。
  • 在解析器中修复 out-of-scope goto 处理。
  • 删除内部 __mode =“K”,并用安全检查替换。

详情查看  和 下载地址

2.1.0-beta3 除了各种修复之外,主要的新功能是在 GC64 模式下支持 x64 的 JIT 编译器,ARM64 和 MIPS64。

下载地址

转自 http://ift.tt/2oZP0Dc

The post LuaJIT 2.0.5 和 2.1.0-beta3 发布,Lua 编译器 appeared first on Linuxeden开源社区.

http://ift.tt/2pBZNHZ

Apache HBase 1.1.10 发布,分布式数据库


Linuxeden 开源社区 --Apache HBase
Apache HBase

Apache HBase 1.1.10 发布了,HBase 1.1.10 是 HBase 1.1 系列中的第 10 个补丁版本,主要是为 Hadoop 和 NoSQL 社区带来稳定可靠的数据库。该版本修复了自 1.1.9 版本以来包含的 10 多个错误。值得关注的修复如下:

  • HBASE-17287 如果文件系统对象关闭,Master 会出现卡顿不动的情况 s
  • HBASE-17675 如果出现 SaslException,则 ReplicationEndpoint 应选择新的接收器
  • HBASE-17682 区域无限期地停留在 merging_new 状态
  • HBASE-17717 HBase 超级用户设置的 ZK ACL 不正确

完整更新列表点此查看

下载地址 和 发布主页

转自 http://ift.tt/2p2BYWC

The post Apache HBase 1.1.10 发布,分布式数据库 appeared first on Linuxeden开源社区.

http://ift.tt/2oRJTtM

Netty 4.0.46.Final 和 4.1.10.Final 发布


Linuxeden 开源社区 --Netty
Netty

Netty 4.0.46.Final 和 4.1.10.Final 发布了,这些版本包含错误修复,性能增强和一些新功能,建议升级。Netty 4.0.46.Final 和 4.1.10.Final 有如下重要的更新:

  • NetUtil IPv6 bugs related to IPv4 and compression (#6613)
  • Enable configuring available processors (#6224)
  • Add support for SNIMatcher when using SslProvider.OPENSSL* and Java8+ (#6534)
  • Fix buffer leak in local transport when a close triggers the close of a remote peer and there are still messages in the inbound buffer. (#6650)
  • Fix IllegalArgumentException when release a wrapped ByteBuffer on Java9 (#6644)
  • VoidChannelPromise not notified when exception is thrown. (#6634)
  • Correctly handle read-only ByteBuf in ByteToMessageDecoder (#6639)
  • Allow to free direct buffers on java9 again (#6568)
  • NioEventLoop#rebuildSelector0 throws ClassCastException (#6608)
  • Fix OpenSslCertificateException error code validation (#6581)
  • Limit the maximum size of the allocated outbound buffer to MAX_ENCRYPTED_PACKET_LENGTH (#6569)
  • Allow negative memoryAddress when calling PlatformDependent0.newDirectBuffer(…) (#6575)
  • Recognizing TLS Extension “HeartBeat” as Valid TLS Packet (#6529)

仅属于 4.1.10.Final 的重要更新:

  • Notify connect promise of ProxyHandler after codecs are removed (#6672)
  • Ability to extend SniHandler and configure it with arbitrary runtime data (#6623)
  • Do not throw ClassCastException when rule subnet version doesn’t match remote IP version (#6658)
  • Fix HTTP/2 dependency tree corruption (#6654)
  • Avoid infinite loop in HTTP/2 distributor toString() (#6655)
  • Use jndi-dns to obtain default name servers (#6590)
  • netty-codec: Manage read-flow explicitly in MessageAggregator (#6604)
  • Accept two ways to start HTTP/2 over clear text(version 2) (#6496)

4.0.46.Final 和 4.1.10.Final 的详细更新日志

发布主页 和 下载地址

Netty 是一个 Java 的开源高性能网络应用框架框架。Netty 提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

也就是说,Netty 是一个基于 NIO 的客户、服务器端编程框架,使用 Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty 相当简化和流线化了网络应用的编程开发过程,例如,TCP 和 UDP 的 socket 服务开发。

转自 http://ift.tt/2p2R26s

The post Netty 4.0.46.Final 和 4.1.10.Final 发布 appeared first on Linuxeden开源社区.

http://ift.tt/2oRu6em

React 15.5.4 发布,JavaScript 库


Linuxeden 开源社区 --ReactJS
ReactJS

React 15.5.4 发布了。React.js(React)是 Facebook 推出的一个用来构建用户界面的 JavaScript 库。

更新内容:

React Addons

  • Critical Bugfix: Update the version of prop-types to fix critical bug.  (@gaearon in #545c87f)

React Test Renderer

  • Fix compatibility with Enzyme by exposing batchedUpdates on shallow renderer. (@gaearon in #9382)

下载地址:

转自 http://ift.tt/2qy243X

The post React 15.5.4 发布,JavaScript 库 appeared first on Linuxeden开源社区.

http://ift.tt/2pQSkWa

GitLab 9.1.2 发布,代码托管平台


Linuxeden 开源社区 --GitLab
GitLab

GitLab 9.1.2 发布了,该版本解决了 9.1 版本 中的一些回归和错误。详细如下:

  • CE/EE: 在 ApplicationSetting 中懒设置 UUID 以进行新的安装 (!10893/!1733)
  • CE/EE: 删除 build_events 的描述,添加 pipeline_events (!10908)
  • CE/EE: 解决“当最小化时里程碑侧栏显示错误的 MR 数量”的问题 (!10933)
  • CE/EE: 在 ci_runners.contacted_at 上添加索引 (!10876)
  • CE/EE: 修改网络图中提交的排序 (!10936)
  • CE/EE: 创建内部(ghost,服务台)用户时跳过验证 (!10949)
  • CE/EE: 重构 rake task 以导入 GitHub 仓库 (!10695)
  • CE/EE: 接受通知服务的默认分支参数 (!10959)
  • CE/EE: 关于选择不使用 ping 的正确文档 (!10945)
  • EE: 修复在某些 elasticsearch 索引上的提交搜索 (!1745)
  • EE: 修正如果设置被更改,Geo secondary Sidekiq cron 作业将不被激活的错误 (!1754)
  • EE: 修复通过使用服务台的 email 创建 issue 的问题 (!1743)

发布主页

下载地址

转自 http://ift.tt/2pQY3LU

The post GitLab 9.1.2 发布,代码托管平台 appeared first on Linuxeden开源社区.

http://ift.tt/2qxRQke

Linux Kernel 4.4.65 和 3.18.51 和 4.11 发布


Linuxeden 开源社区 --

Linux Kernel 4.4.65 和 3.18.51 发布了。两个版本都包含了大量 bug 修复和一些功能的改进。

4.4.65 更新内容可 点此 查看。

3.18.51 更新内容可 点此 查看。

4.11 更新内容:

主要 新特性 包括:多队列块层支持可插拔 IO 调度器框架和死线调度器;固态硬盘支持可扩展 swapping;新的 perf ftrace 命令;MD/RAID5 日志 ;

新的 statx() 系统调用;支持 Opal Storage Specification 驱动;支持 SMC-R 协议 (RFC7609);SipHash 哈希函数;新的 LZ4 压缩实现 ;以及大量的安全、架构和驱动更新等等。

下载地址:

转自 http://ift.tt/2qrs9m8

The post Linux Kernel 4.4.65 和 3.18.51 和 4.11 发布 appeared first on Linuxeden开源社区.

http://ift.tt/2ppD94O