2024年1月

Gentoo 为硬件速度慢的用户准备了一份年终大礼。

如果你不觉得这有什么大不了,那就说明你不了解 Gentoo。

Debian 有 deb 软件包,Fedora 有 RPM 软件包。甚至 Arch Linux 也提供了通过 Pacman 命令安装的二进制包。基本上,这些发行版从源代码构建这些包并将其提供给你。你可以使用发行版的包管理系统来获取这些二进制文件并将它们安装在你的系统上。

但进入 Gentoo 领域,情况就完全不同了。想要安装任何软件吗? 你必须从源代码编译它。

是的,你没看错。这就是围绕编译和 Gentoo 产生了如此多的表情包的原因。

A blend of Gentoo and dad joke

从源代码编译软件的问题意味着它将需要更多的计算能力。当你编译软件时,你的 CPU 将非常繁忙。

当然,编译一个软件需要一些时间。

Image source: r/linuxmemes

现在你可以在 Gentoo 中“安装”软件包而不是编译它们

Gentoo 的包管理器 Portage 多年来一直支持二进制包。只是没有预编译二进制包的集中仓库。

现在这种情况正在改变,因为 Gentoo 现在提供二进制包供下载和直接安装。

对于大多数架构,它将仅限于核心系统和每周更新。然而,对于 amd64 和 arm64,有一个为 LibreOffice、Docker、Plasma、GNOME 等流行软件提供二进制文件的巨大仓库。

这对于使用低端硬件或不希望一直手动编译的 Gentoo 用户来说非常方便。

我知道你对在 Gentoo 中使用二进制包有很多疑问。查看 Gentoo 的官方公告,其中包含详细内容。

基于源代码的安装不会消失

先别生气,我的 Gentoo 伙计!你仍然可以享受从源代码编译的乐趣。这个选项不会消失。你仍然可以像以前一样享受编译的乐趣。二进制软件包是可选的。它们不会强迫你使用。

编译每一个包有其好处。软件针对其运行的系统进行了优化。这就是 Gentoo 用户所夸耀的性能提升。

由于系统资源有限,低端计算机需要更长的编译时间,但它也可以通过为机器构建每个软件来获得性能优化。如果你问我的话,这有点像第 22 条军规的情况。

你用 Gentoo 吗?

我坚信这不仅会为现有的 Gentoo 用户群带来便利,而且还将有助于扩大其用户群。毕竟,一个发行版用户在安装 Arch 之后会做什么呢?

我在这里的新闻报道中使用了很多表情包,因为现在是快乐的季节 ☃️

也许你可以利用寒假安装(但不编译)Gentoo ?

享受节日和假期!

(题图:DA/389d8213-29fd-4149-b591-45e6cc9b0bb0)


via: https://news.itsfoss.com/gentoo-binary-packages/

作者:Abhishek 选题:lujun9972 译者:geekpi 校对:wxy

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

1 流量分析显示,6G 标准该准备了

尽管 2017 年就发布了第一套完整的 5G 标准,但时至今日,5G 的部署仍处于相对早期阶段,全球许多运营商仍在忙于推广 5G。5G 被吹捧为带来的不仅仅是下载速度的巨大转变,还有望实现扩展现实(XR)等一系列新应用,并开创互联设备的新时代。但很多人都认为 5G 并没有达到最初对该技术的炒作。不过,3GPP 标准机构可能会在 2024 年开始 6G 的早期工作。因为根据研究,未来十年移动通信量将增长 10 倍甚至 20 倍。流量分析表明,5G 将在这个十年末达到能力极限,无法应对流量的增长。

(插图:DA/6fa2cb5e-eaff-4c07-8823-9749c524af2f)

消息来源:The Register
老王点评:6G 估计会是又一场标准之战。

2 最早的米老鼠形象终于进入公共领域

美国版权法规定,卡通人物的版权可以保留 95 年,因此,2024 年 1 月 1 日,包括米奇和米妮最早的电影在内的许多电影终于进入了公有领域。1928 年的《 威利号汽船 Steamboat Willie 》是一部短片,米奇和米妮在片中没有说话,这部短片被广泛认为是改变迪斯尼命运和创造电影史的重要时刻。现在任何人都可以使用这些版本了,无需许可或费用。但迪斯尼警告说,更现代版本的米奇仍受版权保护。

(插图:DA/c78e046b-9e96-491b-b2c1-c1b225f08c58)

消息来源:BBC
老王点评:这可真不容易。

3 NASA 因运送遗骸到月球上而被原住民部落叫停发射计划

纳瓦霍部落首领 布乌·尼格伦 Buu Nygren 说,他最近得知美国国家航空航天局(NASA)1 月 8 日将发射搭载 “百灵鸟一号” 任务的 “火神半人马座”,将携带一家以向月球运送人类火化遗骸提供纪念服务而闻名的公司的载荷。尼格伦指出,月球是众多土著文化的圣地,在月球上存放人类遗骸 “无异于亵渎”。他要求 NASA 推迟原定的月球发射计划。此前,前地质学家和行星科学家 尤金·舒梅克 Eugene Shoemaker 的骨灰于 1998 年被送上月球后,NASA 曾遭到抨击。NASA 后来表示道歉,并承诺今后在批准任何类似任务之前,都将与各部落进行协商。

(插图:DA/70afc641-02f2-4996-9984-5786955abf3e)

消息来源:KNAU
老王点评:对于宗教信仰我不予置评,但是就这么往月球上丢下骨灰总是不妥的。

在本系列的第五篇文章中,我们将继续介绍概率和统计中的概念。

在本系列的 前一篇文章 中,我们首先介绍了使用 TensorFlow。它是一个非常强大的开发人工智能和机器学习应用程序的库。然后我们讨论了概率论的相关知识,为我们后面的讨论打下基础。在本系列的第五篇文章中,我们将继续介绍概率和统计中的概念。

在本文中我将首先介绍 Anaconda,一个用于科学计算的 Python 发行版。它对于开发人工智能、机器学习和数据科学的程序特别有用。稍后我们将介绍一个名为 Theano 的 Python 库。但在此之前,让我们下讨论一下人工智能的未来。

在回顾和修订之前的文章时,我发觉我偶尔对人工智能前景的怀疑语气和在一些话题上毫不留情的诚实态度可能在无意中使部分读者产生了消极情绪。

这促使我开始从金融角度研究人工智能和机器学习。我想确定涉足人工智能市场的公司类型,是否有重量级的公司大力参与其中?还是只有一些初创公司在努力推动?这些公司未来会向人工智能市场投入多少资金?是几百万美元,几十亿美元还是几万亿美元?

我通过于最近知名报纸上的的预测和数据来理解基于人工智能的经济发展背后的复杂动态性。2020 年《福布斯》上的一篇文章就预测 2020 年企业在人工智能上投入的投入将达到 500 亿美元的规模。这是一笔巨大的投资。《财富》杂志上发表的一篇文章称,风险投资者正将部分关注力从人工智能转移到 Web3 和 去中心化金融 decentralised finance (DeFi)等更新潮的领域上。但《华尔街日报》在 2022 年自信地预测,“大型科技公司正在花费数十亿美元进行人工智能研究。投资者应该密切关注。”

印度《商业标准报》在 2022 年报道称,87% 的印度公司将在未来 3 年将人工智能支出提高 10%。总的来说,人工智能的未来看起来是非常安全和光明的。 令人惊讶的是,除了亚马逊、Meta(Facebook 的母公司)、Alphabet(谷歌的母公司)、微软、IBM 等顶级科技巨头在投资人工智能外,壳牌、强生、联合利华、沃尔玛等非 IT 科技类公司也在大举投资人工智能。

很明显众多世界级大公司都认为人工智能将在不久的将来发挥重要作用。但是未来的变化和新趋势是什么呢?我通过新闻文章和采访找到一些答案。在人工智能未来趋势的背景下,经常提到的术语包括 负责任的人工智能 Responsible AI 、量子人工智能、人工智能物联网、人工智能和伦理、自动机器学习等。我相信这些都是需要深入探讨的话题,在上一篇文章中我们已经讨论过人工智能和伦理,在后续的文章中我们将详细讨论一些其它的话题。

Anaconda 入门

现在让我们讨论人工智能的必要技术。Anaconda 是用于科学计算的 Python 和 R 语言的发行版。它极大地简化了包管理过程。从本文开始,我们将在有需要时使用 Anaconda。第一步,让我们安装 Anaconda。访问 安装程序下载页面 下载最新版本的 Anaconda 发行版安装程序。在撰写本文时(2022 年 10 月),64 位处理器上最新的 Anaconda 安装程序是 Anaconda3-2022.05-Linux-x86_64.sh。如果你下载了不同版本的安装程序,将后面命令中的文件名换成你实际下载的安装文件名就行。下载完成后需要检查安装程序的完整性。在安装程序目录中打开一个终端,运行以下命令:

shasum -a 256 Anaconda3-2022.05-Linux-x86_64.sh

终端上会输出哈希值和文件名。我的输出显示是:

a7c0afe862f6ea19a596801fc138bde0463abcbce1b753e8d5c474b506a2db2d Anaconda3-2022.05-Linux-x86_64.sh

然后访问 Anaconda 安装程序哈希值页面,比对下载安装文件的哈希值。如果哈希值匹配,说明下载文件完整无误,否则请重新下载。然后在终端上执行以下命令开始安装:

bash Anaconda3-2022.05-Linux-x86_64.sh

按回车键后,向下滚动查看并接受用户协议。最后,输入 yes 开始安装。出现用户交互提示时,一般直接使用 Anaconda 的默认选项就行。现在 Anaconda 就安装完成了。

默认情况下,Anaconda 会安装 Conda。这是一个包管理器和环境管理系统。Anaconda 发行版会自动安装超过 250 个软件包,并可选择安装超过 7500 个额外的开源软件包。而且使用 Anaconda 安装的任何包或库都可以在 Jupyter Notebook 中使用。在安装新包的过程中, Anaconda 会自动处理它的依赖项的更新。

至此之后我们终于不用再担心安装软件包和库的问题了,可以继续我们的人工智能和机器学习程序的开发。注意,Anaconda 只有一个命令行界面。好在我们的安装项中包括 Anaconda Navigator。这是一个用于 Anaconda 的图形用户界面。在终端上执行命令 anaconda-navigator 运行 Anaconda Navigator(图 1)。我们马上会通过例子看到它的强大功能。

图 1:Anaconda Navigator

Theano 介绍

Theano 是一个用于数学表达式计算的优化编译的 Python 库。在 Anaconda Navigator 中安装Theano 非常容易。打开 Anaconda Navigator 后点击 “ 环境 Environments ” 按钮(图 1 中用红框标记)。在打开的窗口中会显示当前安装的所有软件包的列表。在顶部的下拉列表中选择“ 尚未安装 Not installed ”选项。向下滚动并找到 Theano,然后勾选左侧的复选框。点击窗口右下角的绿色 “ 应用 Apply ” 按钮。Anaconda 会在弹出菜单中显示安装 Theano 的所有依赖项。图 2 是我安装 Theano 时的弹出菜单。可以看到,除了 Theano 之外,还安装了一个新的包,并修改了 8 个包。

想象一下,如果要手动安装 Theano,这将是多么麻烦。有了 Anaconda,我们只需要点几个按钮就行了。只需要等待一会儿,Theano 就安装好了。现在我们可以在 Jupyter Notebook 中使用 Theano 了。

图 2:安装 Theano

我们已经熟悉了用于符号计算的 Python 库 SymPy,但 Theano 将符号计算提升到了一个新的水平。图 3 是一个使用 Theano 的例子。第 1 行代码导入 Theano。第 2 行导入 theano.tensor 并将其命名为 T。我们在介绍 TensorFlow 时已经介绍过 张量 tensor 了。

图 3:使用 Theano 的代码例子

在数学上,可以将张量看作多维数组。张量是 Theano 的关键数据结构之一,它可用于存储和操作标量(数字)、向量(一维数组)、矩阵(二维数组)、张量(多维数组)等。在第 3 行中,从 Theano 导入了 function() 的函数。第 4 行导入名为 pp() 的 Theano 函数,该函数用于格式化打印。第 5 行创建了一个名为 xdouble 类型的标量符号变量。你可能会在理解符号变量这个概念上遇到一些困难。这里你可以把它看作是没有绑定具体值的 double 类型的对象。类似地,第 6 行创建了另一个名为 y 的标量符号变量。第 7 行告诉 Python 解释器,当符号变量 xy 得到值时,将这些值相加并存储在 a 里面。

为了进一步解释符号操作,仔细看第 8 行的输出是 (x+y)。这表明两个数字的实际相加还没有发生。第 9 到 11 行类似地分别定义了符号减法、乘法和除法。你可以自己使用函数 pp() 来查找 bcd 的值。第 12 行非常关键。它使用 Theano 的 function() 函数定义了一个名为 f() 的新函数。 函数 f() 的输入是 xy,输出是 [a b c d]。最后在第 13 行中,给函数 f() 提供了实际值来调用该函数。该操作的输出也显示在图 3 中。我们很容易验证所显示的输出是正确的。

图 4:用 Theano 处理矩阵

下面让我们通过图 4 的代码来看看如何使用 Theano 创建和操作矩阵。需要注意的是,图中我省略了导入代码。如果你要直接运行图 4 的代码,需要自己添加上这几行导入代码(图 3 中的前三行)。第 1 行创建了两个符号矩阵 xy。这里我使用了 复数构造函数 plural constructor imatrices,它可以同时构造多个矩阵。第 2 行到第 4 行分别对符号矩阵 xy 执行符号加法、减法和乘法。这里你可以使用 print(pp(a))print(pp(b))print(pp(c)) 来帮助理解符号操作的性质。第 5 行创建了一个函数 f(),它的输入是两个符号矩阵 xy,输出是 [a b c],它们分别表示符号加法、减法和乘法。最后,在第 6 行中,为函数 f() 提供实际的值来调用该函数。该操作的输出也显示在图 4 中。很容易验证所示的三个输出矩阵是否正确。注意,除了标量和矩阵,张量还提供了向量、行、列类型张量的构造函数。Theano 暂时就介绍到这里了,在讨论概率和统计的进阶话题时我们还会提到它。

再来一点概率论

图 5:算术平均值和标准偏差

现在我们继续讨论概率论和统计。我在上一篇文章中我建议你仔细阅读三篇维基百科文章,然后介绍了正态分布。在我们开始开发人工智能和机器学习程序之前,有必要回顾一些概率论和统计的基本概念。我们首先要介绍的是 算术平均值 arithmetic mean 标准差 standard deviation

算术平均值可以看作是一组数的平均值。标准差可以被认为是一组数的分散程度。如果标准差较小,则表示集合中的元素都接近平均值。相反,如果标准差很大,则表示集合的中的元素分布在较大的范围内。如何使用 Python 计算算术平均值和标准差呢?Python 中有一个名为 statistics 的模块,可用于求平均值和标准差。但专家用户认为这个模块太慢,因此我们选择 NumPy。

图 5 所示的代码打印两个列表 C1C2 的平均值和标准差(我暂时隐藏了两个列表的实际内容)。你能从这些值中看出什么呢?目前它们对你来说只是一些数字而已。现在我告诉你,这些列表分别包含学校 A 和学校 B 的 6 名学生的数学考试成绩(满分 50 分,及格 20 分)。均值告诉我们,两所学校的学生平均成绩都较差,但学校 B 的成绩略好于学校 A。标准差值告诉我们什么呢?学校 B 的巨大的标准差值虽然隐藏在平均值之下,但却清楚地反映了学校 B 的的教学失败。为了进一步加深理解,我将给出两个列表的值,C1 =[20,22,20,22,22,20]C2 =[18,16,17,16,15,48]。这个例子清楚地告诉我们,我们需要更复杂的参数来处理问题的复杂性。概率和统计将提供更复杂的模型来描述复杂和混乱的数据。

随机数生成是概率论的重要组成部分。但实际上我们只能生成伪随机数。伪随机数序列具有和真随机数序列近似的性质。在图 6 中我们介绍了几个生成伪随机数的函数。第 1 行导入 Python 的 random 包。第 2 行代码生成两个随机数,并将它们存储在名为 new_list 的列表中。其中函数 random.random() 生成随机数,代码 new_list = [random.random() for i in range(2)] 使用了 Python 的 列表推导 list comprehension 语法。第 3 行将此列表打印输出。注意,每次执行代码打印出的两个随机数会变化,并且连续两次打印出相同数字的概率理论上为 0。图 6 的第二个代码单元中使用了 random.choice() 函数。这个函数从给定的选项中等概率地选择数据。代码片 random.choice(["Heads", "Tails"]) 将等概率地在“Heads”和“Tails”之间选择。注意,该行代码也使用了列表推导,它会连续执行 3 次选择操作。从图 6 的输出可以看到,三次都选中了“Tails”。

图 6:伪随机数生成

现在,我们用一个简单的例子来说明概率论中著名的 大数定理 xxx 。大数定理表明从大量试验中获得的结果的平均值应该接近期望值,并且随着试验次数的增加这个平均值会越来越接近期望值。我们都知道,投掷一个均匀的骰子得到数字 6 的概率是 1/6。我们用图 7 中的 Python 代码来模拟这个实验。第 1 行导入 Python 的 random 包。第 2 行设置重复试验的次数为 1000。第 3 行将计数器 ct 初始化为 0。第 4 行是一个循环,它将迭代 1000 次。第 5 行的 random.randint(1, 6) 随机生成 1 到 6 之间的整数(包括 1 和 6)。然后检查生成的数字是否等于 6;如果是,则转到第 7 行,将计数器 ct 增加 1。循环迭代 1000 次后,第 8 行打印数字 6 出现的次数与总试验次数之间的比例。图 7 显示该比例为 0.179,略高于期望值 1/6 = 0.1666…。这与期望值的差异还是比较大的。将第 2 行中 n 的值设置为 10000,再次运行代码并观察打印的输出。很可能你会得到一个更接近期望值的数字(它也可能是一个小于期望值的数字)。不断增加第 2 行中 n 的值,你将看到输出越来越接近期望值。

图 7:大数定理

虽然大数定理的描述朴实简单,但如果你了解到哪些数学家证明了大数定理或改进了原有的证明,你一定会大吃一惊的。他们包括卡尔达诺、雅各布·伯努利、丹尼尔·伯努利、泊松、切比雪夫、马尔科夫、博雷尔、坎特利、科尔莫戈罗夫、钦钦等。这些都是各自领域的数学巨匠。

目前我们还没有涵盖概率的随机变量、概率分布等主题,它们对开发人工智能和机器学习程序是必不可少的。我们对概率和统计的讨论仍处于初级阶段,在下一篇文章中还会加强这些知识。与此同时,我们将重逢两个老朋友,Pandas 和 TensorFlow。另外我们还将介绍一个与 TensorFlow 关系密切的库 Keras。

(题图:DA/ea8d9b6a-5282-41ad-a84f-3e3815e359fb)


via: https://www.opensourceforu.com/2022/12/ai-anaconda-and-more-on-probability/

作者:Deepu Benson 选题:lujun9972 译者:toknow-gh 校对:wxy

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

1 基于源代码的 Gentoo Linux 也将提供二进制

Gentoo Linux 是最著名的基于源代码的 Linux 发行版之一。但最近,Gentoo 称,“为了加快使用慢速硬件的速度,也为了整体方便,我们现在也提供二进制软件包供下载和直接安装!”在他们的镜像服务器中,从 LibreOffice 到 KDE Plasma,从 Gnome 到 Docker,有超过 20 GB 的软件包。Gentoo 将每日更新其 amd64 和 arm64 稳定版软件仓库,用户可以自由混合安装源码包和二进制包。

(插图:DA/f8c25f79-1415-400b-a981-3fdb69980c3b)

消息来源:Gentoo
老王点评:虽然这让最终用户更方便,但是 Gentoo 用户不就是奔着自己编译源代码来的吗?

2 树莓派比 1978 年的 Cray-1 超级计算机快四倍以上

罗伊·隆巴顿 Roy Longbottom 从 1972 年到 2022 年,制作并运行了计算机基准测试和压力测试程序,他被誉为 Whetstone 基准的官方设计权威。在 2019 年,84 岁的隆巴顿受邀成为树莓派预发布的 Alpha 测试团队的志愿成员。本周,已经 87 岁的隆巴顿分享了 Cray-1 超级计算机与家用电脑、手机和平板电脑的 性能比较。1978 年的 Cray-1 超级计算机耗资 700 万美元,重达 10500 磅,功率为 115 千瓦,它是当时世界上速度最快的计算机。而树莓派的成本约为 70 美元,仅重几盎司,使用 5 瓦电源,其速度是 Cray-1 的 4.5 倍以上。

(插图:DA/06516279-2475-4f69-89d5-73edf3c85fed)

消息来源:Slashdot
老王点评:这才仅仅过去几十年,或许十年后的个人设备都拥有现在超算的计算和存储能力。所以,我的观点是,技术的进步其实就是基础设施的进步。

3 AI 将成为你的同事,或者取代你的职位

大型语言模型已经准备从生成合成内容的人工智能聊天机器人,发展成为能够在你的办公桌上对你的电脑执行操作的虚拟 智能体 agent 。新一波智能体初创公司正在打造能够自动处理日常工作的产品。初创公司 Lindy 的 CEO 说,“人们总是担心机器人会抢走人们的工作。我认为是人们抢了机器人的饭碗”。人工智能助手与人类一起工作的想法已经成为主流,微软打造了 Copilot for Microsoft 365,而谷歌则为其工作空间提供了 Duet AI。一些人认为,这意味着人类可以减少工作,追求自己的爱好和兴趣,而更悲观的人则认为,由软件辅助的工人只会被推着生产更多的产品。

(插图:DA/efc77009-ea61-45a3-adf3-d4f16d4993a5)

消息来源:The Register
老王点评:不,人类只需要领着最低基本收入被养着,然后淘汰无用的躯体。

“我们现在的许可证已无法满足需求,” 自由软件的先驱 Bruce Perens 如是说。

Bruce Perens,作为开源运动的创始人之一,已准备好迎接接下来的新阶段:后开源运动。

“我已经写过关于这个话题的论文,试图构建一个许可证原型,” Perens 在与 The Register 网站的独家采访中解释道,“很显然,我需要律师的协助。接下来,我将寻求一些研究资金。”

Perens 提到,开源社区需要解决几个紧迫的问题。

“最首要的一点,我们现在的许可证已无法满足需求,”他表示,“我们已经给了企业太多时间去找到所有的漏洞,因此,我们需要做出些新的改变。当三分之一的付费 Linux 系统在销售时都规避了 GPL 许可证时,很显然 GPL 并没有起到应有的作用。我说的就是 RHEL。”

RHEL 是 红帽企业 Linux Red Hat Enterprise Linux 的缩写,6 月份,这个属于 IBM 的公司 停止 了对 GPL 源代码开放。

Perens 近期刚从中国回来,他在 Bench 2023 大会上做了主题发言。在准备与我们的对话时,他写下了一些关于他的访问以及关于开源软件社区现状的看法。

他脑海中涌现的一件事是关于红帽的问题。

“红帽已经不是那个红帽,而是 IBM,”Perens 在给 The Register 分享的备忘录中写道,“显而易见,他们已经停止了对 CentOS 的分发,而且很长的一段时间里,他们一直在做我认为违反 GPL 的事情,我曾因为另一家企业做同样的事情提起过 诽谤案:他们告诉你,如果你是 RHEL 的客户,你不能公开 RHEL 制作的安全补丁的 GPL 源代码,否则他们将不再允许你成为他们的客户。这些 IBM 的员工坚称,他们仍然在为上游开源项目贡献补丁 —— 而他们实际上并没有这个义务。

“这种状况已经持续了很长时间,只因为红帽公开发行 CentOS(本质上是 RHEL 的无品牌版本),我们才容忍了这一情况。但现在 IBM 不再这么做了。因此,我感觉 IBM 已经从开源社区得到了他们想要的一切,而我们却收到了他们的中指。

“显然,CentOS 对许多企业同样重要,他们正在努力采用 Rocky Linux。我倒是希望他们能切换到一个 Debian 衍生版本,不过这也没什么。而开源这只骆驼背上已经有很多稻草了,会不会有一根压垮它呢?”

另外一根压在开源骆驼背上的沉重稻草,Perens 写道,“是开源完全未能服务于普通人。在大多数情况下,如果他们使用的是开源软件,也是通过如苹果公司的 iOS 或谷歌的安卓这样的专有软件公司的系统,这两者都用开源作为基础设施,但大部分应用程序还是专有的。普通人对于开源一无所知,他们也不知道我们所倡导的自由是他们应该日益关心的问题。其实,现如今,开源已经被用来监视甚至剥削他们。”

正如 Perens 所阐述的,自由软件走过了半个世纪的历程,而开源的首度亮相也已有 30 年的光阴。“难道现在不该是我们审视过去所做所为,并寻求是否能做的更好的时候了吗?当然,同时我们也需要对开源进行保护。开源将一直存在,并提供相同的规则和范式,但接续开源的新模式应当有一个全新的称谓,并且永远不应该假冒为开源。此刻,我暂且称其为‘ 后开源 Post-Open ’。”

他所描述的“后开源”,比开源稍微复杂一些。它将明确企业与开发者的关系,以确保企业为所获得的利益支付合理的费用。对于个人和非营利机构,仍可免费使用,而且只需一个许可证即可。

他设想了一个简单的年度合规程序,让企业可以获得使用“后开源”软件所需的所有权利。企业将会资助开发者,鼓励他们编写非技术专家也能使用的软件。

Perens 指出,看看苹果公司、谷歌和微软等的流行应用,“因为许多软件倾向于以用户为目标,所以他们当然会受到大量的监控,甚至在某些情况下被滥用。所以,开源开始真正为普通人服务的时机已经到来。”

Perens 表示,目前这种情况不常见的原因在于,开源开发者多是为自己和同样精于技术的人群编写代码。他坚信,为了避免这一情况,应支付给开发者报酬,让他们有时间和支持去编写用户友好的应用。

他建议,这笔费用由公司承担,可以采用一种类似度量 GitHub 的软件,据此分配付款给贡献者,这个软件能精确显示出谁为哪个产品做出了多少贡献。他说,Merico 就是提供这样一种软件的公司。

Perens 承认,这需要解决很多阻碍。例如,需要找到一个可以接受的机构来负责度量和分发资金。而且,这种金融结构必须有足够的吸引力,让大量的开发者愿意参与。

他深思道:“而且,所有的这一切必须既足够透明,又具备足够的灵活性,以防止出现许多不同的分叉。因此,我其实也觉得担心,这种设想真的可以实现吗?”

不论这种设想能否成功,Perens 相信,仅仅依靠 GPL 是远远不够的。“GPL 的设计不是作为合同,而是作为一个许可证。 理查德·斯托曼 Richard Stallman 的初衷并不愿意剥夺任何人的权利,他只是想给予大家权利。因此,它不是合同,而是许可证。然而,我们不能再这样了,我们需要具有执行力的合同条款。”

当被问到像 HashiCorpElasticNeo4jMongoDB 这样的公司采用非开源许可证是否代表了一种可行的服务模式,Perens 认为这需要新的思维。

他对像 “ 公共资源条款 Commons Clause ” 这样的许可证非常反感,因为这正是 Neo4j 陷入 法律纠纷 的中心原因之一。

他写道:“为什么公共资源条款会引发问题?首先,涉及到品牌问题。开源许可证有一个‘品牌’,这是对他们所赋予的权利的理解。当然,开源本身也有品牌,即对开源定义中的权利的理解。然而,公共资源条款看似使用的是开源许可证,但实际上并没有提供同样的权利,这样就滥用了该许可证的品牌,以获取利润。

“另一个问题是,公共资源条款被添加到不允许进行添加条款的许可证中,如 Neo4J 上的 AGPL v3。AGPL 和 GPL 的条款都明确禁止增加新条款。因此,当许可人添加公共资源条款时,他们创造了一个自我矛盾的许可证。”

Perens 告诉 The Register:“我们已经在(软件即服务)问题上投入了大量的研究。我记得参加过一个(自由软件基金会)会议,问题就是,‘我们该如何应对谷歌?’ 结果是,那次会议后诞生了 AGPL。”

在云服务公司的环境下,Perens 认为 AGPL 或其他各种非开源许可证没有找准关注的重点。

Perens 说,“像 AGPL 这样的许可证,要求软件以某种方式公开自己的源代码。但我们实际上讨论的是软件的公开演示,而这在版权法下是一种独立的权利,因为它对于戏剧和电影来说是必需的。由此,我们有权利使用这项在版权法下的权利。我认为那些许可证都在尝试着去实现一个目标,由于它们只试图在开源的基础上稍做改动,所以它们只达成了部分目标。要知道,我们已有 30 年的开源历史了,是时候做一些彻底的变革了。”

当被问到现在大家对 AI 的热情时,Perens 表示了他的不满。

他说,“我认为 AI 总是在剽窃。当你训练模型时,你其实是在用其他人的受版权保护的东西来训练。AI 所做的就是混合、匹配,然后输出所输入内容的组合。我们必须考虑这一点,我们该如何补偿那些数据用于训练模型的人们呢?我们应该使用开源软件训练它吗?我不这么认为,AI 还有更多的功能,比如读取人们的网站、读取整个维基百科。但对于这些输入的贡献者,他们并未得到合理的补偿。所以这确实是一个我们需要解决的大问题。”

至于美国试图阻断中国技术的努力是否有效,Perens 表示这些基本上没有效果。

他说,“中国人能做到我们所做的所有事情,只有一两个例外,但也马上就会赶上。”他指出,尽管他们在先进的芯片方面落后,但他们会迎头赶上。(此处有删节)

他也提出,由于美国的出口法律,特别是美国国务院施行的国际武器交易限制(ITAR)和美国商务部监管的出口管理法规(EAR),与中国保持一定程度的友好关系对开源社区也有影响。

Perens 解释道:“目前,空间卫星、数字语音编码器、某些 Kraken RF 项目的应用,还有可能数百个其他的开源项目,都还在受限技术名单之上。然而,由于好几起诉讼的影响,ITAR 和 EAR 都为‘公开的信息’开了一道口子,这并不意味着是‘公域软件’,那是版权的问题。它的含义是‘非商业秘密’,所以它包括开源与公开的研究。

“现在,根据 ITAR 和 EAR,完全公开的项目可以不受限制地运行。不久前, 开源研究院 Open Research Institute 做了一项工作,使这样的项目得到了美国的国务院和商务部的明确批准。因此,目前有可能运行一个开源项目,开发原本可能属于 ‘军用’ 的技术,包括与原本受 ITAR 和 EAR 限制的国家合作。这对于我们保护开源技术和公共研究都很重要。随着美国政客对 3D 打印枪支等事务越来越关心,以及许多人希望更严格地限制与中国等国的技术分享,这项权益总是受到威胁。”

Perens 表示:“我认为,我们有可能与这个国家发生纷争,这是非常可怕的。但如果你看看这些人,他们和今天的我们非常相似。我们真的应该和平共处。”

(题图:DA/b125f972-5005-44c0-8fd2-88526c27b307)


via: https://www.theregister.com/2023/12/27/bruce_perens_post_open/

作者:Thomas Claburn 译者:ChatGPT 校对:wxy

本文介绍如何使用 rpm-ostree 查找要添加到基于 ostree 的系统(例如 Silverblue 和 Kinoite)的应用。

基于 Fedora ostree 的系统的主要优点之一是系统的不可变性。该镜像不仅是只读的,而且是预先构建在 Fedora 服务器上的。因此,更新正在运行的系统会下载更新增量(即仅差异)并修补系统。这使得许多安装在默认情况下都是相同的。

对于大多数人来说,预构建的镜像就足够了,因为通常鼓励用户同时使用 Flatpak 安装应用,使用工具箱进行开发任务。但是,如果特定应用不符合此要求并且用户需要在主机系统上安装应用怎么办?

在这种情况下,可以选择在系统上覆盖软件包,在本地创建一个新的镜像,在标准镜像上添加软件包。

但是,我如何知道我要安装哪个包?搜索功能怎么样?

老方法(toolbox + dnf search)

虽然始终可以通过支持 PackageKit 的软件中心(例如 GNOME “ 软件 Software ” 应用 或 KDE “ 发现 Discover ” 应用)搜索软件包,但通过 CLI 来搜索软件包有点困难。

由于 rpm-ostree 不曾提供搜索命令,因此常见的搜索方式是使用 toolbox enter 进入工具箱并使用 dnf search <搜索词> 进行搜索。这样做的缺点是需要在工具箱中启用相同的仓库才能获得正确的搜索结果。

搜索 neofetch 的示例:

$ toolbox enter
<Note that at this point the toolbox command might request creating a toolbox, which might involve downloading a container image>
⬢[fedora@toolbox ~]$ dnf search neofetch
<snip> 
=== Name Exactly Matched: neofetch ===
neofetch.noarch : CLI system information tool written in Bash
=== Summary Matched: neofetch ===
fastfetch.x86_64 : Like neofetch, but much faster because written in c

新方法(rpm-ostree search)

version 2023.6 开始,rpm-ostree 支持 search 命令,允许用户使用 rpm-ostree 搜索可用的软件包。一个示例命令是:

rpm-ostree search *kernel

要使用搜索命令,请首先确保你使用的是 rpm-ostree 2023.6 或更高版本:

$ rpm-ostree --version
rpm-ostree:
    Version: '2023.8'
    Git: 9a99d0af32640b234318815a256a2d11e35fa64c
    Features:
    - rust
    - compose
    - container
    - fedora-integration

如果满足版本要求,你应该能够运行 rpm-ostree search <搜索词>

这是一个使用 rpm-ostree search 搜索 neofetch 的示例:

$ rpm-ostree search neofetch

===== Name Matched =====
neofetch : CLI system information tool written in Bash

===== Summary Matched =====
fastfetch : Like neofetch, but much faster because written in c

(题图:DA/5d27838e-6068-46a6-9bca-4ec486d65c46)


via: https://fedoramagazine.org/searching-for-packages-with-rpm-ostree-search/

作者:Mateus Rodrigues Costa 选题:lujun9972 译者:geekpi 校对:wxy

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