分类 观点 下的文章

将 GNOME 项目集中在 GitLab 上的决定为整个社区(不只是开发人员)带来了好处。

“您的 GitLab 是什么?”这是我在 GNOME 基金会工作的第一天被问到的第一个问题之一,该基金会是支持 GNOME 项目(包括桌面环境GTKGStreamer)的非盈利组织。此人问的是我在 GNOME 的 GitLab 实例上的用户名。我在 GNOME 期间,经常有人要求我提供我的 GitLab。

我们使用 GitLab 进行几乎所有操作。通常情况下,我会收到一些 提案 issue 和参考错误报告,有时还需要修改文件。我不是以开发人员或系统管理员的身份进行此操作的。我参与了“参与度、包容性和多样性(I&D)”团队。我为 GNOME 朋友们撰写新闻通讯,并采访该项目的贡献者。我为 GNOME 活动提供赞助。我不写代码,但我每天都使用 GitLab。

在过去的二十年中,GNOME 项目的管理采用了各种方式。该项目的不同部分使用不同的系统来跟踪代码更改、协作以及作为项目和社交空间共享信息。但是,该项目决定,它需要更加地一体化,这从构思到完成大约花费了一年的时间。

GNOME 希望切换到单个工具供整个社区使用的原因很多。外部项目与 GNOME 息息相关,并为它们提供更简单的与资源交互的方式对于项目至关重要,无论是支持社区还是发展生态系统。我们还希望更好地跟踪 GNOME 的指标,即贡献者的数量、贡献的类型和数量以及项目不同部分的开发进度。

当需要选择一种协作工具时,我们考虑了我们需要的东西。最重要的要求之一是它必须由 GNOME 社区托管。由第三方托管并不是一种选择,因此像 GitHub 和 Atlassian 这样的服务就不在考虑之中。而且,当然了,它必须是自由软件。很快,唯一真正的竞争者出现了,它就是 GitLab。我们希望确保进行贡献很容易。GitLab 具有诸如单点登录的功能,该功能允许人们使用 GitHub、Google、GitLab.com 和 GNOME 帐户登录。

我们认为 GitLab 是一条出路,我们开始从许多工具迁移到单个工具。GNOME 董事会成员 Carlos Soriano 领导这项改变。在 GitLab 和 GNOME 社区的大力支持下,我们于 2018 年 5 月完成了该过程。

人们非常希望迁移到 GitLab 有助于社区的发展,并使贡献更加容易。由于 GNOME 以前使用了许多不同的工具,包括 Bugzilla 和 CGit,因此很难定量地评估这次切换对贡献量的影响。但是,我们可以更清楚地跟踪一些统计数据,例如在 2018 年 6 月至 2018 年 11 月之间关闭了近 10,000 个提案,合并了 7,085 个合并请求。人们感到社区在发展壮大,越来越受欢迎,而且贡献实际上也更加容易。

人们因不同的原因而开始使用自由软件,重要的是,可以通过为需要软件的人提供更好的资源和更多的支持来公平竞争。Git 作为一种工具已被广泛使用,并且越来越多的人使用这些技能来参与到自由软件当中。自托管的 GitLab 提供了将 Git 的熟悉度与 GitLab 提供的功能丰富、用户友好的环境相结合的绝佳机会。

切换到 GitLab 已经一年多了,变化确实很明显。持续集成(CI)为开发带来了巨大的好处,并且已经完全集成到 GNOME 的几乎每个部分当中。不进行代码开发的团队也转而使用 GitLab 生态系统进行工作。无论是使用问题跟踪来管理分配的任务,还是使用版本控制来共享和管理资产,就连“参与度、包容性和多样性(I&D)”这样的团队都已经使用了 GitLab。

一个社区,即使是一个正在开发的自由软件,也很难适应新技术或新工具。在类似 GNOME 的情况下,这尤其困难,该项目最近已经 22 岁了。像 GNOME 这样经过了 20 多年建设的项目,太多的人和组织使用了太多的部件,但迁移工作之所以能实现,这要归功于 GNOME 社区的辛勤工作和 GitLab 的慷慨帮助。

在为使用 Git 进行版本控制的项目工作时,我发现很方便。这是一个令人感觉舒适和熟悉的系统,是一个在工作场所和爱好项目之间保持一致的工具。作为 GNOME 社区的新成员,能够参与并使用 GitLab 真是太好了。作为社区建设者,看到这样结果是令人鼓舞的:越来越多的相关项目加入并进入生态系统;新的贡献者和社区成员对该项目做出了首次贡献;以及增强了衡量我们正在做的工作以了解其成功和成功的能力。

如此多的做着完全不同的事情(例如他们正在从事的不同工作以及所使用的不同技能)的团队同意汇集在一个工具上(尤其是被认为是跨开源的标准工具),这一点很棒。作为 GNOME 的贡献者,我真的非常感谢我们使用了 GitLab。


via: https://opensource.com/article/19/10/how-gnome-uses-git

作者:Molly de Blanc 选题:lujun9972 译者:wxy 校对:wxy

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

想要洒播些节日的快乐吗?为开源组织做贡献,帮助有需要的社区。

当领导者们配置人员和资源以做出积极改变时,就会产生社会影响。但是,许多社会努力都缺乏能够为这些改变者提供服务的技术资源。然而,有些组织通过将想要做出改变的开发人员与迫切需要更好技术的社区和非营利组织联系起来,来促进技术进步。这些组织通常为特定的受众提供服务,并招募特定种类的技术人员,它们有一个共同点:开源。

作为开发人员,我们出于各种原因试图加入开源社区。有些是为了专业发展,有些是为了能够与广阔的网络上令人印象深刻的技术人员合作,还有其他人则是因为他们清楚自己的贡献对于项目的成功的必要性。为什么不将你作为开发人员的才华投入到需要它的地方,而同时又为开源组织做贡献呢?以下组织是实现此目标的一些主要事例。

Code for America

“Code for America” 是在数字时代,政府如何依靠人民为人民服务的一个例子。通过其 Brigade Network,该组织在美国各个城市中组织了一个由志愿程序员、数据科学家、相关公民和设计师组成的全国联盟。这些本地分支机构定期举行聚会,向社区开放。这样既可以向小组推出新项目,又可以协调正在进行的工作。为了使志愿者与项目相匹配,该网站经常列出项目所需的特定技能,例如数据分析、内容创建和JavaScript。同时,Brigade 网站也会关注当地问题,分享自然灾害等共同经验,这些都可以促进成员之间的合作。例如,新奥尔良、休斯敦和坦帕湾团队合作开发了一个飓风响应网站,当灾难发生时,该网站可以快速响应不同的城市灾难情况。

想要加入该组织,请访问 该网站 获取 70 多个 Brigade 的清单,以及个人加入组织的指南。

Code for Change

“Code for Change” 显示了即使在高中时期,也可以为社会做贡献。印第安纳波利斯的一群高中开发爱好者成立了自己的俱乐部,他们通过创建针对社区问题的开源软件解决方案来回馈当地组织。“Code for Change” 鼓励当地组织提出项目构想,学生团体加入并开发完全自由和开源的解决方案。该小组已经开发了诸如“蓝宝石”之类的项目,该项目优化了当地难民组织的志愿者管理系统,并建立了民权委员会的投诉表格,方便公民就他们所关心的问题在网上发表意见。

有关如何在你自己的社区中创建 “Code for Change”,访问他们的网站

Python for Good/Ruby for Good

“Python for Good” 和 “Ruby for Good” 是在俄勒冈州波特兰市和弗吉尼亚州费尔法克斯市举办的双年展活动,该活动将人们聚集在一起,为各自的社区开发和制定解决方案。

在周末,人们聚在一起聆听当地非营利组织的建议,并通过构建开源解决方案来解决他们的问题。 2017 年,“Ruby For Good” 参与者创建了 “Justice for Juniors”,该计划指导当前和以前被监禁的年轻人,并将他们重新融入社区。参与者还创建了 “Diaperbase”,这是一种库存管理系统,为美国各地的 尿布库 diaper bank 所使用。这些活动的主要目标之一是将看似不同的行业和思维方式的组织和个人聚集在一起,以谋求共同利益。公司可以赞助活动,非营利组织可以提交项目构想,各种技能的人都可以注册参加活动并做出贡献。通过两岸(美国大西洋和太平洋东西海岸)的努力,“Ruby for Good” 和 “Python for Good” 一直恪守“使世界变得更好”的座右铭。

Ruby for Good” 在夏天举行,举办地点在弗吉尼亚州费尔法克斯的乔治•梅森大学。

Social Coder

英国的 Ed Guiness 创建了 “Social Coder”,将志愿者和慈善机构召集在一起,为六大洲的非营利组织创建和使用开源项目。“Social Coder” 积极招募来自世界各地的熟练 IT 志愿者,并将其与通过 Social Coder 注册的慈善机构和非营利组织进行匹配。项目范围从简单的网站更新到整个移动应用程序的开发。

例如,PHASE Worldwide 是一个在尼泊尔支持工作的小型非政府组织,因为 “Social Coder”,它获得了利用开源技术的关键支持和专业知识。

有许多慈善机构已经与英国的 “Social Coder”进行了合作,也欢迎其它国家的组织加入。通过他们的网站,个人可以注册为社会软件项目工作,找到寻求帮助的组织和慈善机构。

对 “Social Coder” 的志愿服务感兴趣的个人可以 在此注册.


via: https://opensource.com/article/19/12/ways-volunteer

作者:John Jones 选题:lujun9972 译者:Morisun029 校对:wxy

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

检查一下你的系统所使用的 Linux 内核版本,你十有八九会发现,按照 Linux 内核官网提供的信息,该内核版本已经达到使用寿命终期(EOL)了。

一个软件一旦达到了使用寿命终期,那么就意味着它再也不会得到 bug 修复和维护了。

这自然会引发一连串问题:为什么我的 Linux 发行版会使用一个已经达到使用寿命终期的内核呢?这样做有没有安全风险?我的系统还安全吗?

下面将逐一解答这些问题。

总结

上游内核维护与你的发行版的内核维护是两个不同的概念。

例如,根据 Linux 内核官网,Linux 内核 4.15 版本可能已经达到使用寿命终期了,但是在 2023 年 4 月之前,Ubuntu 18.04 长期维护版本将会继续使用这个版本,并通过向后移植安全补丁和修复 bug 来提供维护。

检查 Linux 内核版本,以及是否达到使用寿命终期

首先,查看你的系统所使用的 Linux 内核版本:

uname -r

我使用的是 Ubuntu 18.04,输出的 Linux 内核版本如下:

abhishek@itsfoss:~$ uname -r
5.0.0-37-generic

接下来,可以到 Linux 内核官网上看看哪些 Linux 内核版本仍然在维护状态。在网站主页上就可以看到相关信息。

你看到的内核版本状态应该类似于下图:

Linux 内核状态

如果你的内核版本没有列在内核官网主页上,就说明该版本已经达到了使用寿命终期。

可以看到,5.0 内核版本并不在列,这说明该内核版本已经不再得到维护。事实上,该版本在 2019 年 6 月就已经达到使用寿命终期了

不幸的是,Linux 内核的生命周期没有任何规律可循。不是说常规的内核稳定发布版可以得到 X 月的维护、长期维护版本(LTS)可以得到 Y 年的维护。没有这回事。

根据实际需求,可能会存在内核的多个 LTS 版本,其使用寿命终期各不相同。在这个页面上可以查到这些 LTS 版本的相关信息,包括计划的使用寿命终期。

那么问题来了:既然 Linux 内核官网上明确表示 5.0 版本的内核已经达到了使用寿命终期,Ubuntu 为什么还在提供这个内核版本呢?

你的发行版使用的 Linux 内核已经达到了使用寿命终期,但是没关系!

你是否想过,为什么 Ubuntu/Debian/Fedora 等发行版被称为 Linux “发行版”?这是因为,它们“发行” Linux 内核。

这些发行版会对 Linux 内核进行不同的修改,并添加各种 GUI 元素(包括桌面环境、显示服务器等)以及软件,然后再呈现给用户。

按照通常的工作流,Linux 发行版会选择一个内核,提供给其用户,然后在接下来的几个月、几年中,甚至是达到内核的使用寿命终期之后,仍然会继续使用该内核。

这样能够保障安全吗?其实是可以的,因为 发行版会通过向后移植全部的重要修补来维护内核

换句话说,你的 Linux 发行版会确保 Linux 内核没有漏洞和 bug,并且已经通过向后移植获得了重要的新特性。在“过时的旧版本 Linux 内核”上,其实有着数以千计的改动。

如果 Linux 内核网站上说某个内核版本已经达到了使用寿命终期,那么就意味着 Linux 内核的核心维护团队不会再对该内核版本进行升级和打补丁了。

但与此同时,Debian/Ubuntu 或者其他发行版的开发者们会继续工作,通过从(由内核核心团队维护的)更新的内核版本中迁移相关的修改,维持这个老版本的生命力。

重点在于,即使你的发行版看上去是在使用一个已经过时的 Linux 内核,其实该内核也得到了良好的维护,并非是真的过时了。

你是否应该使用最新的稳定内核版本?

新的 Linux 内核稳定版本每隔 2 到 3 个月发布一次,有不少用户跃跃欲试。

实话说,除非有十分充分的理由,否则不应该使用最新版本的稳定内核。你使用的发行版并不会提供这个选项,你也不能指望通过在键盘上敲出 sudo apt give-me-the-latest-stable-kernel 解决问题。

此外,手动安装主流 Linux 内核版本本身就是一个挑战。即使安装成功,之后每次发布 bug 修复的时候,负责更新内核的就会是你了。此外,当新内核达到使用寿命终期之后,你就有责任将它升级到更新的内核版本了。和常规的 Ubuntu 更新不同,内核升级无法通过 apt upgrade 完成。

同样需要记住的是,切换到主流内核之后,可能就无法使用你的发行版提供的一些驱动程序和补丁了。

正如 Greg Kroah-Hartman所言,“你能使用的最好的内核,就是别人在维护的内核。”除了你的 Linux 发行版之外,又有谁更胜任这份工作呢!

希望你对这个主题已经有了更好的理解。下回发现你的系统正在使用的内核版本已经达到使用寿命终期的时候,希望你不会感到惊慌失措。

欢迎在下面的评论区中留下你的疑问或建议。


via: https://itsfoss.com/why-distros-use-old-kernel/

作者:Abhishek Prakash 选题:lujun9972 译者:chen-ni 校对:wxy

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

华为提供了一个基于 CentOS 的企业级 Linux 发行版 EulerOS。最近,华为发布了一个名为 openEuler 的 EulerOS 社区版。

openEuler 的源代码也一同发布了。你在微软旗下的 GitHub 上找不到它——源代码可以在 Gitee 找到,这是一个中文的 GitHub 的替代品

它有两个独立的存储库,一个用于存储源代码;另一个作为软件包的源代码,存储有助于构建该操作系统的软件包。

openEuler 基础架构团队分享了他们使源代码可用的经验:

我们现在很兴奋。很难想象我们会管理成千上万的仓库。为了确保它们能被成功地编译,我们要感谢所有参与贡献的人。

openEuler 是基于 CentOS 的 Linux 发行版

与 EulerOS 一样,openEuler OS 也是基于 CentOS,但华为技术有限公司为企业应用进一步开发了该操作系统。

它是为 ARM64 架构的服务器量身定做的,同时华为声称已经做了一些改变来提高其性能。你可以在华为开发博客上了解更多。

目前,根据 openEuler 的官方声明,有 50 多名贡献者为 openEuler 贡献了近 600 个提交。

贡献者们使源代码对社区可用成为可能。

值得注意的是,存储库还包括两个与之相关的新项目(或子项目),iSulad 和 A-Tune。

A-Tune 是一个基于 AI 的操作系统调优软件,iSulad 是一个轻量级的容器运行时守护进程,如在 Gitee 中提到的那样,它是为物联网和云基础设施设计的。

另外,官方的公告提到,这些系统是在华为云上通过脚本自动构建的。这确实十分有趣。

下载 openEuler

到目前为止,你找不到它的英文文档,所以你必须等待或选择通过(贡献)文档来帮助他们。

你可以直接从它的官方网站下载 ISO 来测试它:

你认为华为的 openEuler 怎么样?

据 cnTechPost 报道,华为曾宣布 EulerOS 将以新名字 openEuler 成为开源软件。

目前还不清楚 openEuler 是否会取代 EulerOS ,或者两者会像 CentOS(社区版)和 Red Hat(商业版)一样同时存在。

我还没有测试过它,所以我不能说 openEuler 是否适合英文用户。

你愿意试一试吗?如果你已经尝试过了,欢迎在下面的评论中告诉我你的体验。


via: https://itsfoss.com/openeuler/

作者:Ankush Das 选题:lujun9972 译者:qianmingtian) 校对:wxy

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

通过为树莓派提供预编译的 Python 包,piwheels 项目为用户节省了大量的时间和精力。

 title=

piwheels 自动为 Python 包索引 PiPi 上的所有项目构建 Python wheels(预编译的 Python包),并使用了树莓派硬件以确保其兼容性。这意味着,当树莓派用户想要使用 pip 安装一个 Python 库时,他们会得到一个现成编译好的版本,并保证可以在树莓派上良好的工作。这使得树莓派用户更容易入门并开始他们的项目。

 title=

当我在 2018 年 10 月写 piwheels:为树莓派提供快速 Python 包安装时,那时 piwheels 项目已经有一年了,并且已经证明了其为树莓派用户节省大量时间和精力。但当这个项目进入第二年时,它为树莓派提供了预编译的 Python 包做了更多工作。

 title=

它是怎么工作的

树莓派的主要操作系统 Raspbian 预配置使用了 piwheels,所以用户不需要做任何特殊的事情就可以使用 piwheels。

配置文件(在 /etc/pip.conf)告诉 pip 使用 piwheels.org附加索引,因此 pip 会首先查找 PyPI,然后查找 piwheels。piwheels 的网站被托管在一个树莓派 3 上,该项目构建的所有 wheels 都托管在该树莓派上。它每月提供 100 多万个软件包——这对于一台 35 美元的电脑来说还真不赖!

除了提供网站服务的主树莓派以外,piwheels 项目还使用其他七个树莓派来构建软件包。其中一些运行 Raspbian Jessie,为 Python 3.4 构建 wheels;另外一些运行 Raspbian Stretch 为 Python 3.5 构建;还有一些运行 Raspbian Buster 为 Python 3.7 构建。该项目通常不支持其他 Python 版本。还有一个“合适的服务器”——一台运行 Postgres 数据库的虚拟机。由于树莓派 3 只有 1GB 的内存,所以(非常大的)数据库不能在其上很好地运行,所以我们把它移到了虚拟机上。带 4GB 内存的树莓派 4 可能是合用的,所以我们将来可能会用到它。

这些树莓派都在“派云”中的 IPv6 网络上——这是一项由总部位于剑桥的托管公司 Mythic Beasts 提供的卓越服务。

 title=

下载和统计趋势

每次下载 piwheels 文件时,它都会记录在数据库中。这提供了对什么包最受欢迎以及人们使用什么 Python 版本和操作系统的统计。我们没有太多来自用户代理的信息,但是因为树莓派 1/Zero 的架构显示为 “armv6”,树莓派 2/¾ 显示为 “armv7”,所以我们可以将它们区分开来。

截至 2019 年 12 月中旬,从 piwheels 下载的软件包超过 1400 万个,仅 2019 年就有近 900 万个。

自项目开始以来最受欢迎的 10 个软件包是:

  1. pycparser(821,060 个下载)
  2. PyYAML(366,979 个下载)
  3. numpy(354,531 个下载)
  4. cffi(336,982 个下载)
  5. MarkupSafe(318,878 个下载)
  6. future(282,349 个下载)
  7. aiohttp(277,046 个下载)
  8. cryptography(276,167 个下载)
  9. home-assistant-frontend(266,667 个下载)
  10. multidict(256,185 个下载)

请注意,许多纯 Python 包,如 urllib3,都是作为 PyPI 上的 wheels 提供的;因为这些是跨平台兼容的,所以通常不会从 piwheels 下载,因为 PyPI 优先。

随着时间的推移,我们也看到了使用哪些 Python 版本的趋势。这里显示了 Raspbian Buster 发布时从 3.5 版快速升级到了 Python 3.7:

 title=

你可以在我们的这篇 统计博文 看到更多的统计趋势。

节省的时间

每个包构建都被记录在数据库中,并且每个下载也被存储。交叉引用下载数和构建时间显示了节省了多少时间。一个例子是 numpy —— 最新版本大约需要 11 分钟来构建。

迄今为止,piwheels 项目已经为用户节省了总计超过 165 年的构建时间。按照目前的使用率,piwheels 项目每天可以节省 200 多天。

除了节省构建时间,拥有预编译的 wheels 也意味着人们不必安装各种开发工具来构建包。一些包需要其他 apt 包来访问共享库。弄清楚你需要哪一个可能会很痛苦,所以我们也让这一步变得容易了。首先,我们找到了这个过程,在博客上记录了这个过程。然后,我们将这个逻辑添加到构建过程中,这样当构建一个 wheels 时,它的依赖关系会被自动计算并添加到包的项目页面中:

 title=

piwheels 的下一步是什么?

今年,我们推出了项目页面(例如,numpy),这是一种非常有用的方式,可以让人们以人类可读的方式查找项目信息。它们还使人们更容易报告问题,例如 piwheels 中缺少一个项目,或者他们下载的包有问题。

2020 年初,我们计划对 piwheels 项目进行一些升级,以启用新的 JSON 应用编程接口,这样你就可以自动检查哪些版本可用,查找项目的依赖关系,等等。

下一次 Debian/Raspbian 升级要到 2021 年年中才会发生,所以在那之前我们不会开始为任何新的 Python 版本构建 wheels。

你可以在这个项目的博客上读到更多关于 piwheels 的信息,我将在 2020 年初在那里发表一篇 2019 年的综述。你也可以在推特上关注 @piwheels,在那里你可以看到每日和每月的统计数据以及任何达到的里程碑。

当然,piwheels 是一个开源项目,你可以在 GitHub 上看到整个项目源代码。


via: https://opensource.com/article/20/1/piwheels

作者:Ben Nuttall 选题:lujun9972 译者:heguangzhi 校对:wxy

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

拥有一个很萌的头像的 DIYgod 是一个当前任职于 B 站的年轻开发者,他是在 GitHub 拥有一万星标(本文发表时)的 RSSHub 的创始人,也是 APlayer(4.4k 星标)、DPlayer (8k 星标)等开源项目的创始人。在我所认识的开源开发者当中,DIYgod 是一个很优秀的开源社区贡献者,所以今天我们邀请到了 DIYgod 来参加我们的穿山甲专访。

DIYgod 很有 B 站风格的头像


问:您可以先自我介绍一下么?

DIYgod:Hi,大家好,我是 DIYgod,一名爱好开源的 JavaScript 开发者 —— 写代码是热爱,写到世界充满爱。我的梦想是成为一名可以养活自己的自由职业者

问:目前你已经是自由职业状态,还是说仍然在企业工作呢?

DIYgod:现在在哔哩哔哩(B 站)做前端。

问:能否向读者介绍一下你的开源项目 RSSHub 呢?

DIYgod:RSSHub 是一个用来生成 RSS 订阅源的工具,它可以给任何奇奇怪怪的内容生成 RSS 订阅源,实现万物皆可 RSS。RSSHub 正在借助于开源社区的力量快速发展中,目前已适配了数百家网站的上千项内容。使用时只需要简单的编辑下地址即可获得需要的订阅源。

问:对于目前的很多人来说,RSS 已经鲜为人知,现在很多新生代的互联网用户已经不再使用 RSS,他们可能更习惯于使用信息流应用。你当初因为什么原因选择做了 RSSHub ,是有什么契机么?

DIYgod:我本身是一个 RSS 重度用户,之前关注了几个有意思的微博博主,但经常打开微博去刷更新太麻烦了,就写了个简单的 Node.JS 脚本生成 RSS 加到自己的订阅里,后来又写了哔哩哔哩的 RSS、网易云音乐的 RSS,越来越多,最后就干脆把它们合成了一个项目,取名 RSSHub。

问:说起来,你其实是将微博的信息流推送的形式,借助于自己的编程能力,转化为 RSS 的被动拉取的形态。那对于 RSS 和 现在的信息流应用,你有什么看法么?

DIYgod:信息流应用基本都有自己的一套推荐算法,受益于此,可以获得更轻松愉快的阅读体验;但另一方面来看,用户丧失了内容选择的主动权,看到的不一定是自己真正想看的,稍不注意也会消耗自己大量的时间,阅读效率更低。RSS 可以选择自己真正想看的内容,阅读效率更高,但这也导致使用门槛比信息流应用高了很多。信息流应用的另一个问题是它无法集中地收取信息,时不时地打开微博、Twitter、YouTube、哔哩哔哩,去翻看我关注的人有没有更新,实在是一件痛苦的事。最后是 RSS 可以做到没有遗漏地收取信息,而信息流应用很容易遗漏。

问:可以看出来,你是一个重度的 RSS 用户,不仅仅是用户,更是为 RSS 生态添砖加瓦。你自己平时都是怎么样应用 RSS 的呢?

DIYgod:大家都知道 RSS 是一种用来做消息聚合的格式规范,有着更高的阅读效率、更好的阅读体验、可以掌握主动权等等优点,但它的用途一直被大家低估,除了最常用的在 RSS 阅读器里使用,还可以通过 BT 客户端实现自动的 BT 下载用来追美剧或动漫、通过播客客户端订阅和收听播客、通过 IFTTT 与各种各样的东西联动等等。

我平时除了常规的使用 RSS 阅读器订阅,还会在群晖的 BT 客户端里订阅美剧的 RSS,这样美剧更新后 BT 客户端就会自动把最新一集下载到硬盘里,晚上下班回家打开电视就可以直接看了。

此外是自动下载我的 B 站投币视频,整个流程是“投币操作 -> RSS 更新 -> IFTTT 触发 Webhook -> 服务器下载”,实现方法在我的博客里有介绍:https://diygod.me/download-webhook

然后还有我的 Telegram 频道: https://t.me/awesomeDIYgod ,它通过 IFTTT 监听了很多 RSS 更新,有 DIYgod 的博客更新、DIYgod 的 PSN 奖杯、DIYgod 的 Twitter 更新、DIYgod 喜欢的网易云音乐、DIYgod 的 bilibili 投币视频等等,几乎包括了我的全部动态。

问:说起来集中在一个地方收取信息,你怎么看曾经的“即刻”应用,即刻应用也可以关注特定的人、微博之类的,在一个地方查看所有的信息。

DIYgod:我非常喜欢“即刻”,在“即刻”倒闭之前也一直在使用它,早期很像一个 RSS 阅读器,甚至真的可以订阅 RSS,但后来这些功能越来越淡化直至去掉了,取而代之的都是 UGC 内容了。

问: RSSHub 里有非常多的“路由”,包括社交媒体、新媒体、论坛等。除了我们一般意义上的信息流转化 RSS 以外,RSSHub 还有非常多有意思的 Feed,比如高校教务处通知的 RSS Feed,就你自己而言,你最喜欢 RSSHub 中的哪一个条目?

DIYgod:那当然是 “RSSHub 有新路由啦”。

问:那么,除了 RSSHub,你还会使用哪些 RSS 生态中的工具呢?

DIYgod:除了 RSS 阅读器和支持 RSS 的 BT 客户端,还有 IFTTT 和 Tiny Tiny RSS 及其插件。

问:RSSHub 是一个基于 MIT 许可证开源的项目,你自己当初是怎么走上开源的“不归路”的呢?

DIYgod:刚学前端的时候,为了练手写了几个很简单的小项目,然后把它们传到了 GitHub 上想着找工作时候可以用到,没想到真的有人会去用自己写的东西,收获了第一个 提案 issue ,第一个星标,第一个拉取请求,就这样发现了其中的乐趣,打开了新世界的大门。

问:RSSHub 是中国的个人开发者开源的项目中首屈一指的项目,获得了非常多的星标 ,也有很多贡献者,对于开源,你有什么想要告诉大家的么?或者说,在你看来,想要做好开源,最重要的是什么?

DIYgod:希望大家没尝试过的都尝试一下,收获第一个星标,第一个拉取请求的快乐无法描述,不仅可以帮到别人,也可以快速地提升自己;最重要的是兴趣,开源项目需要投入大量的业余时间去更新维护,用爱发电,然后是持之以恒,挖一个坑很容易,但后续的更新维护也很重要。

问:RSSHub 项目的社区化非常的高,有 300 多位贡献者,很多社区开源项目都难以获得这么多的社区贡献者,你是如何让这些来自全国的开发者相互协同的呢?

DIYgod:我觉得这更多的是跟项目性质有关系,RSSHub 是一个需要大量人力来适配各种网站的规则的项目,可以参与的地方很多,参与门槛不高,又能获得非常积极的反馈。

  1. 可以参与的地方很多:每个 RSS 路由都对应一个脚本,可以让很多人参与进来。
  2. 参与门槛不高:脚本的编写难度不高,RSSHub 还有非常详细的开发文档,进一步降低了开发门槛,然后采用了统一代码规范,严格的自动化测试来避免出现问题。
  3. 积极的反馈:可以很方便地自己动手制作自己想要的 RSS 源并分享给很多人用,同时在文档对应的 RSS 源也标记了路由作者的名字。

问:现在有一个机会,你可以推荐一个东西给大家,你会推荐什么?可以是软件、可以是网络服务、可以是硬件,Everything is Ok.

DIYgod:PS4 和 Switch — “No Game No Life”;跟 RSS 相关的再推荐一下“快知 APP”。

问:大家在哪里可以找到你呢?

DIYgod:

  • GitHub:@DIYgod;
  • Twitter:@DIYgod;
  • 博客:diygod.me;
  • Telegram频道:@awesomeDIYgod

关于穿山甲专访

“穿山甲专访”栏目是 Linux 中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列采访,将为大家介绍中国开源领域中一些积极推动开源,谙熟开源思想的技术人,并辨析其思考、挖掘其动因,揭示其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。

取名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍稀保护动物,宣传公益。

如果你希望加入到穿山甲计划专访中,请访问 https://jinshuju.net/f/9X8gvG ,填写报名表。