深度阅读

文章详情

围绕重点内容进行完整呈现,帮助读者获得更顺畅、更聚焦的阅读体验。

号称开源的Linux系统,为什么你连自己的电视都改不了?
Article View

号称开源的Linux系统,为什么你连自己的电视都改不了?

抢庄牛牛官方网站|棋牌游戏与经典牌局 439 阅读 约 5.5 分钟

买下一台设备,装上系统,却发现自己动不了它——这在Linux世界里并不罕见。不少商业产品用着Linux内核,却把源码访问、硬件引导层层锁死,用户拿到的控制权远不如"开源"二字暗示的那么多。 判断一套系统配不配叫开源,标准本身就不止一套。自由软件基金会(FSF)用四项软件自由和GNU自由系统发行版指南划出严格红线,Trisquel、Guix System、Parabola这类发行版为了达标,干脆把专有软件排除在外。Ubuntu、Debian、Fedora走的是更宽松的路线,在开源组件之外也支持或提供专有固件与软件。 开源促进会(OSI)看的是许可证层面的要求:自由再分发、能拿到源码、允许修改和分发衍生作品。按这个标准,Ubuntu、Debian、Fedora的开源底子相当厚。Debian的社会契约和自由软件指南也为主档案库里的软件立了明确原则。 但许可证只讲了故事的一半。真正该追问的是:你能拿到源码吗?能自己构建系统吗?能把自己编译的版本装回它原本设计的硬件上吗? 红帽把"重建它卖的东西"变难了 红帽企业Linux(RHEL)里跑着大量GPL及其他开源许可证下的软件,公司多年来对开源项目的贡献也不少。转折发生在2023年:红帽宣布CentOS Stream成为RHEL相关源码的唯一公开仓库。此前人们可以通过公开的CentOS基础设施获取RHEL源码包,调整之后,客户一般得走红帽的客户渠道才能拿到对应源码。 订阅条款限制订阅内容的再分发,这让用红帽源码包发布兼容发行版的努力变得复杂。红帽的说法是订阅模式合理,CentOS Stream是更好的协作开发场所。批评者的说法是另一套:红帽从可访问源码的生态里获益,然后把独立项目复现其商业产品的门槛抬高了。 Rocky Linux和AlmaLinux都被迫重新设计构建流程,才继续提供企业级Linux兼容性。红帽并没有把RHEL直接变成专有软件,开源组件的许可证依然有效,但外部人要拿到同样的源码包、绕开商业条款再分发一套兼容系统,确实更难了。 开源软件的运转前提,是人能拿走代码、在其上构建、并按适用许可证分享成果。对一个靠开源软件成功的产品来说,把这个过程变难,动摇的是它赖以生长的协作生态。 项目开源,不等于你买的那台电视开源 Tizen是货真价实的开源操作系统项目,托管在Linux基金会下,有公开仓库、开发者工具、文档,支持包括电视在内的多类设备。三星也为想给自家电视开发应用的人提供了资源。 可你买回一台跑Tizen的三星电视,拿到的自由和项目本身暗示的不是一回事。商业产品里塞进了三星专有软件、专有服务、硬件适配和固件,这些东西未必以完整、可复现的构建形式提供。开发者能用受支持的工具和API做应用,但这离"重建整套操作系统并装进电视"差得很远。用户不能假设公开的Tizen源码仓库里,包含替换自己那台型号固件所需的全部内容。 让人别扭的地方在于,开源工作是真的。Tizen不是给Linux内核换个名字,背后有实打实的项目。但买一台Tizen电视,并不等于获得把该项目拿来重建整个软件栈、替换三星版本的自由。 Fire OS是另一个版本的故事。它由Android开源项目(AOSP)衍生而来,跑在Linux内核上,亚马逊会公布适用开源许可证覆盖的组件源码,包括内核。AOSP大量代码采用Apache 2.0许可证,一般允许企业修改和再分发而不公开自己的专有改动,亚马逊正是用这份弹性搭起了自己的生态。 Fire OS的启动器与界面、亚马逊应用商店、Alexa集成以及各类系统服务都是专有的。许多Fire设备还锁了引导程序,普通用户想把自己构建的系统刷进去,难度极高甚至不可能。按AOSP的宽松许可证,亚马逊通常没有义务公开这些修改,这不构成许可证违规,但意味着公司可以一边享用开放平台,一边把自家产品的大部分保持封闭。 亚马逊并没有直说Fire OS是开源的。说它"构建于开源软件之上"就够了,让AOSP的可信度替营销背书,成品控制权则完整留在自己手里。措辞在技术上或许准确,却容易让顾客把Fire OS和开源的自由联系起来,而实际并不提供这些自由。 想验证一句开源宣称,可以问三个问题:谁能拿到源码?如果答案只限付费客户或愿意接受限制性条款的人,门槛已经立起来了。拿到源码能做什么?一个埋在专有服务、封闭界面和厂商控制组件之下的开源内核,不会让整套操作系统变成开源。以及最实际的一条——你能在自己花钱买的硬件上跑自己的构建吗?引导程序锁着、固件拿不到、厂商不给任何替换软件的可行路径,公布源码也就到此为止。 商业软件使用开源组件本身没有问题,专有代码也不自动等于许可证违规。问题出在借开源的名声卖产品,却把开源本该带来的自由挡在用户手外。 特别

about image

觉得有用?分享给朋友

让更多人看到这篇内容。

Recommended

推荐阅读