分类 观点 下的文章

让我们回顾一下 Linux 社区最新的愿景——推动去中心化的应用来解决发行版的碎片化。

继上周的文章:“Snap、Flatpak 这种通吃所有发行版的打包方式真的有用吗?” 之后,一系列新观点浮出水面,其中可能包含关于这样应用是否有用的重要信息。

缺点

就这个话题在这里的评论,一个叫 Till 的 Gentoo 使用者,对于上一次我们未能完全解释的问题给出了一些新的观点。

对于上一次我们选择仅仅称之为膨胀的的东西,Till 从另一方面做了剖析膨胀将来的发展,这可以帮助我们更好的理解它的组成和其影响。

这些被称之为“捆绑应用”的应用程序能够工作在所有发行版上的机制是——将它依赖的库都包含在它们的应用软件之中,Till 说:

“捆绑应用装载了大量的并不被应用开发者所维护的软件。如果其中的某个函数库被发现了一个安全问题而需要更新的话,你得为每一个独立的应用程序安装更新来确保你的系统安全。”

本质上,Till 提出了一个重要的安全问题。但是它并不仅仅与安全有关系,它还关系到许多方面,比如说系统维护、原子更新等等。

此外,如果我们进一步假设:依赖的开发者们也许会合作,将他们的软件与使用它的应用程序一起发布(一种理想状况),但这将导致整个平台的开发整体放缓。

另一个将会导致的问题是透明的依赖关系变得模糊,就是说,如果你想知道一个应用程序捆绑了哪些依赖关系,你必须依靠开发者发布这些数据。

或者就像 Till 说的:“比如说像某某包是否已经包含了更新的某函数库这样的问题将会是你每天需要面对的。”

与之相反,对于 Linux 现行的标准的包管理方法(包括二进制包和源码包),你能够很容易的注意到哪些函数库已经在系统中更新了。

并且,你也可以很轻松的知道其它哪些应用使用了这个函数库,这就将你从繁琐的单独检查每一个应用程序的工作中解救了出来。

其他可能由膨胀导致的缺点包括:更大的包体积(每一个应用程序捆绑了依赖),更高的内存占用(没有共享函数库),并且,少了一个包过滤机制来防止恶意软件:发行版的包维护者也充当了一个在开发者和用户之间的过滤者,他保障了用户获得高质量的软件。

而在捆绑应用中就不再是这种情况了。

最后一点,Till 声称,尽管在某些情况下很有用,但是在大多数情况下,捆绑应用程序将弱化自由软件在发行版中的地位(专有软件供应商将被能够发布他们的软件而不用把它放到公共软件仓库中)。

除此之外,它引出了许多其他问题。很多问题都可以简单归结到开发人员身上。

优点

相比之下,另一个名叫 Sven 的人的评论试图反驳目前普遍反对使用捆绑应用程序的观点,从而证明和支持使用它。

“浪费空间?”——Sven 声称在当今世界我们有很多其他事情在浪费磁盘空间,比如电影存储在硬盘上、本地安装等等……

最终,这些事情浪费的空间要远远多于仅仅“ 100 MB 而你每天都要使用的程序。……因此浪费空间的说法实在很荒谬。”

“浪费运行内存?”——主要的观点有:

  • 共享库浪费的内存要远远少于程序的运行时数据所占用的。
  • 而今运行内存已经很便宜了。

“安全梦魇”——不是每个应用程序的运行真正的要注重安全。

而且,许多应用程序甚至从来没有过任何安全更新,除非在“滚动更新的发行版”。

除了 Sven 这种从实用出发的观点以外,Till 其实也指出了捆绑应用在一些情况下也有着其优点:

  • 专有软件的供应商想要保持他们的代码游离于公共仓库之外将更加容易。
  • 没有被你的发行版打包进去的小众应用程序将变得更加可行。
  • 在没有 Beta 包的二进制发行版中测试应用将变得简单。
  • 将用户从复杂的依赖关系中解放出来。

最后的思考

虽然关于此问题有着不同的想法,但是有一个被大家共同接受的观点是:捆绑应用对于填补 Linux 生态系统有着其独到的作用。

虽然如此,它的定位,不论是主流的还是边缘的,都变得愈发清晰,至少理论上是这样。

想要尽可能优化其系统的用户,在大多数情况下应该要避免使用捆绑应用。

而讲究易用性、尽可能在维护系统上少费劲的用户,可能应该会感觉这种新应用十分舒爽。


via: http://www.iwillfolo.com/linux-applications-that-works-on-all-distributions-are-they-any-good/

作者:Editorials 译者:Chao-zhi 校对:wxy

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

是戴尔 XPS 13 开发者版。下面就是原因。

我最近和一些 Linux 开发者讨论了对于严谨的程序员来说,最好的笔记本是什么样的问题。结果,我从这些程序员的观点中筛选出了多款笔记本电脑。那么依我之见赢家是谁呢?就是戴尔 XPS 13 开发者版。和我观点一样的大有人在。Linux的缔造者 Linus Torvalds 也认同这个观点。对于他来说,戴尔 XPS 13 开发者版大概是最好的笔记本电脑了。

Linus Torvalds new favorite laptop is the Dell XPS 13 Developer Edition.

Torvalds 的需求可能和你的不同。

在 Google+ 上,Torvalds 解释道,“第一:我从来不把笔记本当成台式机的替代品,并且,我每年旅游不了几次。所以对于我来说,笔记本是一个相当专用的东西,并不是每日(甚至每周)都要使用,因此,主要的标准不是那种“差不多每天都使用”的标准,而是非常适合于旅游时使用。”

因此,对于 Torvalds 来说,“我最后比较关心的一点是它是相当的小和轻,因为在会议上我可能一整天都需要带着它。我同样需要一个好的屏幕,因为到目前为止,我主要是在桌子上使用它,我希望文字的显示小而且清晰。”

戴尔的显示器是由 Intel's Iris 540 GPU 支持的。在我的印象中,它表现的非常的不错。

Iris 驱动了 13.3 英寸的 3200×1800 的显示屏。每英寸有 280 像素,比我喜欢的 2015 年的 Chromebook Pixel 多了 40 个像素,比 Retina 屏的 MacBook Pro 还要多 60 个像素。

然而,要让上面说的硬件配置在 Gnome 桌面上玩好也不容易。正如 Torvalds 在另一篇文章解释的那样,它“和我的桌面电脑有一样的分辨率,但是,显然因为笔记本的显示屏更小,Gnome 桌面似乎自己做了个艰难的决定,认为我需要 2 倍的自动缩放比例,这简直愚蠢到炸裂(例如窗口显示,图标等)。”

解决方案?你不用想着在用户界面里面找了。你需要在 shell下运行:gsettings set org.gnome.desktop.interface scaling-factor 1。

Torvalds 或许使用 Gnome 桌面,但是他不是很喜欢 Gnome 3.x 系列。这一点上我跟他没有不同意见。这就是为什么我使用 Cinnamon 来代替。

他还希望“一个相当强大的 CPU,因为当我旅游的时候,我依旧需要编译 Linux 内核很多次。我并不会像在家那样每次 pull request 都进行一次完整的“make allmodconfig”编译,但是我希望可以比我以前的笔记本多编译几次,实际上,这(也包括屏幕)应该是我想升级的主要原因。”

Linus 没有描述他的 XPS 13 的细节,但是我测评过的那台是一个高端机型。它带有双核 2.2GHz 的第 6 代英特尔的酷睿 i7-6550U Skylake 处理器,16GBs DDR3 内存,以及一块半 TB (500GB)的 PCIe 固态硬盘(SSD)。我可以肯定,Torvalds 的系统至少是精良装备。”

一些你或许会关注的特征没有在 Torvalds 的清单中:

“我不会关心的是触摸屏,因为我的手指相对于我所看到的文字是又大又笨拙(我也无法处理污渍:也许我的手指特别油腻,但是我真的不想碰那些屏幕)。

我并不十分关心那些“一整天的电池续航”,因为坦率的讲,我不记得上次没有接入电源时什么时候了。我可能着急忙慌而忘记插电,但它不是一个天大的问题。现在电池的寿命“超过两小时”,我只是不那么在乎了。”

戴尔声称,XPS 13,搭配 56 瓦小时的 4 芯电池,拥有 12 小时的电池续航。以我的使用经验它已经很好的用过了 10 个小时。我从没有尝试过把电量完全耗完是什么状态。

Torvalds 也没有遇到 Intel 的 Wi-Fi 设备问题。非开发者版使用 Broadcom 的芯片设备,已经被 Windows 和 Linux 用户发现了一些问题。戴尔的技术支持对于我来解决这些问题非常有帮助。

一些用户在使用 XPS 13 触摸板的时候,遇到了问题。Torvalds 和我都几乎没有什么困扰。Torvalds 写到,“XPS13 触摸板对于我来说运行的非常好。这可能只是个人喜好,但它操作起来比较流畅,响应比较快。”

不过,尽管 Torvalds 喜欢 XPS 13,他同时也钟情于最新版的联想 X1 Carbon、惠普 Spectre 13 x360,和去年的联想 Yoga 900。至于我?我喜欢 XPS 13 开发者版。至于价钱,我以前测评过的型号是 $1949.99,可能刷你的信用卡就够了。

因此,如果你希望像世界上顶级的程序员之一一样开发的话,Dell XPS 13 开发者版对得起它的价格。


via: http://www.zdnet.com/article/linus-torvalds-reveals-his-favorite-programming-laptop/

作者:Steven J. Vaughan-Nichols 译者:yangmingming 校对:wxy

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

图片: 由Kate Ter Haar提供图片。 opensource.com 后期修饰。 CC BY-SA 2.0

如果你是盲人或像我一样有视力障碍,你可能经常需要各种软硬件才能做到视觉正常的人们视之为理所当然的事情。这其中之一就是阅读的印刷图书的专用格式: 布莱叶盲文 ( Braille ) (假设你知道怎样阅读它)或特殊的文本格式例如 DAISY。

DAISY 是什么?

DAISY 是 数字化无障碍信息系统 ( Digital Accessible Information System ) 的缩写。 它是一种开放的标准,专用于帮助盲人阅读课本、杂志、报纸、小说,以及你想到的各种东西。 它由 DAISY 联盟创立于上世纪 90 年代中期,该联盟包括的组织们致力于制定出一套标准,可以让以这种方式标记的文本易于阅读、可以跳转、进行注释以及其它的文本操作,就像视觉正常的人能做的一样。

当前的 DAISY 3.0 版本发布于 2005 年中期,是一个完全重写了的标准。它创建的目的是更容易撰写遵守该规范的书籍。值得注意的是,DAISY 能够仅支持纯文本、或仅是录音(PCM wave 文件格式或者 MP3 格式)、或既有文本也有录音。特殊的软件能阅读这类书,并支持用户设置书签和目录导航,就像正常人阅读印刷书籍一样。

DAISY 是怎样工作的呢?

DAISY,除开特殊的版本,它工作时有点像这样:你拥有自己的主向导文件(在 DAISY 2.02 中是 ncc.html),它包含书籍的元数据,比如作者姓名、版权信息、书籍页数等等。而在 DAISY 3.0 中这个文件是一个有效的 XML 文件,以及一个被强烈建议包含在每一本书中的 DTD(文档类型定义)文件。

在导航控制文件中,标记精确描述了各个位置——无论是文本导航中当前光标位置还是录音中的毫秒级定位,这让该软件可以跳到确切的位置,就像视力健康的人翻到某个章节一样。值得注意的是这种导航控制文件仅包含书中主要的、最大的书籍组成部分的位置。

更小的内容组成部分由 SMIL( 同步多媒体集成语言 ( Synchronized Multimedia Integration Language ) )文件处理。导航的层次很大程度上取决于书籍的标记的怎么样。这样设想一下,如果印刷书籍没有章节标题,你就需要花很多的时间来确定自己阅读的位置。如果一本 DAISY 格式的书籍被标记的很差,你可能只能转到书本的开头或者目录。如果书籍被标记的太差了(或者完全没有标记),你的 DAISY 阅读软件很可能会直接忽略它。

为什么需要专门的软件?

你可能会问,如果 DAISY 仅仅是 HTML、XML、录音文件,为什么还需要使用专门的软件进行阅读和操作。单纯从技术上而言,你并不需要。专业化的软件大多数情况下是为了方便。这就像在 Linux 操作系统中,一个简单的 Web 浏览器可以被用来打开并阅读书籍。如果你在一本 DAISY 3 的书中点击 XML 文件,软件通常做的就是读取那些你赋予访问权限的书籍的名称,并建立一个列表让你点击选择要打开的书。如果书籍被标记的很差,它不会显示在这份清单中。

创建 DAISY 则完全是另一件事了,通常需要专门的软件,或需要拥有足够的专业知识来修改一个通用的软件以达到这样的目的。

结语

幸运的是,DAISY 是一个已确立的标准。虽然它在阅读方面表现的很棒,但是需要特殊软件来生产它使得视力缺陷者孤立于正常人眼中的世界,在那里人们可以以各种格式去阅读他们电子化书籍。这就是 DAISY 联盟在 EPUB 格式取得了 DAISY 成功的原因,它的第 3 版支持一种叫做“媒体覆盖”的规范,基本上来说是在 EPUB 电子书中可选增加声频或视频。由于 EPUB 和 DAISY 共享了很多 XML 标记,一些能够阅读 DAISY 的软件能够看到 EPUB 电子书但不能阅读它们。这也就意味着只要网站为我们换到这种开放格式的书籍,我们将会有更多可选的软件来阅读我们的书籍。


via: https://opensource.com/life/16/5/daisy-linux-compatible-text-format-visually-impaired

作者:Kendell Clark 译者:theArcticOcean 校对:wxy

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

Image by : Photo by Becky Svartström. Modified by Opensource.com. CC BY-SA 4.0

图片来源:照片来自 Becky Svartström, Opensource.com 修改

Patricia Torvalds 暂时还不像她的父亲 Linus 一样闻名于 Linux 和开源领域。

在她 18 岁的时候,Patricia 已经是一个有多项技术成就、拥有开源行业经验的女权主义者,而且她已经把目标放在进入杜克大学普拉特工程学院的新学期上了。当时她以实习生的身份在位于美国奥勒冈州伯特兰市的 Puppet 实验室工作。但不久后,她就将前往北卡罗纳州的达拉莫,开始秋季学期的大学学习。

在这次独家采访中,Patricia 谈到了使她对计算机科学与工程学感兴趣的原因(剧透警告:不是因为她的父亲),她所在高中学校在技术教学上所采取的“正确”方法,女权主义在她的生活中扮演的重要角色,以及对技术缺乏多元化的思考。

是什么使你对学习计算机科学与工程学发生兴趣?

我在技术方面的兴趣主要来自于高中时代。我曾一度想投身于生物学,这种想法一直维持到大约大学二年级的时候。大二结束以后,我在波特兰 VA 做网页设计实习生。与此同时,我参加了一个叫做“ 探索冒险家 ( Exploratory Ventures ) ”(XV)的工程学课程,在我大二学年的后期,我们把一个水下机器人送入了太平洋。但是,转折点大概是在我大三学年的中期被授予“NCWIT 的计算机之理想”奖的地区冠军和全国亚军的时候出现的(LCTT 译注:NCWIT - National Center for Women & IT,女性与 IT 国家中心)。

这个奖项的获得让我感觉到确立了自己的兴趣。当然,我认为最重要的部分是我加入到一个由所有获奖者组成的 Facebook 群。女孩们获奖很难想象,因此我们彼此非常支持。由于在 XV 和 VA 的工作,我在获奖前就已经确实对计算机科学发生了兴趣,但是和这些女孩们的交谈更加坚定了这份兴趣,使之更加强烈。再后来,后期大三、大四年级的时候执教 XV 也使我体会到工程学和计算机科学的乐趣。

你打算学习什么?你已经知道自己毕业后想干什么了吗?

我希望要么主修机械,要么是电子和计算机工程学,以及计算机科学,并且辅修女性学。毕业以后,我希望在一个支持社会公益或者为其创造技术的公司工作,或者自己开公司。

我的女儿在高中有一门 Visual Basic 的编程课。她是整个班上唯一的一个女生,并且以困扰和痛苦的经历结束了这门课程。你的经历是什么样的呢?

我的高中在高年级的时候开设了计算机科学的课程,我也学习了 Visual Basic!这门课不是很糟糕,但我的确是 20 多个人的班级里仅有的三四个女生之一。其他的计算机课程似乎也有相似的性别比例差异。然而,我所在的高中极其小,并且老师对技术包容性非常支持,所以我并没有感到困扰。希望在未来的一些年里这些课程会变得更加多样化。

你的学校做了哪些促进技术的举措?它们如何能够变得更好?

我的高中学校给了我们长时间接触计算机的机会,老师们会突然在不相关的课程上安排技术相关的任务,有几次我们还为社会实践课程建了一个网站,我认为这很棒,因为它使我们每一个人都能接触到技术。机器人俱乐部也很活跃并且资金充足,但是非常小,不过我不是其中的成员。学校的技术/工程学项目中一个非常重要的组成部分是一门叫做” 探索冒险家 ( Exploratory Ventures ) “(XV)的由学生自己教的工程学课程,这是一门需要亲自动手的课程,并且每年换一个工程学或者计算机科学方面的难题。我和我的一个同学在这儿教了两年,在课程结束以后,有学生上来告诉我他们对从事工程学或者计算机科学发生了兴趣。

然而,我的高中没有特别的关注于让年轻女性加入到这些课程中来,并且在人种上也没有呈现多样化。计算机的课程和俱乐部大量的主要成员都是男性白人学生。这的确应该需要有所改善。

在成长过程中,你如何在家运用技术?

老实说,小的时候,我使用我的上机时间(我的父亲 Linus 设置了一个跟踪装置,当我们上网一个小时就会断线)来玩尼奥宠物和或者相似的游戏。我想我本可以搞乱跟踪装置或者在不连接网络的情况下玩游戏,但我没有这样做。我有时候也会和我的父亲做一些小的科学项目,我还记得有一次我和他在电脑终端上打印出几千个“Hello world”。但是大多数时候,我都是和我的妹妹一起玩网络游戏,直到高中的时候才开始学习计算机。

你在高中学校的女权俱乐部很活跃,从这份经历中你学到了什么?现在对你来说什么女权问题是最重要的?

在高中二年级的后期,我和我的朋友一起建立了女权俱乐部。刚开始,我们受到了很多人对俱乐部的排斥,并且这从来就没有完全消失过。到我们毕业的时候,女权主义思想已经彻底成为了学校文化的一部分。我们在学校做的女权主义工作通常是在一些比较直接的方面,并集中于像着装要求这样一些问题。

就我个人来说,我更关注于 新女性主义 ( intersectional feminism ) ,这是一种致力于(消除)其它方面压迫(比如,种族歧视和阶级压迫等)的女权主义。Facebook 上的 Gurrilla Feminism 专页是新女性主义一个非常好的例子,并且我从中学到了很多。我目前管理着波特兰分会。

在技术多样性方面女权主义对我也非常重要,尽管作为一名和技术世界有很强联系的高年级白人女性,女权主义问题对我产生的影响相比其他人来说少得多,我所参与的新女性主义也是同样的。《Model View Culture》的出版非常鼓舞我,谢谢 Shanley Kane 所做的这一切。

你会给想教他们的孩子学习编程的父母什么样的建议?

老实说,从没有人推着我学习计算机科学或者工程学。正如我前面说的,在很长一段时间里,我想成为一名遗传学家。大二结束的那个夏天,我在 VA 做了一个夏天的网页设计实习生,这彻底改变了我之前的想法。所以我不知道我是否能够充分回答这个问题。

我的确认为真正的兴趣很重要。如果在我 12 岁的时候,我的父亲让我坐在一台电脑前,教我配置一台网站服务器,我认为我不会对计算机科学感兴趣。相反,我的父母给了我很多可以支配的自由时间让我去做自己想做的事情,绝大多数时候是我在为我的尼奥宠物游戏编写糟糕的 HTML 网站。比我小的妹妹们没有一个对工程学或计算机科学感兴趣,我的父母也不在乎。我感到很幸运的是我的父母给了我和我的妹妹们鼓励和资源去探索自己的兴趣。

仍然要讲的是,在我成长过程中我也常说未来职业生涯要“像我爹一样”,尽管那时我还不知道我父亲是干什么的,只知道他有一个很酷的工作。另外,中学的时候有一次我告诉我的父亲这件事,然后他没有发表什么看法只是告诉我高中的时候不要想这事。所以我猜想这从一定程度上鼓励了我。

对于开源社区的领导者们,你有什么建议给他们来吸引和维持更加多元化的贡献者?

我实际上在开源社区并不是特别积极和活跃,我更喜欢和其它女性讨论计算机。我是“NCWIT 的计算机之理想”成员之一,这是我对技术持久感到兴趣的一个重要方面,同样也包括 Facebook 的”Ladies Storm Hackathons”群。

我认为对于吸引和留住那些天才而形形色色的贡献者,安全的空间很重要。我曾经看到过在一些开源社区有人发表关于女性歧视和种族主义的评论,当人们指出这一问题随后该人就被解职了。我认为要维持一个专业的社区必须就骚扰事件和不正当行为有一个高标准。当然,人们已经有、而且还会有关于在开源社区或其他任何社区能够表达什么意见的更多的观点。然而,如果社区领导人真的想吸引和留住形形色色的天才们,他们必须创造一个安全的空间并且以高标准要求社区成员们。

我也觉得一些社区领导者不明白多元化的价值。很容易觉得在技术上是唯才是举的,并且这个原因有一些是他们不在意技术上不处于中心位置的人,问题来自于发展的早期。他们争论如果一个人在自己的工作上做得很好,那么他的性别或者民族还有性取向这些情况都变得不重要了。这很容易反驳,但我不想看到为这些错误找的理由。我认为多元化的缺失是一个错误,我们应该为之负责并尽力去改善这件事。


via: http://opensource.com/life/15/8/patricia-torvalds-interview

作者:Rikki Endsley 译者:ucasFL 校对:LinuxBars, wxy

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

对新一代的打包格式开始渗透到 Linux 生态系统中的深入观察

最近我们听到越来越多的有关于 Ubuntu 的 Snap 包和由 Red Hat 员工 Alexander Larsson 创造的 Flatpak (曾经叫做 xdg-app)的消息。

这两种下一代打包方法在本质上拥有相同的目标和特点:即不依赖于第三方系统功能库的独立包装。

这种 Linux 新技术方向似乎自然会让人脑海中浮现这样的问题:独立包的优点/缺点是什么?这是否让我们拥有更好的 Linux 系统?其背后的动机是什么?

为了回答这些问题,让我们先深入了解一下 Snap 和 Flatpak。

动机

根据 Flatpak 和 Snap 的声明,背后的主要动机是使同一版本的应用程序能够运行在多个 Linux 发行版。

“从一开始它的主要目标是允许相同的应用程序运行在各种 Linux 发行版和操作系统上。” —— Flatpak
“……‘snap’ 通用 Linux 包格式,使简单的二进制包能够完美的、安全的运行在任何 Linux 桌面、服务器、云和设备上。” —— Snap

说得更具体一点,站在 Snap 和 Flatpak (以下称之为 S&F)背后的人认为,Linux 平台存在碎片化的问题。

这个问题导致了开发者们需要做许多不必要的工作来使他的软件能够运行在各种不同的发行版上,这影响了整个平台的前进。

所以,作为 Linux 发行版(Ubuntu 和 Red Hat)的领导者,他们希望消除这个障碍,推动平台发展。

但是,是否是更多的个人收益刺激了 S&F 的开发?

个人收益?

虽然没有任何官方声明,但是试想一下,如果能够创造这种可能会被大多数发行版(即便不是全部)所采用的打包方式,那么这个项目的领导者将可能成为一个能够决定 Linux 大船航向的重要人物。

优势

这种独立包的好处多多,并且取决于不同的因素。

这些因素基本上可以归为两类:

用户角度

+ 从 Liunx 用户的观点来看:Snap 和 Flatpak 带来了将任何软件包(软件或应用)安装在用户使用的任何发行版上的可能性。

例如你在使用一个不是很流行的发行版,由于开发工作的缺乏,它的软件仓库只有很稀少的包。现在,通过 S&F 你就可以显著的增加包的数量,这是一个多么美好的事情。

+ 同样,对于使用流行的发行版的用户,即使该发行版的软件仓库上有很多的包,他也可以在不改变它现有的功能库的同时安装一个新的包。

比方说, 一个 Debian 的用户想要安装一个 “测试分支” 的包,但是他又不想将他的整个系统变成测试版(来让该包运行在更新的功能库上)。现在,他就可以简单的想安装哪个版本就安装哪个版本,而不需要考虑库的问题。

对于持后者观点的人,可能基本上都是使用源文件编译他们的包的人,然而,除非你使用类似 Gentoo 这样基于源代码的发行版,否则大多数用户将从头编译视为是一个恶心到吐的事情。

+ 高级用户,或者称之为 “拥有安全意识的用户” 可能会觉得更容易接受这种类型的包,只要它们来自可靠来源,这种包倾向于提供另一层隔离,因为它们通常是与系统包想隔离的。

* 不论是 Snap 还是 Flatpak 都在不断努力增强它们的安全性,通常他们都使用 “沙盒化” 来隔离,以防止它们可能携带病毒感染整个系统,就像微软 Windows 系统中的 .exe 程序一样。(关于微软和 S&F 后面还会谈到)

开发者角度

与普通用户相比,对于开发者来说,开发 S&F 包的优点可能更加清楚。这一点已经在上一节有所提示。

尽管如此,这些优点有:

+ S&F 通过统一开发的过程,将多发行版的开发变得简单了起来。对于需要将他的应用运行在多个发行版的开发者来说,这大大的减少了他们的工作量。

++ 因此,开发者能够更容易的使他的应用运行在更多的发行版上。

+ S&F 允许开发者私自发布他的包,不需要依靠发行版维护者在每一个/每一次发行版中发布他的包。

++ 通过上述方法,开发者可以不依赖发行版而直接获取到用户安装和卸载其软件的统计数据。

++ 同样是通过上述方法,开发者可以更好的直接与用户互动,而不需要通过中间媒介,比如发行版这种中间媒介。

缺点

– 膨胀。就是这么简单。Flatpak 和 Snap 并不是凭空变出来它的依赖关系。相反,它是通过将依赖关系预构建在其中来代替使用系统中的依赖关系。

就像谚语说的:“山不来就我,我就去就山”。

– 之前提到安全意识强的用户会喜欢 S&F 提供的额外的一层隔离,只要该应用来自一个受信任的来源。但是从另外一个角度看,对这方面了解较少的用户,可能会从一个不靠谱的地方弄来一个包含恶意软件的包从而导致危害。

上面提到的观点可以说是有很有意义的,虽说今天的流行方法,像 PPA、overlay 等也可能是来自不受信任的来源。

但是,S&F 包更加增加这个风险,因为恶意软件开发者只需要开发一个版本就可以感染各种发行版。相反,如果没有 S&F,恶意软件的开发者就需要创建不同的版本以适应不同的发行版。

原来微软一直是正确的吗?

考虑到上面提到的,很显然,在大多数情况下,使用 S&F 包的优点超过缺点。

至少对于二进制发行版的用户,或者重点不是轻量级的发行版的用户来说是这样的。

这促使我问出这个问题,可能微软一直是正确的吗?如果是的,那么当 S&F 变成 Linux 的标准后,你还会一如既往的使用 Linux 或者类 Unix 系统吗?

很显然,时间会是这个问题的最好答案。

不过,我认为,即使不完全正确,但是微软有些地方也是值得赞扬的,并且以我的观点来看,所有这些方式在 Linux 上都立马能用也确实是一个亮点。


via: http://www.iwillfolo.com/ubuntus-snap-red-hats-flatpack-and-is-one-fits-all-linux-packages-useful/

作者:Liron 译者:Chao-zhi 校对:wxy

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

GitHub 又发布了一年一度的章鱼猫观察报告。在这个报告中,分别对开源和社区做了一些有趣的统计,现将其中一些有趣的数据和趋势撷取出来分享给大家。完整的报告请移步此处。

GitHub 上最流行的开源项目

从让阿波罗 11 号登月的代码到开源课程,过去十二个月中,GitHub 上又涌现了一大批开源项目。以下是最流行的(得到星标最多)项目:

最流行的开源项目

其中使用最多的开源许可证是:MIT、Apache-2.0 和 GNU General Public License v3.0。

GitHub 上最爱用的编程语言

GitHub 上存放的开源项目使用了多达 316 种不同的编程语言,其中在过去十二月中提交的 PR( 拉取请求 ( Pull Request ) ,用于向项目提交补丁) 使用最多的前 15 种编程语言是(其中的数字是 PR 数量):

PR 中最流行的 15 种语言

PR 中最流行的语言居然是 JavaScript,是因为 JavaScript 比较容易么?而且 JavaScript、C# 和 Go 语言的 PR 增长率达到了两倍,甚至,Swift 和 TypeScript 虽然总量不多,但是增长率达到了 3.5 倍。

贡献者的活跃程度

“ 活跃 ( Active ) ”是指有过代码提交、写了备注、被星标和 问题汇报 ( issue ) 等行为。

这十二个月以来,有 580 万以上的活跃用户、33 万以上的活跃组织、1.9 亿以上的活跃仓库、1 千万以上的活跃问题汇报。

“ 贡献者 ( contributors ) ”是指对项目/仓库推送了代码、对打开或评论了问题和 PR 的人,按照贡献者对项目和组织进行排名:

开源贡献者最多的前十个仓库

其中贡献者最多的仓库是 Font-Awesome 项目,这是一个图标字体的项目,不太理解为何有这么多的贡献者。其次是 docker 和 npm。

开源贡献者最多的组织

开源贡献者最多的组织是微软,超过了 Facebook、docker,以及谷歌。看来微软这一年确实是在开源方面下了死力。

被最多分支的仓库

仓库被 分支 ( fork ) 的越多代表了对它感兴趣、甚至会参与到开发中的人越多。这个排名第一的 datasharing 是个啥项目,我去看看——居然是一篇文章……好吧,让我看看第二个 Spoon-Knife,这,是章鱼猫的一个教人如何分支仓库的例子……那么第三个 ProgrammingAssignment2 ,哎,也是一个课程上用的例子……

好吧,我收回之前对分支的看法,就不能有个“正常”点的仓库嘛?

还好,第四 bootstrap 和第五 tensorflow 都是比较正常的开源项目。总之,项目流行不流行,不要看分支数量了。

被最多用户评审过代码的仓库

这里的 代码评审者 ( reviewers ) 指的是对修改过的代码进行过评论的人,这也代表贡献者对仓库的关注度。好吧。我除了对第一名 homebrew 有点不解,其它的几名都觉得还算正常。

GitHub 的新增用户

GitHub 已经有超过 520 万的用户和超 30 万的组织。这十二月以来,有超过 81 万的人发起了人生第一个 PR,更有 280 万人创造了他自己的第一个仓库。

新用户注册增长最多的国家

而中国,是新用户注册增长最多的国家,基本上翻了一番。

GitHub 上的组织

GitHub 上已经有超过 8 千万的 PR,而这些 PR 中有超过 85% 的来自于组织。在 GitHub 上以组织形式活动的除了商业性组织以外,很多大公司也在其企业的开发中采用了 GitHub Enterprise ,其中不乏财富50强里面公司。

总结

报告就解读到这里,详细的图文并茂的报告,请移步 GitHub。