Pi Store
更多

奏折:近期值得关注的操作系统资讯

2023/06/13 19:58

红帽说它变不出来办公软件了,微软变出了一堆新功能预览,以及其他操作系统资讯


红帽说它变不出来办公软件了

@PlatyHsu假设你是一个软件开发者,产品主要面向 Windows 和 macOS 这样的主流平台上的主流用户。那么,当开发完成后,你一般通过这样的流程将软件提供给用户:

  1. 用相应平台厂商提供的工具(SDK)把代码编译成电脑能看懂的二进制文件;
  2. 如果要上架应用商店,就根据相应商店的流程完成代码签名、上传和审核;如果不准备上架,就按所在平台惯例打包成 EXE 安装文件、DMG 镜像等格式,然后放在自己服务器上;
  3. 用户从应用商店或者你的网站获取软件。

之所以在前面限定「主流平台和用户」,是因为这只是一种可能的流程。另外一种历史更悠久、在开源软件领域使用更广泛的流程是这样的:

  1. 你把代码上传到 GitHub,或者自建的 git 服务器,或者更古色古香的 FTP 服务器;然后,

……没有然后了,你转身继续去写你的代码,深藏功与名。

换句话说,在这种流程中,你只操心软件的开发(development)问题,对于发行(distribution)几乎不参与。

你可能会有点小不安,这么佛系,大家不会装怎么办。好吧,如果你心情不错,确实还有一些可以做的事。根据惯例,你在发布源代码的时候可以留一个 README,在里面介绍如何设置安装、运行和开发环境;还可以留一个 makefile,其内容本质上就是适用于不同平台的编译和安装命令,用户拿到以后就可以通过 make 命令安装。作为开发者,这就算是仁至义尽了。

你可能又会有点小不安,怎么可能有那么多用户有闲情逸致去自己从代码编译。别担心,有人会帮你做剩下的事。比如说,某个操作系统的开发团队看到了你的软件,觉得哎呦不错哦,值得让他们的用户也能一键用上。于是,他们会:

  1. 下载你的源代码,如果看哪里不爽,可能根据项目需要和自己的偏好做些修改(称为「补丁」[patch]);
  2. 编译成适用于一些常见平台的二进制文件;
  3. 和安装脚本、文档、配置文件放在一起,打包成 deb、rpm 这样的格式;然后
  4. 放在他们系统官方的软件仓库(repo[sitory])中,让用户可以用 apt、dnf 等包管理工具一键安装。

事实上,凡是基于 Linux 的操作系统,从内核,到基础功能组件,再到图形应用程序,都是通过这样的流程从不同的开发者(「上游」)那里获取的软件包;制作系统的过程就可以看作一系列「发行」行为的集合——这也解释了为什么「发行 [版]」一词会被借用来指代 Linux 操作系统。

为什么要这样折腾?因为:

  1. 开发软件的人未必最适合分发自己的软件。一次合格的分发需要针对不同软硬件环境做测试,这是很多开发者没有精力承担的。对于商业平台,这个锅很大程度上被系统厂商接过去了:苹果执着于控制硬件参数的相对统一,而微软则竭力维护着 Windows 变态的向下兼容性。但在 Linux 世界,没有人知道网线另一头是树莓派、虚拟机还是别的什么奇形怪状的东西。因此,更高效的做法就是把测试的责任让渡给下游的系统维护者和用户:如果你想试试,那就……自己试试。
  2. 从开发者那里直接获取软件也未必最符合用户的利益。从计算机安全的角度看,「信任」是有成本的,应该省着用。当用户选择了一个操作系统,也就意味着选择信任这个发行版的开发团队——包括信任他们对于随系统分发的第三方软件的判断和处理。如果绕过发行版提供方,直接从软件开发者那里下载,也就意味着将信任模型延伸到了更多第三方,需要考虑自己是否有能力和意愿承担相应增加的成本和风险。对于很多用户,特别是有稳定、安全和合规要求的机构用户而言,这个问题的答案一般是否定的。

好了,现在再假定你是一个发行版系统的维护者:你觉得软件仓库里收录的软件是多一点好还是少一点好?

当然,答案是和稀泥,不多不少才最好。收录到官方软件仓库不仅仅是一个技术上的流程,也是一种保证和承诺:这些软件经过测试,是安全的,互相不会打架。收录的软件多,用户的选择固然会更多,但你要背的锅也就更多。特别是对于 Red Hat Enterprise Linux (RHEL) 这种商业版系统,针对收录软件的安装、诊断、漏洞修复,也是白纸黑字写在订阅条款里的服务范围。如果在发行的时候牛吹得太大,以后跪着也要把坑填完。

于是在今年的儿童节这天,红帽的工程师宣布要甩掉一点点包袱,把一个软件变成「孤儿」(orphaned):

如你们可能已经看到的,LibreOffice 的各个 RPM 包最近已处于「无人维护」(orphaned)状态。[…] 我们正在调整 RHEL for Workstations 的项目优先级,关注 Wayland 的不足之处,搭建 HDR 支持,以及为看重色彩的工作流搭建所需功能。[…] 为此,我们要做出的权衡是放手此前在桌面应用方面的工作,在未来版本的 RHEL 中不再将 LibreOffice 作为组件提供。这也会限制我们在 Fedora 未来版本维护该软件的能力。[…] 工程师会向上游贡献一些修复代码,以便 LibreOffice 能在 Flatpak 格式中更好地运行;我们相信这也是大多数人在长远中使用 LibreOffice 的方式。

对开源桌面应用生态有一些了解就会知道,LibreOffice 是当今 Linux 世界最主流的桌面办公套件。虽然这最初是一个从 OpenOffice 分叉出来的项目,但在 OpenOffice 已经事实上接近无人维护的状态下,LibreOffice 基本就是开源桌面办公套件的唯一选择。在新闻中,也能不时看到世界各地一些城市或组织选择全面转向开源软件办公;LibreOffice 几乎必然会在这些新闻中被点名提到,作为恶霸 Microsoft Office 的替代品。

作为最重要的商业化开源系统提供商,红帽却反而决定停止维护这个软件开源运动的扛旗手,引起了不小反响也是可以理解的。

但之所以我们在开头要做那么多铺垫,目的就是为了帮助理解清楚情况:红帽并不是 LibreOffice 的开发者。在过去,它只是按照我们上面介绍的打包流程,将 LibreOffice 收录到 RHEL 的软件仓库中,提供给 RHEL 的用户安装。所谓「红帽停止维护 LibreOffice」,指的仅仅是红帽以后不再打算继续为 RHEL 打包 LibreOffice。

因此,这个消息的影响,其实并没有很多不准确的转述所反映得那么大:

  1. LibreOffice 还是活得好好的,而且前两天还在继续发新版
  2. RHEL 和 Fedora 以外其他发行版的用户还是可以愉快地(只要其他发行版不学红帽的榜样)。同时,已经有 Fedora 社区的勇士表示愿意站出来当接盘侠,「至少保住灯别灭」。(尽管有人质疑以 LibreOffice 目前停更依赖包的规模,承诺一人承担有点吹牛。)
  3. RHEL 用户也不是以后就用不上 LibreOffice 了,如公告所说,未来还是可以通过 Flatpak 这样的「打包」技术安装。1尽管面临一些老用户的反对,但从传统的包管理转向这些新的打包技术,似乎是发行版维护者的共同选择。原因很简单:即使是像红帽这样的大型组织,也很难坚持在软硬件环境不断多元化、持续高速变化的背景下,坚持维护复杂的桌面应用程序,特别是 LibreOffice 这种「拖着 38 年间一大堆令人费解、古老腐烂的 C++ 和 Java 代码」(Hacker News 用户评论)的巨物。

更何况……可能 RHEL 的用户群也真的不会太在乎有没有 Linux 办公套件可以用?无论你喜不喜欢这种趋势,如今大多数文书办公需求已经越发向在线服务转移了,比起那些放在菜单深处十几年都想不到用的格式选项,多人协作的稳定性、文档部件的多样性才是「现代」办公套件的竞争点;这也是为什么 LibreOffice 背后的公司要靠 SaaS 挣钱。

另一方面,如果你真的特别依赖传统的 Office 格式,又真的不愿意主力用 Windows 系统,那么你最好的选择可能是通过虚拟机或者 WINE 来跑一个真正的 Office。作为一个在每天抱着 Word 出生入死的行业工作过两年的人,以及一个为了写 Word 教程跪着看了几百页 OOXML 格式标准的人,我可以非常诚恳地跟你保证,这个世界上支持 Word 格式的软件分为两种,Windows 版 Word 和其他。

Windows 11 预览体验版各通道亮点更新

加入大量新功能的 Build 23466(Canary 通道)

@广陵止息:微软在 5 月 24 日向 Canary 通道推送了一个包含大量新功能的 Windows 11 测试版,版本号为 Build 23466,该测试版本微软也提供了一个完整的镜像方便用户测试,下面我们就一起来看看这个版本到底添加了哪些新特性。

更完善的备份还原系统

相比于 macOS 上完善的 Time Machine 备份机制,Windows 平台的备份系统一直停留在了「Windows 7 的备份和还原」工具和 Windows 8 的「文件历史」工具上。前者是驱动级别的备份方案,备份时对系统有着较大的性能影响,而还原时也不可以选择具体内容只能相对被动地全部恢复;后者虽是文件级的备份方案,但备份和还原时并不涉及系统和软件的设置,还原文件以后,大概率设置需要全部再设置一次。

备份界面,图源 Windows Insider Blog

在去年,微软给在 Microsoft 应用商店上架的应用添加了一套易于使用的恢复功能,当用户购买了新电脑或者对旧电脑重装后,在设置时微软会提醒用户是否要恢复这些应用程序;而从 Build 23466 开始,微软开始引入了一套额外的备份和恢复功能,除了应用程序本身,程序的设置、程序在开始菜单和任务栏的布局、系统级的认证密钥(如 Wi-Fi 密码等)都可以进行备份,目的地则是 OneDrive。未来设置新电脑时,这些备份后的数据也可以及时在新电脑上还原。

在设置新电脑时的恢复界面,图源 Windows Insider Blog

新的备份还原系统总算补全了 Windows 下一直缺失的迁移系统,是件好事。不过想要备份应用程序和对应数据的数据话有一点额外的要求,也就是程序必须要在 Microsoft 应用商店进行上架(winget 都不包括在内)。这一点其实对于不少 Windows 软件的开发商来说反而是最难的,在 Microsoft 应用商店进行上架就要符合该平台的政策,Microsoft 应用商店进行上架的微信和 QQ 也算是国内为数不多的 win32 转制软件了,至于别的就不能抱太多希望了。

虽然新的备份还原系统看起来是解决了一部分的应用备份还原的痛点,但依然没能此前文件本地备份方面的问题——「没有可靠的清理和查找机制」;就我个人而言我感觉是微软已经不打算解决了,毕竟新的这套应用备份还原机制也是备份到 OneDrive 里,文件备份也应该用 OneDrive 才对。

进一步改进任务栏

其实大家都看得出,Windows 11 中任务栏缺失的不少功能,都是因为微软重构了任务栏以后,这些功能还来不及开发的结果。在这个新版本中,微软又为任务栏的应用程序图标加回了「不组合」的选项,在开启这个开关以后,用户可以在任务栏上查看每个应用程序的窗口和标签页。这个开关位于「设置」-「个性化」-「任务栏」-「任务栏行为」和以前 Windows 10 中的位置一样。

除了任务栏加回「不组合」的选项,新的任务栏还加上了「结束进程」选项,方便用户在不用进入任务管理器的前提下就可以强行退出软件。不过想要启用这功能,就需要前往「设置」-「系统」-「开发者」,并打开「开发者模式」和「结束进程」这两个开关。

会员专属文章,欢迎加入少数派会员。
优质内容
权益周边
会员社群
power+
评论区
全部评论0
成为少数派会员方可评论,立即加入 。若已是少数派会员,点击登录
还没有评论,来发表第一个评论吧
全部评论
还没有评论,来发表第一个评论吧
成为少数派会员方可评论,立即加入 。若已是少数派会员,点击登录
会员新功能
内容侧边栏
点击这里拉开侧边栏,即可查看会员内容列表,快速切换内容。